From a5adba1de0590387abfa554e6b77dc34bbffbdbd Mon Sep 17 00:00:00 2001 From: Jiashuo Li <4003950+jiasli@users.noreply.github.com> Date: Fri, 25 Mar 2022 15:57:12 +0800 Subject: [PATCH 01/70] {CI} Pin `Jinja2` to 3.0.3 (#4572) --- scripts/ci/test_index_ref_doc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ci/test_index_ref_doc.sh b/scripts/ci/test_index_ref_doc.sh index 7b5c5edd291..5aa4815eb05 100755 --- a/scripts/ci/test_index_ref_doc.sh +++ b/scripts/ci/test_index_ref_doc.sh @@ -5,7 +5,7 @@ set -ex echo "Installing azure-cli..." pip install --pre azure-cli --extra-index-url https://azurecliprod.blob.core.windows.net/edge -q -pip install "sphinx==1.7.0" -q +pip install sphinx==1.7.0 Jinja2==3.0.3 echo "Installed." python ./scripts/ci/index_ref_doc.py -v From 2d5b0716133f5e4a96afa497bb2ee88ab231ab03 Mon Sep 17 00:00:00 2001 From: Calvin Date: Fri, 25 Mar 2022 01:14:10 -0700 Subject: [PATCH 02/70] ContainerApp extension (#4441) * Skeleton code * az containerapp env show * List kube/managed environments * Create kube environment, wait doesn't work yet * Update containerapp stubs (check if it is supported now) * Containerapp env delete, polling not working yet * Added polling for create and delete * Use Microsoft.App RP for show, list, delete command * Create containerapp env using Microsoft.App RP * Add optional containerapp env create arguments * Remove old kube environment code, naming fixes * Containerapp create almost done * Done containerapp create, except for --yaml. Need to test * Containerapp show, list * Fix helptext * Containerapp delete * Containerapp update. Needs secrets api to be implemented, and testing * Add scale command * Various validations, small fixes * listSecrets API for updates, autogen log analytics for env * Use space delimiter for secrets and env variables * Verify sub is registered to Microsoft.ContainerRegistration if creating vnet enabled env, remove logs-type parameter * Containerapp create --yaml * Fix updating registry to do create or update * Fix containerapp update command. Add image-name parameter to support multi container updates. Fix updating registries, containers and secrets * started update with --yaml. Need to do create or update for when an attribute is a list of items * use space delimiter for startup_command and args, instead of comma delimiter * Traffic weights * List and show revisions * az containerapp revision restart, activate, deactivate * Add ability for users to clear args/command in az containerapp update * Various fixes, traffic weights fixes * Verify subnet subscription is registered to Microsoft.ContainerServices * GitHub Actions Update (#17) * Added models. Finished transferring Calvin's previous work. * Updated wrong models. * Updated models in custom.py, added githubactionclient. * Updated envelope to be correct. * Small bug fixes. * Updated error handling. Fixed bugs. Initial working state. * Added better error handling. * Added error messages for tokens with inappropriate access rights. * Added back get_acr_cred. * Fixed problems from merge conflict. * Updated names of imports from ._models.py to fix pylance erros. * Removed random imports. Co-authored-by: Haroon Feisal * Remove --location since location must be same as managed env * Add options for flag names: --env-vars and --registry-srever * Empty string to clear env_vars * Default revisions_mode to single * Infer acr credentials if it is acr and credentials are not provided * fix help msg * if image is hosted on acr, and no registry server is supplied, infer the registry server * Added subgroups (Ingress, Registry, Secret) and updated revisions (#18) * Added ingress subgroup. * Added help for ingress. * Fixed ingress traffic help. * Added registry commands. * Updated registry remove util to clear secrets if none remaining. Added warning when updating existing registry. Added registry help. * Changed registry delete to remove. * Added error message if user tries to remove non assigned registry. * Changed registry add back to registry set. * Added secret subgroup commands. * Removed yaml support from secret set. * Changed secret add to secret set. Updated consistency between secret set and secret delete. Added secret help. Require at least one secret passed with --secrets for secret commands. * Changed param name for secret delete from --secrets to --secret-names. Updated help. * Changed registry remove to registry delete. * Fixed bug in registry delete. * Added revision mode set and revision copy. * Modified update_containerapp_yaml to support updating from non-current revision. Authored-by: Haroon Feisal * More p0 fixes (#20) * Remove --registry-login-server, only allow --registry-server * Rename --environment-variables to --env-vars * If no image is supplied, use default quickstart image * Update help text (#21) * Update help text * Update punctuation * master -> main * New 1.0.1 version * Added identity commands + --assign-identity flag to containerapp create (#8) * Added identity show and assign. * Finisheed identity remove. * Added helps, updated identity remove to work with identity names instead of requiring identity resource ids. * Moved helper function to utils. * Require --identities flag when removing identities. * Added message for assign identity with no specified identity. * Added --assign-identity flag to containerapp create. * Moved assign-identity flag to containerapp create. * Fixed small logic error on remove identities when passing duplicate identities. Added warnings for certain edge cases. * Updated param definition for identity assign --identity default. * Added identity examples in help. * Made sure secrets were not removed when assigning identities. Added tolerance for [system] passed with capital letters. * Fixed error from merge. Co-authored-by: Haroon Feisal * Dapr Commands (#23) * Added ingress subgroup. * Added help for ingress. * Fixed ingress traffic help. * Added registry commands. * Updated registry remove util to clear secrets if none remaining. Added warning when updating existing registry. Added registry help. * Changed registry delete to remove. * Added error message if user tries to remove non assigned registry. * Changed registry add back to registry set. * Added secret subgroup commands. * Removed yaml support from secret set. * Changed secret add to secret set. Updated consistency between secret set and secret delete. Added secret help. Require at least one secret passed with --secrets for secret commands. * Changed param name for secret delete from --secrets to --secret-names. Updated help. * Changed registry remove to registry delete. * Fixed bug in registry delete. * Added revision mode set and revision copy. * Added dapr enable and dapr disable. Need to test more. * Added list, show, set dapr component. Added dapr enable, disable. * Added delete dapr delete. * Added helps and param text. * Changed dapr delete to dapr remove to match with dapr set. * Commented out managed identity for whl file. * Uncommented. Co-authored-by: Haroon Feisal * Rename --image-name to --container-name * Remove allowInsecure since it was messing with the api parsing * Fix for env var being empty string * Rename to --dapr-instrumentation-key, only infer ACR credentials if --registry-server is provided * Remove az containerapp scale * Fix delete containerapp errors * Remove ingress, dapr flags from az containerapp update/revision copy * Fix revision list -o table * Help text fix * Bump extension to 0.1.2 * Update managed identities and Dapr help text (#25) * Update managed identities and Dapr help text * Update Dapr flags * Add secretref note * Env var options + various bug fixes (#26) * Moved dapr arguments to env as a subgroup. * Added env variable options. * Changed revision mode set to revision set-mode. * Added env var options to revision copy. * Fixed revision copy bug related to env secret refs. * Changed registry and secret delete to remove. Added registry param helps. Removed replica from table output and added trafficWeight. * Updating warning text. * Updated warning text once more. * Made name optional for revision copy if from-revision flag is passed. Co-authored-by: Haroon Feisal * Fixed style issues, various bug fixes (#27) * Moved dapr arguments to env as a subgroup. * Added env variable options. * Changed revision mode set to revision set-mode. * Added env var options to revision copy. * Fixed revision copy bug related to env secret refs. * Changed registry and secret delete to remove. Added registry param helps. Removed replica from table output and added trafficWeight. * Updating warning text. * Updated warning text once more. * Made name optional for revision copy if from-revision flag is passed. * Fixed whitespace style issues. * Styled clients and utils to pass pylint. * Finished client.py pylint fixes. * Fixed pylint issues. * Fixed flake8 commands and custom. * Fixed flake issues in src. * Added license header to _sdk_models. * Added confirmation for containerapp delete. Co-authored-by: Haroon Feisal * Update src/containerapp/azext_containerapp/tests/latest/test_containerapp_scenario.py Co-authored-by: Xing Zhou * Specific Error Types + Bugfixes (Help, remove app-subnet-resource-id, removed env-var alias, added help text for --name) (#28) * Moved dapr arguments to env as a subgroup. * Added env variable options. * Changed revision mode set to revision set-mode. * Added env var options to revision copy. * Fixed revision copy bug related to env secret refs. * Changed registry and secret delete to remove. Added registry param helps. Removed replica from table output and added trafficWeight. * Updating warning text. * Updated warning text once more. * Made name optional for revision copy if from-revision flag is passed. * Fixed whitespace style issues. * Styled clients and utils to pass pylint. * Finished client.py pylint fixes. * Fixed pylint issues. * Fixed flake8 commands and custom. * Fixed flake issues in src. * Added license header to _sdk_models. * Added confirmation for containerapp delete. * Update helps for identity, revision. Removed env-var alias for set-env-vars. Added name param help. * Removed app-subnet-resource-id. * Updated infrastructure subnet param help. * Check if containerapp resource exists before attempting to delete. * Added check before deleting managed env. * Changed error types to be more specific. * Removed check before deletion. Removed comments. Co-authored-by: Haroon Feisal * Reset to 0.1.0 version, remove unneeded options-list * Update min cli core version * Fixed style issues. (#30) Co-authored-by: Haroon Feisal * Fix linter issues * Use custom-show-command * Removed --ids from revision, secret, registry list. * Add linter exclusions * Fix polling on delete containerapp * Fix error handling * Add Container App Service * Fix flake linter * Fix help text * Mark extension as preview * Add python 3.9 and 3.10 as supported * Remove registries and secrets from az containerapp update, in favor of registry and secret subgroup * Fix YAML not working * Move import to inside deserialize function * Dapr moved from Template to Configuration * Use aka.ms link for containerapps yaml * Updated dapr enable/disable to current spec. * Fixed oversight. * Remove revisions-mode from containerapp update * Fixed dapr enable property names. (#47) Co-authored-by: Haroon Feisal * Fix exceptions with using --yaml in containerapp create/update * Rename history msg * Include fqdn in containerapp table output * Added ingress messages. * Revert history msg * Add basic test case * Remove managed-identity support for first release of CLI * Need to investigate test flakiness * Update _help.py removing duplicate help Co-authored-by: Haroon Feisal <38823870+haroonf@users.noreply.github.com> Co-authored-by: Haroon Feisal Co-authored-by: Anthony Chu Co-authored-by: Xing Zhou Co-authored-by: Sisira Panchagnula --- .github/CODEOWNERS | 4 +- linter_exclusions.yml | 22 + src/containerapp/HISTORY.rst | 10 + src/containerapp/README.rst | 5 + .../azext_containerapp/__init__.py | 32 + .../azext_containerapp/_client_factory.py | 75 + .../azext_containerapp/_clients.py | 723 ++++ .../azext_containerapp/_github_oauth.py | 88 + src/containerapp/azext_containerapp/_help.py | 487 +++ .../azext_containerapp/_models.py | 232 ++ .../azext_containerapp/_params.py | 178 + .../azext_containerapp/_sdk_models.py | 3396 +++++++++++++++++ src/containerapp/azext_containerapp/_utils.py | 587 +++ .../azext_containerapp/_validators.py | 88 + .../azext_containerapp/azext_metadata.json | 4 + .../azext_containerapp/commands.py | 102 + src/containerapp/azext_containerapp/custom.py | 1934 ++++++++++ .../azext_containerapp/tests/__init__.py | 5 + .../tests/latest/__init__.py | 5 + .../latest/test_containerapp_scenario.py | 42 + src/containerapp/setup.cfg | 2 + src/containerapp/setup.py | 62 + src/service_name.json | 5 + 23 files changed, 8087 insertions(+), 1 deletion(-) create mode 100644 src/containerapp/HISTORY.rst create mode 100644 src/containerapp/README.rst create mode 100644 src/containerapp/azext_containerapp/__init__.py create mode 100644 src/containerapp/azext_containerapp/_client_factory.py create mode 100644 src/containerapp/azext_containerapp/_clients.py create mode 100644 src/containerapp/azext_containerapp/_github_oauth.py create mode 100644 src/containerapp/azext_containerapp/_help.py create mode 100644 src/containerapp/azext_containerapp/_models.py create mode 100644 src/containerapp/azext_containerapp/_params.py create mode 100644 src/containerapp/azext_containerapp/_sdk_models.py create mode 100644 src/containerapp/azext_containerapp/_utils.py create mode 100644 src/containerapp/azext_containerapp/_validators.py create mode 100644 src/containerapp/azext_containerapp/azext_metadata.json create mode 100644 src/containerapp/azext_containerapp/commands.py create mode 100644 src/containerapp/azext_containerapp/custom.py create mode 100644 src/containerapp/azext_containerapp/tests/__init__.py create mode 100644 src/containerapp/azext_containerapp/tests/latest/__init__.py create mode 100644 src/containerapp/azext_containerapp/tests/latest/test_containerapp_scenario.py create mode 100644 src/containerapp/setup.cfg create mode 100644 src/containerapp/setup.py diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 04e86c8ce86..e466001d5ec 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -230,4 +230,6 @@ /src/confidentialledger/ @kairu-ms @lynshi -/src/quota/ @kairu-ms @ZengTaoxu \ No newline at end of file +/src/quota/ @kairu-ms @ZengTaoxu + +/src/containerapp/ @calvinsID @haroonf @panchagnula diff --git a/linter_exclusions.yml b/linter_exclusions.yml index dc6a952ebf4..6054be4859c 100644 --- a/linter_exclusions.yml +++ b/linter_exclusions.yml @@ -300,6 +300,28 @@ codespace plan create: default_sku_name: rule_exclusions: - option_length_too_long +containerapp env create: + parameters: + infrastructure_subnet_resource_id: + rule_exclusions: + - option_length_too_long + instrumentation_key: + rule_exclusions: + - option_length_too_long + platform_reserved_dns_ip: + rule_exclusions: + - option_length_too_long +containerapp github-action add: + parameters: + service_principal_client_id: + rule_exclusions: + - option_length_too_long + service_principal_client_secret: + rule_exclusions: + - option_length_too_long + service_principal_tenant_id: + rule_exclusions: + - option_length_too_long costmanagement export create: parameters: definition_dataset_configuration: diff --git a/src/containerapp/HISTORY.rst b/src/containerapp/HISTORY.rst new file mode 100644 index 00000000000..b66465a832a --- /dev/null +++ b/src/containerapp/HISTORY.rst @@ -0,0 +1,10 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release for Container App support with Microsoft.App RP. +* Subgroup commands for dapr, github-action, ingress, registry, revision & secrets +* Various bugfixes for create & update commands diff --git a/src/containerapp/README.rst b/src/containerapp/README.rst new file mode 100644 index 00000000000..629d90415c3 --- /dev/null +++ b/src/containerapp/README.rst @@ -0,0 +1,5 @@ +Microsoft Azure CLI 'containerapp' Extension +========================================== + +This package is for the 'containerapp' extension. +i.e. 'az containerapp' \ No newline at end of file diff --git a/src/containerapp/azext_containerapp/__init__.py b/src/containerapp/azext_containerapp/__init__.py new file mode 100644 index 00000000000..dcff6d86def --- /dev/null +++ b/src/containerapp/azext_containerapp/__init__.py @@ -0,0 +1,32 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=super-with-arguments + +from azure.cli.core import AzCommandsLoader + +from azext_containerapp._help import helps # pylint: disable=unused-import + + +class ContainerappCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + containerapp_custom = CliCommandType( + operations_tmpl='azext_containerapp.custom#{}', + client_factory=None) + super(ContainerappCommandsLoader, self).__init__(cli_ctx=cli_ctx, + custom_command_type=containerapp_custom) + + def load_command_table(self, args): + from azext_containerapp.commands import load_command_table + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from azext_containerapp._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = ContainerappCommandsLoader diff --git a/src/containerapp/azext_containerapp/_client_factory.py b/src/containerapp/azext_containerapp/_client_factory.py new file mode 100644 index 00000000000..4e8ad424138 --- /dev/null +++ b/src/containerapp/azext_containerapp/_client_factory.py @@ -0,0 +1,75 @@ +# -------------------------------------------------------------------------------------------- +# 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, consider-using-f-string + +from azure.cli.core.commands.client_factory import get_mgmt_service_client +from azure.cli.core.profiles import ResourceType +from azure.cli.core.azclierror import CLIInternalError + + +# pylint: disable=inconsistent-return-statements +def ex_handler_factory(no_throw=False): + def _polish_bad_errors(ex): + import json + try: + content = json.loads(ex.response.content) + if 'message' in content: + detail = content['message'] + elif 'Message' in content: + detail = content['Message'] + + ex = CLIInternalError(detail) + except Exception: # pylint: disable=broad-except + pass + if no_throw: + return ex + raise ex + return _polish_bad_errors + + +def handle_raw_exception(e): + import json + + stringErr = str(e) + + if "{" in stringErr and "}" in stringErr: + jsonError = stringErr[stringErr.index("{"):stringErr.rindex("}") + 1] + jsonError = json.loads(jsonError) + + if 'error' in jsonError: + jsonError = jsonError['error'] + + if 'code' in jsonError and 'message' in jsonError: + code = jsonError['code'] + message = jsonError['message'] + raise CLIInternalError('({}) {}'.format(code, message)) + elif "Message" in jsonError: + message = jsonError["Message"] + raise CLIInternalError(message) + elif "message" in jsonError: + message = jsonError["message"] + raise CLIInternalError(message) + raise e + + +def providers_client_factory(cli_ctx, subscription_id=None): + return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, subscription_id=subscription_id).providers + + +def cf_resource_groups(cli_ctx, subscription_id=None): + return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, + subscription_id=subscription_id).resource_groups + + +def log_analytics_client_factory(cli_ctx): + from azure.mgmt.loganalytics import LogAnalyticsManagementClient + + return get_mgmt_service_client(cli_ctx, LogAnalyticsManagementClient).workspaces + + +def log_analytics_shared_key_client_factory(cli_ctx): + from azure.mgmt.loganalytics import LogAnalyticsManagementClient + + return get_mgmt_service_client(cli_ctx, LogAnalyticsManagementClient).shared_keys diff --git a/src/containerapp/azext_containerapp/_clients.py b/src/containerapp/azext_containerapp/_clients.py new file mode 100644 index 00000000000..77cf596c8bf --- /dev/null +++ b/src/containerapp/azext_containerapp/_clients.py @@ -0,0 +1,723 @@ +# -------------------------------------------------------------------------------------------- +# 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, super-with-arguments, too-many-instance-attributes, consider-using-f-string, no-else-return, no-self-use + +import json +import time +import sys + +from azure.cli.core.util import send_raw_request +from azure.cli.core.commands.client_factory import get_subscription_id +from knack.log import get_logger + +logger = get_logger(__name__) + +API_VERSION = "2021-03-01" +NEW_API_VERSION = "2022-01-01-preview" +POLLING_TIMEOUT = 60 # how many seconds before exiting +POLLING_SECONDS = 2 # how many seconds between requests + + +class PollingAnimation(): + def __init__(self): + self.tickers = ["/", "|", "\\", "-", "/", "|", "\\", "-"] + self.currTicker = 0 + + def tick(self): + sys.stdout.write('\r') + sys.stdout.write(self.tickers[self.currTicker] + " Running ..") + sys.stdout.flush() + self.currTicker += 1 + self.currTicker = self.currTicker % len(self.tickers) + + def flush(self): + sys.stdout.flush() + sys.stdout.write('\r') + sys.stdout.write("\033[K") + + +def poll(cmd, request_url, poll_if_status): # pylint: disable=inconsistent-return-statements + try: + start = time.time() + end = time.time() + POLLING_TIMEOUT + animation = PollingAnimation() + + animation.tick() + r = send_raw_request(cmd.cli_ctx, "GET", request_url) + + while r.status_code in [200, 201] and start < end: + time.sleep(POLLING_SECONDS) + animation.tick() + + r = send_raw_request(cmd.cli_ctx, "GET", request_url) + r2 = r.json() + + if "properties" not in r2 or "provisioningState" not in r2["properties"] or not r2["properties"]["provisioningState"].lower() == poll_if_status: + break + start = time.time() + + animation.flush() + return r.json() + except Exception as e: # pylint: disable=broad-except + animation.flush() + + delete_statuses = ["scheduledfordelete", "cancelled"] + + if poll_if_status not in delete_statuses: # Catch "not found" errors if polling for delete + raise e + + +class ContainerAppClient(): + @classmethod + def create_or_update(cls, cmd, resource_group_name, name, container_app_envelope, no_wait=False): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/containerApps/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "PUT", request_url, body=json.dumps(container_app_envelope)) + + if no_wait: + return r.json() + elif r.status_code == 201: + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/containerApps/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + return poll(cmd, request_url, "inprogress") + + return r.json() + + @classmethod + def update(cls, cmd, resource_group_name, name, container_app_envelope, no_wait=False): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/containerApps/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "PATCH", request_url, body=json.dumps(container_app_envelope)) + + if no_wait: + return r.json() + elif r.status_code == 201: + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/containerApps/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + return poll(cmd, request_url, "inprogress") + + return r.json() + + @classmethod + def delete(cls, cmd, resource_group_name, name, no_wait=False): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/containerApps/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "DELETE", request_url) + + if no_wait: + return # API doesn't return JSON (it returns no content) + elif r.status_code in [200, 201, 202, 204]: + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/containerApps/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + + if r.status_code == 202: + from azure.cli.core.azclierror import ResourceNotFoundError + try: + poll(cmd, request_url, "cancelled") + except ResourceNotFoundError: + pass + logger.warning('Containerapp successfully deleted') + + @classmethod + def show(cls, cmd, resource_group_name, name): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/containerApps/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "GET", request_url) + return r.json() + + @classmethod + def list_by_subscription(cls, cmd, formatter=lambda x: x): + app_list = [] + + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + request_url = "{}/subscriptions/{}/providers/Microsoft.App/containerApps?api-version={}".format( + management_hostname.strip('/'), + sub_id, + api_version) + + r = send_raw_request(cmd.cli_ctx, "GET", request_url) + j = r.json() + for app in j["value"]: + formatted = formatter(app) + app_list.append(formatted) + + while j.get("nextLink") is not None: + request_url = j["nextLink"] + r = send_raw_request(cmd.cli_ctx, "GET", request_url) + j = r.json() + for app in j["value"]: + formatted = formatter(app) + app_list.append(formatted) + + return app_list + + @classmethod + def list_by_resource_group(cls, cmd, resource_group_name, formatter=lambda x: x): + app_list = [] + + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/containerApps?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "GET", request_url) + j = r.json() + for app in j["value"]: + formatted = formatter(app) + app_list.append(formatted) + + while j.get("nextLink") is not None: + request_url = j["nextLink"] + r = send_raw_request(cmd.cli_ctx, "GET", request_url) + j = r.json() + for app in j["value"]: + formatted = formatter(app) + app_list.append(formatted) + + return app_list + + @classmethod + def list_secrets(cls, cmd, resource_group_name, name): + + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/containerApps/{}/listSecrets?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "POST", request_url, body=None) + return r.json() + + @classmethod + def list_revisions(cls, cmd, resource_group_name, name, formatter=lambda x: x): + + revisions_list = [] + + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/containerApps/{}/revisions?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "GET", request_url) + j = r.json() + for app in j["value"]: + formatted = formatter(app) + revisions_list.append(formatted) + + while j.get("nextLink") is not None: + request_url = j["nextLink"] + r = send_raw_request(cmd.cli_ctx, "GET", request_url) + j = r.json() + for app in j["value"]: + formatted = formatter(app) + revisions_list.append(formatted) + + return revisions_list + + @classmethod + def show_revision(cls, cmd, resource_group_name, container_app_name, name): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/containerApps/{}/revisions/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + container_app_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "GET", request_url) + return r.json() + + @classmethod + def restart_revision(cls, cmd, resource_group_name, container_app_name, name): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/containerApps/{}/revisions/{}/restart?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + container_app_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "POST", request_url) + return r.json() + + @classmethod + def activate_revision(cls, cmd, resource_group_name, container_app_name, name): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/containerApps/{}/revisions/{}/activate?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + container_app_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "POST", request_url) + return r.json() + + @classmethod + def deactivate_revision(cls, cmd, resource_group_name, container_app_name, name): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/containerApps/{}/revisions/{}/deactivate?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + container_app_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "POST", request_url) + return r.json() + + +class ManagedEnvironmentClient(): + @classmethod + def create(cls, cmd, resource_group_name, name, managed_environment_envelope, no_wait=False): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/managedEnvironments/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "PUT", request_url, body=json.dumps(managed_environment_envelope)) + + if no_wait: + return r.json() + elif r.status_code == 201: + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/managedEnvironments/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + return poll(cmd, request_url, "waiting") + + return r.json() + + @classmethod + def update(cls, cmd, resource_group_name, name, managed_environment_envelope, no_wait=False): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/managedEnvironments/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "PATCH", request_url, body=json.dumps(managed_environment_envelope)) + + if no_wait: + return r.json() + elif r.status_code == 201: + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/managedEnvironments/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + return poll(cmd, request_url, "waiting") + + return r.json() + + @classmethod + def delete(cls, cmd, resource_group_name, name, no_wait=False): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/managedEnvironments/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "DELETE", request_url) + + if no_wait: + return # API doesn't return JSON (it returns no content) + elif r.status_code in [200, 201, 202, 204]: + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/managedEnvironments/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + + if r.status_code == 202: + from azure.cli.core.azclierror import ResourceNotFoundError + try: + poll(cmd, request_url, "scheduledfordelete") + except ResourceNotFoundError: + pass + logger.warning('Containerapp environment successfully deleted') + return + + @classmethod + def show(cls, cmd, resource_group_name, name): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/managedEnvironments/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "GET", request_url) + return r.json() + + @classmethod + def list_by_subscription(cls, cmd, formatter=lambda x: x): + env_list = [] + + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + request_url = "{}/subscriptions/{}/providers/Microsoft.App/managedEnvironments?api-version={}".format( + management_hostname.strip('/'), + sub_id, + api_version) + + r = send_raw_request(cmd.cli_ctx, "GET", request_url) + j = r.json() + for env in j["value"]: + formatted = formatter(env) + env_list.append(formatted) + + while j.get("nextLink") is not None: + request_url = j["nextLink"] + r = send_raw_request(cmd.cli_ctx, "GET", request_url) + j = r.json() + for env in j["value"]: + formatted = formatter(env) + env_list.append(formatted) + + return env_list + + @classmethod + def list_by_resource_group(cls, cmd, resource_group_name, formatter=lambda x: x): + env_list = [] + + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/managedEnvironments?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "GET", request_url) + j = r.json() + for env in j["value"]: + formatted = formatter(env) + env_list.append(formatted) + + while j.get("nextLink") is not None: + request_url = j["nextLink"] + r = send_raw_request(cmd.cli_ctx, "GET", request_url) + j = r.json() + for env in j["value"]: + formatted = formatter(env) + env_list.append(formatted) + + return env_list + + +class GitHubActionClient(): + @classmethod + def create_or_update(cls, cmd, resource_group_name, name, github_action_envelope, headers, no_wait=False): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/containerApps/{}/sourcecontrols/current?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "PUT", request_url, body=json.dumps(github_action_envelope), headers=headers) + + if no_wait: + return r.json() + elif r.status_code == 201: + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/containerApps/{}/sourcecontrols/current?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + return poll(cmd, request_url, "inprogress") + + return r.json() + + @classmethod + def show(cls, cmd, resource_group_name, name): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/containerApps/{}/sourcecontrols/current?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "GET", request_url) + return r.json() + + @classmethod + def delete(cls, cmd, resource_group_name, name, headers, no_wait=False): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/containerApps/{}/sourcecontrols/current?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "DELETE", request_url, headers=headers) + + if no_wait: + return # API doesn't return JSON (it returns no content) + elif r.status_code in [200, 201, 202, 204]: + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/containerApps/{}/sourcecontrols/current?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + name, + api_version) + + if r.status_code == 202: + from azure.cli.core.azclierror import ResourceNotFoundError + try: + poll(cmd, request_url, "cancelled") + except ResourceNotFoundError: + pass + logger.warning('Containerapp github action successfully deleted') + return + + +class DaprComponentClient(): + @classmethod + def create_or_update(cls, cmd, resource_group_name, environment_name, name, dapr_component_envelope, no_wait=False): + + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/managedEnvironments/{}/daprComponents/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + environment_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "PUT", request_url, body=json.dumps(dapr_component_envelope)) + + if no_wait: + return r.json() + elif r.status_code == 201: + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/managedEnvironments/{}/daprComponents/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + environment_name, + name, + api_version) + return poll(cmd, request_url, "inprogress") + + return r.json() + + @classmethod + def delete(cls, cmd, resource_group_name, environment_name, name, no_wait=False): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/managedEnvironments/{}/daprComponents/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + environment_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "DELETE", request_url) + + if no_wait: + return # API doesn't return JSON (it returns no content) + elif r.status_code in [200, 201, 202, 204]: + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/managedEnvironments/{}/daprComponents/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + environment_name, + name, + api_version) + + if r.status_code == 202: + from azure.cli.core.azclierror import ResourceNotFoundError + try: + poll(cmd, request_url, "cancelled") + except ResourceNotFoundError: + pass + logger.warning('Dapr component successfully deleted') + return + + @classmethod + def show(cls, cmd, resource_group_name, environment_name, name): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/managedEnvironments/{}/daprComponents/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + environment_name, + name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "GET", request_url) + return r.json() + + @classmethod + def list(cls, cmd, resource_group_name, environment_name, formatter=lambda x: x): + app_list = [] + + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = NEW_API_VERSION + sub_id = get_subscription_id(cmd.cli_ctx) + request_url = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.App/managedEnvironments/{}/daprComponents?api-version={}".format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + environment_name, + api_version) + + r = send_raw_request(cmd.cli_ctx, "GET", request_url) + j = r.json() + for app in j["value"]: + formatted = formatter(app) + app_list.append(formatted) + + while j.get("nextLink") is not None: + request_url = j["nextLink"] + r = send_raw_request(cmd.cli_ctx, "GET", request_url) + j = r.json() + for app in j["value"]: + formatted = formatter(app) + app_list.append(formatted) + + return app_list diff --git a/src/containerapp/azext_containerapp/_github_oauth.py b/src/containerapp/azext_containerapp/_github_oauth.py new file mode 100644 index 00000000000..659d43afc39 --- /dev/null +++ b/src/containerapp/azext_containerapp/_github_oauth.py @@ -0,0 +1,88 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=consider-using-f-string + +from azure.cli.core.azclierror import (ValidationError, CLIInternalError, UnclassifiedUserFault) +from knack.log import get_logger + +logger = get_logger(__name__) + + +''' +Get Github personal access token following Github oauth for command line tools +https://docs.github.com/en/developers/apps/authorizing-oauth-apps#device-flow +''' + + +GITHUB_OAUTH_CLIENT_ID = "8d8e1f6000648c575489" +GITHUB_OAUTH_SCOPES = [ + "admin:repo_hook", + "repo", + "workflow" +] + + +def get_github_access_token(cmd, scope_list=None): # pylint: disable=unused-argument + if scope_list: + for scope in scope_list: + if scope not in GITHUB_OAUTH_SCOPES: + raise ValidationError("Requested github oauth scope is invalid") + scope_list = ' '.join(scope_list) + + authorize_url = 'https://github.com/login/device/code' + authorize_url_data = { + 'scope': scope_list, + 'client_id': GITHUB_OAUTH_CLIENT_ID + } + + import requests + import time + from urllib.parse import parse_qs + + try: + response = requests.post(authorize_url, data=authorize_url_data) + parsed_response = parse_qs(response.content.decode('ascii')) + + device_code = parsed_response['device_code'][0] + user_code = parsed_response['user_code'][0] + verification_uri = parsed_response['verification_uri'][0] + interval = int(parsed_response['interval'][0]) + expires_in_seconds = int(parsed_response['expires_in'][0]) + logger.warning('Please navigate to %s and enter the user code %s to activate and ' + 'retrieve your github personal access token', verification_uri, user_code) + + timeout = time.time() + expires_in_seconds + logger.warning("Waiting up to '%s' minutes for activation", str(expires_in_seconds // 60)) + + confirmation_url = 'https://github.com/login/oauth/access_token' + confirmation_url_data = { + 'client_id': GITHUB_OAUTH_CLIENT_ID, + 'device_code': device_code, + 'grant_type': 'urn:ietf:params:oauth:grant-type:device_code' + } + + pending = True + while pending: + time.sleep(interval) + + if time.time() > timeout: + raise UnclassifiedUserFault('Activation did not happen in time. Please try again') + + confirmation_response = requests.post(confirmation_url, data=confirmation_url_data) + parsed_confirmation_response = parse_qs(confirmation_response.content.decode('ascii')) + + if 'error' in parsed_confirmation_response and parsed_confirmation_response['error'][0]: + if parsed_confirmation_response['error'][0] == 'slow_down': + interval += 5 # if slow_down error is received, 5 seconds is added to minimum polling interval + elif parsed_confirmation_response['error'][0] != 'authorization_pending': + pending = False + + if 'access_token' in parsed_confirmation_response and parsed_confirmation_response['access_token'][0]: + return parsed_confirmation_response['access_token'][0] + except Exception as e: + raise CLIInternalError( + 'Error: {}. Please try again, or retrieve personal access token from the Github website'.format(e)) from e + + raise UnclassifiedUserFault('Activation did not happen in time. Please try again') diff --git a/src/containerapp/azext_containerapp/_help.py b/src/containerapp/azext_containerapp/_help.py new file mode 100644 index 00000000000..5e75c334d82 --- /dev/null +++ b/src/containerapp/azext_containerapp/_help.py @@ -0,0 +1,487 @@ +# coding=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['containerapp'] = """ + type: group + short-summary: Manage Azure Container Apps. +""" + +helps['containerapp create'] = """ + type: command + short-summary: Create a container app. + examples: + - name: Create a container app and retrieve its fully qualified domain name. + text: | + az containerapp create -n MyContainerapp -g MyResourceGroup \\ + --image myregistry.azurecr.io/my-app:v1.0 --environment MyContainerappEnv \\ + --ingress external --target-port 80 \\ + --registry-server myregistry.azurecr.io --registry-username myregistry --registry-password $REGISTRY_PASSWORD \\ + --query properties.configuration.ingress.fqdn + - name: Create a container app with resource requirements and replica count limits. + text: | + az containerapp create -n MyContainerapp -g MyResourceGroup \\ + --image nginx --environment MyContainerappEnv \\ + --cpu 0.5 --memory 1.0Gi \\ + --min-replicas 4 --max-replicas 8 + - name: Create a container app with secrets and environment variables. + text: | + az containerapp create -n MyContainerapp -g MyResourceGroup \\ + --image my-app:v1.0 --environment MyContainerappEnv \\ + --secrets mysecret=secretvalue1 anothersecret="secret value 2" \\ + --env-vars GREETING="Hello, world" SECRETENV=secretref:anothersecret + - name: Create a container app using a YAML configuration. Example YAML configuration - https://aka.ms/azure-container-apps-yaml + text: | + az containerapp create -n MyContainerapp -g MyResourceGroup \\ + --environment MyContainerappEnv \\ + --yaml "path/to/yaml/file.yml" +""" + +helps['containerapp update'] = """ + type: command + short-summary: Update a container app. In multiple revisions mode, create a new revision based on the latest revision. + examples: + - name: Update a container app's container image. + text: | + az containerapp update -n MyContainerapp -g MyResourceGroup \\ + --image myregistry.azurecr.io/my-app:v2.0 + - name: Update a container app's resource requirements and scale limits. + text: | + az containerapp update -n MyContainerapp -g MyResourceGroup \\ + --cpu 0.5 --memory 1.0Gi \\ + --min-replicas 4 --max-replicas 8 +""" + +helps['containerapp delete'] = """ + type: command + short-summary: Delete a container app. + examples: + - name: Delete a container app. + text: az containerapp delete -g MyResourceGroup -n MyContainerapp +""" + +helps['containerapp show'] = """ + type: command + short-summary: Show details of a container app. + examples: + - name: Show the details of a container app. + text: | + az containerapp show -n MyContainerapp -g MyResourceGroup +""" + +helps['containerapp list'] = """ + type: command + short-summary: List container apps. + examples: + - name: List container apps in the current subscription. + text: | + az containerapp list + - name: List container apps by resource group. + text: | + az containerapp list -g MyResourceGroup +""" + +# Revision Commands +helps['containerapp revision'] = """ + type: group + short-summary: Commands to manage revisions. +""" + +helps['containerapp revision show'] = """ + type: command + short-summary: Show details of a revision. + examples: + - name: Show details of a revision. + text: | + az containerapp revision show -n MyContainerapp -g MyResourceGroup \\ + --revision MyContainerappRevision +""" + +helps['containerapp revision list'] = """ + type: command + short-summary: List a container app's revisions. + examples: + - name: List a container app's revisions. + text: | + az containerapp revision list -n MyContainerapp -g MyResourceGroup +""" + +helps['containerapp revision restart'] = """ + type: command + short-summary: Restart a revision. + examples: + - name: Restart a revision. + text: | + az containerapp revision restart -n MyContainerapp -g MyResourceGroup --revision MyContainerappRevision +""" + +helps['containerapp revision activate'] = """ + type: command + short-summary: Activate a revision. + examples: + - name: Activate a revision. + text: | + az containerapp revision activate -g MyResourceGroup --revision MyContainerappRevision +""" + +helps['containerapp revision deactivate'] = """ + type: command + short-summary: Deactivate a revision. + examples: + - name: Deactivate a revision. + text: | + az containerapp revision deactivate -g MyResourceGroup --revision MyContainerappRevision +""" + +helps['containerapp revision set-mode'] = """ + type: command + short-summary: Set the revision mode of a container app. + examples: + - name: Set a container app to single revision mode. + text: | + az containerapp revision set-mode -n MyContainerapp -g MyResourceGroup --mode Single +""" + +helps['containerapp revision copy'] = """ + type: command + short-summary: Create a revision based on a previous revision. + examples: + - name: Create a revision based on the latest revision. + text: | + az containerapp revision copy -n MyContainerapp -g MyResourceGroup \\ + --cpu 0.75 --memory 1.5Gi + - name: Create a revision based on a previous revision. + text: | + az containerapp revision copy -g MyResourceGroup \\ + --from-revision PreviousRevisionName --cpu 0.75 --memory 1.5Gi + +""" + + +# Environment Commands +helps['containerapp env'] = """ + type: group + short-summary: Commands to manage Container Apps environments. +""" + +helps['containerapp env create'] = """ + type: command + short-summary: Create a Container Apps environment. + examples: + - name: Create an environment with an auto-generated Log Analytics workspace. + text: | + az containerapp env create -n MyContainerappEnvironment -g MyResourceGroup \\ + --location "Canada Central" + - name: Create an environment with an existing Log Analytics workspace. + text: | + az containerapp env create -n MyContainerappEnvironment -g MyResourceGroup \\ + --logs-workspace-id myLogsWorkspaceID \\ + --logs-workspace-key myLogsWorkspaceKey \\ + --location "Canada Central" +""" + + +helps['containerapp env delete'] = """ + type: command + short-summary: Delete a Container Apps environment. + examples: + - name: Delete an environment. + text: az containerapp env delete -n MyContainerappEnvironment -g MyResourceGroup +""" + +helps['containerapp env show'] = """ + type: command + short-summary: Show details of a Container Apps environment. + examples: + - name: Show the details of an environment. + text: | + az containerapp env show -n MyContainerappEnvironment -g MyResourceGroup +""" + +helps['containerapp env list'] = """ + type: command + short-summary: List Container Apps environments by subscription or resource group. + examples: + - name: List environments in the current subscription. + text: | + az containerapp env list + - name: List environments by resource group. + text: | + az containerapp env list -g MyResourceGroup +""" + +helps['containerapp env dapr-component'] = """ + type: group + short-summary: Commands to manage Dapr components for the Container Apps environment. +""" + +helps['containerapp env dapr-component list'] = """ + type: command + short-summary: List Dapr components for an environment. + examples: + - name: List Dapr components for an environment. + text: | + az containerapp env dapr-component list -g MyResourceGroup --name MyEnvironment +""" + +helps['containerapp env dapr-component show'] = """ + type: command + short-summary: Show the details of a Dapr component. + examples: + - name: Show the details of a Dapr component. + text: | + az containerapp env dapr-component show -g MyResourceGroup --dapr-component-name MyDaprComponentName --name MyEnvironment +""" + +helps['containerapp env dapr-component set'] = """ + type: command + short-summary: Create or update a Dapr component. + examples: + - name: Create a Dapr component. + text: | + az containerapp env dapr-component set -g MyResourceGroup --name MyEnv --yaml MyYAMLPath --dapr-component-name MyDaprComponentName +""" + +helps['containerapp env dapr-component remove'] = """ + type: command + short-summary: Remove a Dapr component from an environment. + examples: + - name: Remove a Dapr component from a Container Apps environment. + text: | + az containerapp env dapr-component remove -g MyResourceGroup --dapr-component-name MyDaprComponentName --name MyEnvironment +""" + +# Ingress Commands +helps['containerapp ingress'] = """ + type: group + short-summary: Commands to manage ingress and traffic-splitting. +""" + +helps['containerapp ingress traffic'] = """ + type: subgroup + short-summary: Commands to manage traffic-splitting. +""" + +helps['containerapp ingress show'] = """ + type: command + short-summary: Show details of a container app's ingress. + examples: + - name: Show the details of a container app's ingress. + text: | + az containerapp ingress show -n MyContainerapp -g MyResourceGroup +""" + +helps['containerapp ingress enable'] = """ + type: command + short-summary: Enable ingress for a container app. + examples: + - name: Enable ingress for a container app. + text: | + az containerapp ingress enable -n MyContainerapp -g MyResourceGroup \\ + --type external --allow-insecure --target-port 80 --transport auto +""" + +helps['containerapp ingress disable'] = """ + type: command + short-summary: Disable ingress for a container app. + examples: + - name: Disable ingress for a container app. + text: | + az containerapp ingress disable -n MyContainerapp -g MyResourceGroup +""" + +helps['containerapp ingress traffic'] = """ + type: group + short-summary: Commands to manage traffic-splitting. +""" + +helps['containerapp ingress traffic set'] = """ + type: command + short-summary: Configure traffic-splitting for a container app. + examples: + - name: Route 100%% of a container app's traffic to its latest revision. + text: | + az containerapp ingress traffic set -n MyContainerapp -g MyResourceGroup --traffic-weight latest=100 + - name: Split a container app's traffic between two revisions. + text: | + az containerapp ingress traffic set -n MyContainerapp -g MyResourceGroup --traffic-weight latest=80 MyRevisionName=20 +""" + +helps['containerapp ingress traffic show'] = """ + type: command + short-summary: Show traffic-splitting configuration for a container app. + examples: + - name: Show a container app's ingress traffic configuration. + text: | + az containerapp ingress traffic show -n MyContainerapp -g MyResourceGroup +""" + +# Registry Commands +helps['containerapp registry'] = """ + type: group + short-summary: Commands to manage container registry information. +""" + +helps['containerapp registry show'] = """ + type: command + short-summary: Show details of a container registry. + examples: + - name: Show the details of a container registry. + text: | + az containerapp registry show -n MyContainerapp -g MyResourceGroup --server MyContainerappRegistry.azurecr.io +""" + +helps['containerapp registry list'] = """ + type: command + short-summary: List container registries configured in a container app. + examples: + - name: List container registries configured in a container app. + text: | + az containerapp registry list -n MyContainerapp -g MyResourceGroup +""" + +helps['containerapp registry set'] = """ + type: command + short-summary: Add or update a container registry's details. + examples: + - name: Configure a container app to use a registry. + text: | + az containerapp registry set -n MyContainerapp -g MyResourceGroup \\ + --server MyExistingContainerappRegistry.azurecr.io --username MyRegistryUsername --password MyRegistryPassword +""" + +helps['containerapp registry remove'] = """ + type: command + short-summary: Remove a container registry's details. + examples: + - name: Remove a registry from a Containerapp. + text: | + az containerapp registry remove -n MyContainerapp -g MyResourceGroup --server MyContainerappRegistry.azurecr.io +""" + +# Secret Commands +helps['containerapp secret'] = """ + type: group + short-summary: Commands to manage secrets. +""" + +helps['containerapp secret show'] = """ + type: command + short-summary: Show details of a secret. + examples: + - name: Show the details of a secret. + text: | + az containerapp secret show -n MyContainerapp -g MyResourceGroup --secret-name MySecret +""" + +helps['containerapp secret list'] = """ + type: command + short-summary: List the secrets of a container app. + examples: + - name: List the secrets of a container app. + text: | + az containerapp secret list -n MyContainerapp -g MyResourceGroup +""" + +helps['containerapp secret remove'] = """ + type: command + short-summary: Remove secrets from a container app. + examples: + - name: Remove secrets from a container app. + text: | + az containerapp secret remove -n MyContainerapp -g MyResourceGroup --secret-names MySecret MySecret2 +""" + +helps['containerapp secret set'] = """ + type: command + short-summary: Create/update secrets. + examples: + - name: Add secrets to a container app. + text: | + az containerapp secret set -n MyContainerapp -g MyResourceGroup --secrets MySecretName1=MySecretValue1 MySecretName2=MySecretValue2 + - name: Update a secret. + text: | + az containerapp secret set -n MyContainerapp -g MyResourceGroup --secrets MyExistingSecretName=MyNewSecretValue +""" + +helps['containerapp github-action'] = """ + type: group + short-summary: Commands to manage GitHub Actions. +""" + +helps['containerapp github-action add'] = """ + type: command + short-summary: Add a Github Actions workflow to a repository to deploy a container app. + examples: + - name: Add GitHub Actions, using Azure Container Registry and personal access token. + text: az containerapp github-action add -g MyResourceGroup -n MyContainerapp --repo-url https://github.com/userid/repo --branch main + --registry-url myregistryurl.azurecr.io + --service-principal-client-id 00000000-0000-0000-0000-00000000 + --service-principal-tenant-id 00000000-0000-0000-0000-00000000 + --service-principal-client-secret ClientSecret + --token MyAccessToken + - name: Add GitHub Actions, using Azure Container Registry and log in to GitHub flow to retrieve personal access token. + text: az containerapp github-action add -g MyResourceGroup -n MyContainerapp --repo-url https://github.com/userid/repo --branch main + --registry-url myregistryurl.azurecr.io + --service-principal-client-id 00000000-0000-0000-0000-00000000 + --service-principal-tenant-id 00000000-0000-0000-0000-00000000 + --service-principal-client-secret ClientSecret + --login-with-github + - name: Add GitHub Actions, using Docker Hub and log in to GitHub flow to retrieve personal access token. + text: az containerapp github-action add -g MyResourceGroup -n MyContainerapp --repo-url https://github.com/userid/repo --branch main + --registry-username MyUsername + --registry-password MyPassword + --service-principal-client-id 00000000-0000-0000-0000-00000000 + --service-principal-tenant-id 00000000-0000-0000-0000-00000000 + --service-principal-client-secret ClientSecret + --login-with-github +""" + +helps['containerapp github-action delete'] = """ + type: command + short-summary: Remove a previously configured Container Apps GitHub Actions workflow from a repository. + examples: + - name: Remove GitHub Actions using a personal access token. + text: az containerapp github-action delete -g MyResourceGroup -n MyContainerapp + --token MyAccessToken + - name: Remove GitHub Actions using log in to GitHub flow to retrieve personal access token. + text: az containerapp github-action delete -g MyResourceGroup -n MyContainerapp + --login-with-github +""" + +helps['containerapp github-action show'] = """ + type: command + short-summary: Show the GitHub Actions configuration on a container app. + examples: + - name: Show the GitHub Actions configuration on a Containerapp. + text: az containerapp github-action show -g MyResourceGroup -n MyContainerapp +""" + +# Dapr Commands +helps['containerapp dapr'] = """ + type: group + short-summary: Commands to manage Dapr. To manage Dapr components, see `az containerapp env dapr-component`. +""" + +helps['containerapp dapr enable'] = """ + type: command + short-summary: Enable Dapr for a container app. + examples: + - name: Enable Dapr for a container app. + text: | + az containerapp dapr enable -n MyContainerapp -g MyResourceGroup --dapr-app-id my-app-id --dapr-app-port 8080 +""" + +helps['containerapp dapr disable'] = """ + type: command + short-summary: Disable Dapr for a container app. + examples: + - name: Disable Dapr for a container app. + text: | + az containerapp dapr disable -n MyContainerapp -g MyResourceGroup +""" diff --git a/src/containerapp/azext_containerapp/_models.py b/src/containerapp/azext_containerapp/_models.py new file mode 100644 index 00000000000..d4b26d94b32 --- /dev/null +++ b/src/containerapp/azext_containerapp/_models.py @@ -0,0 +1,232 @@ +# -------------------------------------------------------------------------------------------- +# 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, too-many-statements, super-with-arguments + +VnetConfiguration = { + "infrastructureSubnetId": None, + "runtimeSubnetId": None, + "dockerBridgeCidr": None, + "platformReservedCidr": None, + "platformReservedDnsIP": None +} + +ManagedEnvironment = { + "location": None, + "tags": None, + "properties": { + "daprAIInstrumentationKey": None, + "vnetConfiguration": None, # VnetConfiguration + "internalLoadBalancerEnabled": None, + "appLogsConfiguration": None + } +} + +AppLogsConfiguration = { + "destination": None, + "logAnalyticsConfiguration": None +} + +LogAnalyticsConfiguration = { + "customerId": None, + "sharedKey": None +} + +# Containerapp + +Dapr = { + "enabled": False, + "appId": None, + "appProtocol": None, + "appPort": None +} + +EnvironmentVar = { + "name": None, + "value": None, + "secretRef": None +} + +ContainerResources = { + "cpu": None, + "memory": None +} + +VolumeMount = { + "volumeName": None, + "mountPath": None +} + +Container = { + "image": None, + "name": None, + "command": None, + "args": None, + "env": None, # [EnvironmentVar] + "resources": None, # ContainerResources + "volumeMounts": None, # [VolumeMount] +} + +Volume = { + "name": None, + "storageType": "EmptyDir", # AzureFile or EmptyDir + "storageName": None # None for EmptyDir, otherwise name of storage resource +} + +ScaleRuleAuth = { + "secretRef": None, + "triggerParameter": None +} + +QueueScaleRule = { + "queueName": None, + "queueLength": None, + "auth": None # ScaleRuleAuth +} + +CustomScaleRule = { + "type": None, + "metadata": {}, + "auth": None # ScaleRuleAuth +} + +HttpScaleRule = { + "metadata": {}, + "auth": None # ScaleRuleAuth +} + +ScaleRule = { + "name": None, + "azureQueue": None, # QueueScaleRule + "customScaleRule": None, # CustomScaleRule + "httpScaleRule": None, # HttpScaleRule +} + +Secret = { + "name": None, + "value": None +} + +Scale = { + "minReplicas": None, + "maxReplicas": None, + "rules": [] # list of ScaleRule +} + +TrafficWeight = { + "revisionName": None, + "weight": None, + "latestRevision": False +} + +BindingType = { + +} + +CustomDomain = { + "name": None, + "bindingType": None, # BindingType + "certificateId": None +} + +Ingress = { + "fqdn": None, + "external": False, + "targetPort": None, + "transport": None, # 'auto', 'http', 'http2' + "traffic": None, # TrafficWeight + "customDomains": None # [CustomDomain] +} + +RegistryCredentials = { + "server": None, + "username": None, + "passwordSecretRef": None +} + +Template = { + "revisionSuffix": None, + "containers": None, # [Container] + "scale": Scale, + "volumes": None # [Volume] +} + +Configuration = { + "secrets": None, # [Secret] + "activeRevisionsMode": None, # 'multiple' or 'single' + "ingress": None, # Ingress + "dapr": Dapr, + "registries": None # [RegistryCredentials] +} + +UserAssignedIdentity = { + +} + +ManagedServiceIdentity = { + "type": None, # 'None', 'SystemAssigned', 'UserAssigned', 'SystemAssigned,UserAssigned' + "userAssignedIdentities": None # {string: UserAssignedIdentity} +} + +ContainerApp = { + "location": None, + "identity": None, # ManagedServiceIdentity + "properties": { + "managedEnvironmentId": None, + "configuration": None, # Configuration + "template": None # Template + }, + "tags": None +} + +DaprComponent = { + "properties": { + "componentType": None, # String + "version": None, + "ignoreErrors": None, + "initTimeout": None, + "secrets": None, + "metadata": None, + "scopes": None + } +} + +DaprMetadata = { + "key": None, # str + "value": None, # str + "secret_ref": None # str +} + +SourceControl = { + "properties": { + "repoUrl": None, + "branch": None, + "githubActionConfiguration": None # [GitHubActionConfiguration] + } + +} + +GitHubActionConfiguration = { + "registryInfo": None, # [RegistryInfo] + "azureCredentials": None, # [AzureCredentials] + "dockerfilePath": None, # str + "publishType": None, # str + "os": None, # str + "runtimeStack": None, # str + "runtimeVersion": None # str +} + +RegistryInfo = { + "registryUrl": None, # str + "registryUserName": None, # str + "registryPassword": None # str +} + +AzureCredentials = { + "clientId": None, # str + "clientSecret": None, # str + "tenantId": None, # str + "subscriptionId": None # str +} diff --git a/src/containerapp/azext_containerapp/_params.py b/src/containerapp/azext_containerapp/_params.py new file mode 100644 index 00000000000..6e0ee6918d4 --- /dev/null +++ b/src/containerapp/azext_containerapp/_params.py @@ -0,0 +1,178 @@ +# -------------------------------------------------------------------------------------------- +# 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, too-many-statements, consider-using-f-string, option-length-too-long + +from knack.arguments import CLIArgumentType + +from azure.cli.core.commands.parameters import (resource_group_name_type, get_location_type, + file_type, + get_three_state_flag, get_enum_type, tags_type) +# from azure.cli.core.commands.validators import get_default_location_from_resource_group + +from ._validators import (validate_memory, validate_cpu, validate_managed_env_name_or_id, validate_registry_server, + validate_registry_user, validate_registry_pass, validate_target_port, validate_ingress) + + +def load_arguments(self, _): + + name_type = CLIArgumentType(options_list=['--name', '-n']) + + with self.argument_context('containerapp') as c: + # Base arguments + c.argument('name', name_type, metavar='NAME', id_part='name', help="The name of the Containerapp.") + c.argument('resource_group_name', arg_type=resource_group_name_type) + c.argument('location', arg_type=get_location_type(self.cli_ctx)) + + with self.argument_context('containerapp') as c: + c.argument('tags', arg_type=tags_type) + c.argument('managed_env', validator=validate_managed_env_name_or_id, options_list=['--environment'], help="Name or resource ID of the container app's environment.") + c.argument('yaml', type=file_type, help='Path to a .yaml file with the configuration of a container app. All other parameters will be ignored. For an example, see https://docs.microsoft.com/azure/container-apps/azure-resource-manager-api-spec#examples') + + # Container + with self.argument_context('containerapp', arg_group='Container') as c: + c.argument('image', type=str, options_list=['--image', '-i'], help="Container image, e.g. publisher/image-name:tag.") + c.argument('container_name', type=str, help="Name of the container.") + c.argument('cpu', type=float, validator=validate_cpu, help="Required CPU in cores, e.g. 0.5") + c.argument('memory', type=str, validator=validate_memory, help="Required memory, e.g. 1.0Gi") + c.argument('env_vars', nargs='*', help="A list of environment variable(s) for the container. Space-separated values in 'key=value' format. Empty string to clear existing values. Prefix value with 'secretref:' to reference a secret.") + c.argument('startup_command', nargs='*', options_list=['--command'], help="A list of supported commands on the container that will executed during startup. Space-separated values e.g. \"/bin/queue\" \"mycommand\". Empty string to clear existing values") + c.argument('args', nargs='*', help="A list of container startup command argument(s). Space-separated values e.g. \"-c\" \"mycommand\". Empty string to clear existing values") + c.argument('revision_suffix', type=str, help='User friendly suffix that is appended to the revision name') + + # Env vars + with self.argument_context('containerapp', arg_group='Environment variables') as c: + c.argument('set_env_vars', nargs='*', help="A list of environment variable(s) to add to the container. Space-separated values in 'key=value' format. If stored as a secret, value must start with \'secretref:\' followed by the secret name.") + c.argument('remove_env_vars', nargs='*', help="A list of environment variable(s) to remove from container. Space-separated env var name values.") + c.argument('replace_env_vars', nargs='*', help="A list of environment variable(s) to replace from the container. Space-separated values in 'key=value' format. If stored as a secret, value must start with \'secretref:\' followed by the secret name.") + c.argument('remove_all_env_vars', help="Option to remove all environment variable(s) from the container.") + + # Scale + with self.argument_context('containerapp', arg_group='Scale') as c: + c.argument('min_replicas', type=int, help="The minimum number of replicas.") + c.argument('max_replicas', type=int, help="The maximum number of replicas.") + + # Dapr + with self.argument_context('containerapp', arg_group='Dapr') as c: + c.argument('dapr_enabled', options_list=['--enable-dapr'], default=False, arg_type=get_three_state_flag(), help="Boolean indicating if the Dapr side car is enabled.") + c.argument('dapr_app_port', type=int, help="The port Dapr uses to talk to the application.") + c.argument('dapr_app_id', type=str, help="The Dapr application identifier.") + c.argument('dapr_app_protocol', type=str, arg_type=get_enum_type(['http', 'grpc']), help="The protocol Dapr uses to talk to the application.") + + # Configuration + with self.argument_context('containerapp', arg_group='Configuration') as c: + c.argument('revisions_mode', arg_type=get_enum_type(['single', 'multiple']), help="The active revisions mode for the container app.") + c.argument('registry_server', type=str, validator=validate_registry_server, help="The container registry server hostname, e.g. myregistry.azurecr.io.") + c.argument('registry_pass', type=str, validator=validate_registry_pass, options_list=['--registry-password'], help="The password to log in to container registry. If stored as a secret, value must start with \'secretref:\' followed by the secret name.") + c.argument('registry_user', type=str, validator=validate_registry_user, options_list=['--registry-username'], help="The username to log in to container registry.") + c.argument('secrets', nargs='*', options_list=['--secrets', '-s'], help="A list of secret(s) for the container app. Space-separated values in 'key=value' format.") + + # Ingress + with self.argument_context('containerapp', arg_group='Ingress') as c: + c.argument('ingress', validator=validate_ingress, default=None, arg_type=get_enum_type(['internal', 'external']), help="The ingress type.") + c.argument('target_port', type=int, validator=validate_target_port, help="The application port used for ingress traffic.") + c.argument('transport', arg_type=get_enum_type(['auto', 'http', 'http2']), help="The transport protocol used for ingress traffic.") + + with self.argument_context('containerapp create') as c: + c.argument('traffic_weights', nargs='*', options_list=['--traffic-weight'], help="A list of revision weight(s) for the container app. Space-separated values in 'revision_name=weight' format. For latest revision, use 'latest=weight'") + + with self.argument_context('containerapp scale') as c: + c.argument('min_replicas', type=int, help="The minimum number of replicas.") + c.argument('max_replicas', type=int, help="The maximum number of replicas.") + + with self.argument_context('containerapp env') as c: + c.argument('name', name_type, help='Name of the Container Apps environment.') + c.argument('resource_group_name', arg_type=resource_group_name_type) + c.argument('location', arg_type=get_location_type(self.cli_ctx), help='Location of resource. Examples: Canada Central, North Europe') + c.argument('tags', arg_type=tags_type) + + with self.argument_context('containerapp env', arg_group='Log Analytics') as c: + c.argument('logs_customer_id', type=str, options_list=['--logs-workspace-id'], help='Name or resource ID of the Log Analytics workspace to send diagnostics logs to. You can use \"az monitor log-analytics workspace create\" to create one. Extra billing may apply.') + c.argument('logs_key', type=str, options_list=['--logs-workspace-key'], help='Log Analytics workspace key to configure your Log Analytics workspace. You can use \"az monitor log-analytics workspace get-shared-keys\" to retrieve the key.') + + with self.argument_context('containerapp env', arg_group='Dapr') as c: + c.argument('instrumentation_key', options_list=['--dapr-instrumentation-key'], help='Application Insights instrumentation key used by Dapr to export Service to Service communication telemetry') + + with self.argument_context('containerapp env', arg_group='Virtual Network') as c: + c.argument('infrastructure_subnet_resource_id', type=str, options_list=['--infrastructure-subnet-resource-id'], help='Resource ID of a subnet for infrastructure components and user app containers.') + c.argument('app_subnet_resource_id', type=str, options_list=['--app-subnet-resource-id'], help='Resource ID of a subnet that Container App containers are injected into. This subnet must be in the same VNET as the subnet defined in infrastructureSubnetResourceId.') + c.argument('docker_bridge_cidr', type=str, options_list=['--docker-bridge-cidr'], help='CIDR notation IP range assigned to the Docker bridge. It must not overlap with any Subnet IP ranges or the IP range defined in Platform Reserved CIDR, if defined') + c.argument('platform_reserved_cidr', type=str, options_list=['--platform-reserved-cidr'], help='IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. It must not overlap with any other Subnet IP ranges') + c.argument('platform_reserved_dns_ip', type=str, options_list=['--platform-reserved-dns-ip'], help='An IP address from the IP range defined by Platform Reserved CIDR that will be reserved for the internal DNS server.') + c.argument('internal_only', arg_type=get_three_state_flag(), options_list=['--internal-only'], help='Boolean indicating the environment only has an internal load balancer. These environments do not have a public static IP resource, therefore must provide infrastructureSubnetResourceId and appSubnetResourceId if enabling this property') + + with self.argument_context('containerapp env update') as c: + c.argument('name', name_type, help='Name of the Container Apps environment.') + c.argument('tags', arg_type=tags_type) + + with self.argument_context('containerapp env delete') as c: + c.argument('name', name_type, help='Name of the Container Apps Environment.') + + with self.argument_context('containerapp env show') as c: + c.argument('name', name_type, help='Name of the Container Apps Environment.') + + with self.argument_context('containerapp github-action add') as c: + c.argument('repo_url', help='The GitHub repository to which the workflow file will be added. In the format: https://github.com//') + c.argument('token', help='A Personal Access Token with write access to the specified repository. For more information: https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line') + c.argument('branch', options_list=['--branch', '-b'], help='The branch of the GitHub repo. Defaults to "main" if not specified.') + c.argument('login_with_github', help='Interactively log in with Github to retrieve the Personal Access Token') + c.argument('registry_url', help='The container registry server, e.g. myregistry.azurecr.io') + c.argument('registry_username', help='The username of the registry. If using Azure Container Registry, we will try to infer the credentials if not supplied') + c.argument('registry_password', help='The password of the registry. If using Azure Container Registry, we will try to infer the credentials if not supplied') + c.argument('docker_file_path', help='The dockerfile location, e.g. ./Dockerfile') + c.argument('service_principal_client_id', help='The service principal client ID. ') + c.argument('service_principal_client_secret', help='The service principal client secret.') + c.argument('service_principal_tenant_id', help='The service principal tenant ID.') + + with self.argument_context('containerapp github-action delete') as c: + c.argument('token', help='A Personal Access Token with write access to the specified repository. For more information: https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line') + c.argument('login_with_github', help='Interactively log in with Github to retrieve the Personal Access Token') + + with self.argument_context('containerapp revision') as c: + c.argument('revision_name', options_list=['--revision'], type=str, help='Name of the revision.') + + with self.argument_context('containerapp revision copy') as c: + c.argument('from_revision', type=str, help='Revision to copy from. Default: latest revision.') + + with self.argument_context('containerapp ingress') as c: + c.argument('allow_insecure', help='Allow insecure connections for ingress traffic.') + c.argument('type', validator=validate_ingress, arg_type=get_enum_type(['internal', 'external']), help="The ingress type.") + c.argument('transport', arg_type=get_enum_type(['auto', 'http', 'http2']), help="The transport protocol used for ingress traffic.") + c.argument('target_port', type=int, validator=validate_target_port, help="The application port used for ingress traffic.") + + with self.argument_context('containerapp ingress traffic') as c: + c.argument('traffic_weights', nargs='*', options_list=['--traffic-weight'], help="A list of revision weight(s) for the container app. Space-separated values in 'revision_name=weight' format. For latest revision, use 'latest=weight'") + + with self.argument_context('containerapp secret set') as c: + c.argument('secrets', nargs='+', options_list=['--secrets', '-s'], help="A list of secret(s) for the container app. Space-separated values in 'key=value' format.") + + with self.argument_context('containerapp secret show') as c: + c.argument('secret_name', help="The name of the secret to show.") + + with self.argument_context('containerapp secret remove') as c: + c.argument('secret_names', nargs='+', help="A list of secret(s) for the container app. Space-separated secret values names.") + + with self.argument_context('containerapp env dapr-component') as c: + c.argument('dapr_app_id', help="The Dapr app ID.") + c.argument('dapr_app_port', help="The port of your app.") + c.argument('dapr_app_protocol', help="Tell Dapr which protocol your application is using. Allowed values: grpc, http.") + c.argument('dapr_component_name', help="The Dapr component name.") + c.argument('environment_name', options_list=['--name', '-n'], help="The environment name.") + + with self.argument_context('containerapp revision set-mode') as c: + c.argument('mode', arg_type=get_enum_type(['single', 'multiple']), help="The active revisions mode for the container app.") + + with self.argument_context('containerapp registry') as c: + c.argument('server', help="The container registry server, e.g. myregistry.azurecr.io") + c.argument('username', help='The username of the registry. If using Azure Container Registry, we will try to infer the credentials if not supplied') + c.argument('password', help='The password of the registry. If using Azure Container Registry, we will try to infer the credentials if not supplied') + + with self.argument_context('containerapp registry list') as c: + c.argument('name', id_part=None) + + with self.argument_context('containerapp secret list') as c: + c.argument('name', id_part=None) + + with self.argument_context('containerapp revision list') as c: + c.argument('name', id_part=None) diff --git a/src/containerapp/azext_containerapp/_sdk_models.py b/src/containerapp/azext_containerapp/_sdk_models.py new file mode 100644 index 00000000000..dd93bfce7c2 --- /dev/null +++ b/src/containerapp/azext_containerapp/_sdk_models.py @@ -0,0 +1,3396 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# coding=utf-8 +# -------------------------------------------------------------------------- +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=line-too-long, super-with-arguments, too-many-instance-attributes + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class AllowedAudiencesValidation(Model): + """The configuration settings of the Allowed Audiences validation flow. + + :param allowed_audiences: The configuration settings of the allowed list + of audiences from which to validate the JWT token. + :type allowed_audiences: list[str] + """ + + _attribute_map = { + 'allowed_audiences': {'key': 'allowedAudiences', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AllowedAudiencesValidation, self).__init__(**kwargs) + self.allowed_audiences = kwargs.get('allowed_audiences', None) + + +class Apple(Model): + """The configuration settings of the Apple provider. + + :param state: Disabled if the Apple provider should not be + enabled despite the set registration; otherwise, Enabled. + Possible values include: 'Enabled', 'Disabled' + :type state: str or ~commondefinitions.models.IdentityProviderState + :param registration: The configuration settings of the Apple registration. + :type registration: ~commondefinitions.models.AppleRegistration + :param login: The configuration settings of the login flow. + :type login: ~commondefinitions.models.LoginScopes + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'registration': {'key': 'registration', 'type': 'AppleRegistration'}, + 'login': {'key': 'login', 'type': 'LoginScopes'}, + } + + def __init__(self, **kwargs): + super(Apple, self).__init__(**kwargs) + self.state = kwargs.get('state', None) + self.registration = kwargs.get('registration', None) + self.login = kwargs.get('login', None) + + +class AppleRegistration(Model): + """The configuration settings of the registration for the Apple provider. + + :param client_id: The Client ID of the app used for login. + :type client_id: str + :param client_secret_ref_name: The app secret ref name that contains the + client secret. + :type client_secret_ref_name: str + """ + + _attribute_map = { + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'client_secret_ref_name': {'key': 'clientSecretRefName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AppleRegistration, self).__init__(**kwargs) + self.client_id = kwargs.get('client_id', None) + self.client_secret_ref_name = kwargs.get('client_secret_ref_name', None) + + +class AppLogsConfiguration(Model): + """Configuration of application logs. + + :param destination: Logs destination + :type destination: str + :param log_analytics_configuration: Log Analytics configuration + :type log_analytics_configuration: + ~commondefinitions.models.LogAnalyticsConfiguration + """ + + _attribute_map = { + 'destination': {'key': 'destination', 'type': 'str'}, + 'log_analytics_configuration': {'key': 'logAnalyticsConfiguration', 'type': 'LogAnalyticsConfiguration'}, + } + + def __init__(self, **kwargs): + super(AppLogsConfiguration, self).__init__(**kwargs) + self.destination = kwargs.get('destination', None) + self.log_analytics_configuration = kwargs.get('log_analytics_configuration', None) + + +class AppRegistration(Model): + """The configuration settings of the app registration for providers that have + app ids and app secrets. + + :param app_id: The App ID of the app used for login. + :type app_id: str + :param app_secret_ref_name: The app secret ref name that contains the app + secret. + :type app_secret_ref_name: str + """ + + _attribute_map = { + 'app_id': {'key': 'appId', 'type': 'str'}, + 'app_secret_ref_name': {'key': 'appSecretRefName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AppRegistration, self).__init__(**kwargs) + self.app_id = kwargs.get('app_id', None) + self.app_secret_ref_name = kwargs.get('app_secret_ref_name', None) + + +class Resource(Model): + """Resource. + + Common fields that are returned in the response for all Azure Resource + Manager 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. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy + and modifiedBy information. + :vartype system_data: ~commondefinitions.models.SystemData + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.system_data = None + + +class ProxyResource(Resource): + """Proxy Resource. + + The resource model definition for a Azure Resource Manager proxy resource. + It will not have tags and a location. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy + and modifiedBy information. + :vartype system_data: ~commondefinitions.models.SystemData + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + # def __init__(self, **kwargs): + # super(ProxyResource, self).__init__(**kwargs) + + +class AuthConfig(ProxyResource): + """Configuration settings for the Azure ContainerApp Authentication / + Authorization feature. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy + and modifiedBy information. + :vartype system_data: ~commondefinitions.models.SystemData + :param state: Enabled if the Authentication / Authorization + feature is enabled for the current app; otherwise, Disabled. + Possible values include: 'Enabled', 'Disabled' + :type state: str or ~commondefinitions.models.EasyAuthState + :param global_validation: The configuration settings that determines the + validation flow of users using ContainerApp Authentication/Authorization. + :type global_validation: ~commondefinitions.models.GlobalValidation + :param identity_providers: The configuration settings of each of the + identity providers used to configure ContainerApp + Authentication/Authorization. + :type identity_providers: ~commondefinitions.models.IdentityProviders + :param login: The configuration settings of the login flow of users using + ContainerApp Authentication/Authorization. + :type login: ~commondefinitions.models.Login + :param http_settings: The configuration settings of the HTTP requests for + authentication and authorization requests made against ContainerApp + Authentication/Authorization. + :type http_settings: ~commondefinitions.models.HttpSettings + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'global_validation': {'key': 'properties.globalValidation', 'type': 'GlobalValidation'}, + 'identity_providers': {'key': 'properties.identityProviders', 'type': 'IdentityProviders'}, + 'login': {'key': 'properties.login', 'type': 'Login'}, + 'http_settings': {'key': 'properties.httpSettings', 'type': 'HttpSettings'}, + } + + def __init__(self, **kwargs): + super(AuthConfig, self).__init__(**kwargs) + self.state = kwargs.get('state', None) + self.global_validation = kwargs.get('global_validation', None) + self.identity_providers = kwargs.get('identity_providers', None) + self.login = kwargs.get('login', None) + self.http_settings = kwargs.get('http_settings', None) + + +class AuthConfigCollection(Model): + """AuthConfig collection ARM resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. Collection of resources. + :type value: list[~commondefinitions.models.AuthConfig] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AuthConfig]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AuthConfigCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class AvailableOperations(Model): + """Available operations of the service. + + :param value: Collection of available operation details + :type value: list[~commondefinitions.models.OperationDetail] + :param next_link: URL client should use to fetch the next page (per server + side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationDetail]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AvailableOperations, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class AzureActiveDirectory(Model): + """The configuration settings of the Azure Active directory provider. + + :param state: Disabled if the Azure Active Directory provider + should not be enabled despite the set registration; otherwise, + Enabled. Possible values include: 'Enabled', 'Disabled' + :type state: str or ~commondefinitions.models.IdentityProviderState + :param registration: The configuration settings of the Azure Active + Directory app registration. + :type registration: + ~commondefinitions.models.AzureActiveDirectoryRegistration + :param login: The configuration settings of the Azure Active Directory + login flow. + :type login: ~commondefinitions.models.AzureActiveDirectoryLogin + :param validation: The configuration settings of the Azure Active + Directory token validation flow. + :type validation: ~commondefinitions.models.AzureActiveDirectoryValidation + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'registration': {'key': 'registration', 'type': 'AzureActiveDirectoryRegistration'}, + 'login': {'key': 'login', 'type': 'AzureActiveDirectoryLogin'}, + 'validation': {'key': 'validation', 'type': 'AzureActiveDirectoryValidation'}, + } + + def __init__(self, **kwargs): + super(AzureActiveDirectory, self).__init__(**kwargs) + self.state = kwargs.get('state', None) + self.registration = kwargs.get('registration', None) + self.login = kwargs.get('login', None) + self.validation = kwargs.get('validation', None) + + +class AzureActiveDirectoryLogin(Model): + """The configuration settings of the Azure Active Directory login flow. + + :param login_parameters: Login parameters to send to the OpenID Connect + authorization endpoint when + a user logs in. Each parameter must be in the form "key=value". + :type login_parameters: list[str] + :param disable_www_authenticate: true if the www-authenticate + provider should be omitted from the request; otherwise, + false. Possible values include: 'True', 'False' + :type disable_www_authenticate: str or + ~commondefinitions.models.DisableWwwAuthenticateMode + """ + + _attribute_map = { + 'login_parameters': {'key': 'loginParameters', 'type': '[str]'}, + 'disable_www_authenticate': {'key': 'disableWwwAuthenticate', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureActiveDirectoryLogin, self).__init__(**kwargs) + self.login_parameters = kwargs.get('login_parameters', None) + self.disable_www_authenticate = kwargs.get('disable_www_authenticate', None) + + +class AzureActiveDirectoryRegistration(Model): + """The configuration settings of the Azure Active Directory app registration. + + :param open_id_issuer: The OpenID Connect Issuer URI that represents the + entity which issues access tokens for this application. + When using Azure Active Directory, this value is the URI of the directory + tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/. + This URI is a case-sensitive identifier for the token issuer. + More information on OpenID Connect Discovery: + http://openid.net/specs/openid-connect-discovery-1_0.html + :type open_id_issuer: str + :param client_id: The Client ID of this relying party application, known + as the client_id. + This setting is required for enabling OpenID Connection authentication + with Azure Active Directory or + other 3rd party OpenID Connect providers. + More information on OpenID Connect: + http://openid.net/specs/openid-connect-core-1_0.html + :type client_id: str + :param client_secret_ref_name: The app secret ref name that contains the + client secret of the relying party application. + :type client_secret_ref_name: str + :param client_secret_certificate_thumbprint: An alternative to the client + secret, that is the thumbprint of a certificate used for signing purposes. + This property acts as + a replacement for the Client Secret. It is also optional. + :type client_secret_certificate_thumbprint: str + :param client_secret_certificate_subject_alternative_name: An alternative + to the client secret thumbprint, that is the subject alternative name of a + certificate used for signing purposes. This property acts as + a replacement for the Client Secret Certificate Thumbprint. It is also + optional. + :type client_secret_certificate_subject_alternative_name: str + :param client_secret_certificate_issuer: An alternative to the client + secret thumbprint, that is the issuer of a certificate used for signing + purposes. This property acts as + a replacement for the Client Secret Certificate Thumbprint. It is also + optional. + :type client_secret_certificate_issuer: str + """ + + _attribute_map = { + 'open_id_issuer': {'key': 'openIdIssuer', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'client_secret_ref_name': {'key': 'clientSecretRefName', 'type': 'str'}, + 'client_secret_certificate_thumbprint': {'key': 'clientSecretCertificateThumbprint', 'type': 'str'}, + 'client_secret_certificate_subject_alternative_name': {'key': 'clientSecretCertificateSubjectAlternativeName', 'type': 'str'}, + 'client_secret_certificate_issuer': {'key': 'clientSecretCertificateIssuer', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureActiveDirectoryRegistration, self).__init__(**kwargs) + self.open_id_issuer = kwargs.get('open_id_issuer', None) + self.client_id = kwargs.get('client_id', None) + self.client_secret_ref_name = kwargs.get('client_secret_ref_name', None) + self.client_secret_certificate_thumbprint = kwargs.get('client_secret_certificate_thumbprint', None) + self.client_secret_certificate_subject_alternative_name = kwargs.get('client_secret_certificate_subject_alternative_name', None) + self.client_secret_certificate_issuer = kwargs.get('client_secret_certificate_issuer', None) + + +class AzureActiveDirectoryValidation(Model): + """The configuration settings of the Azure Active Directory token validation + flow. + + :param allowed_audiences: The list of audiences that can make successful + authentication/authorization requests. + :type allowed_audiences: list[str] + """ + + _attribute_map = { + 'allowed_audiences': {'key': 'allowedAudiences', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AzureActiveDirectoryValidation, self).__init__(**kwargs) + self.allowed_audiences = kwargs.get('allowed_audiences', None) + + +class AzureCredentials(Model): + """Container App credentials. + + :param client_id: Client Id. + :type client_id: str + :param client_secret: Client Secret. + :type client_secret: str + :param tenant_id: Tenant Id. + :type tenant_id: str + :param subscription_id: Subscription Id. + :type subscription_id: str + """ + + _attribute_map = { + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'client_secret': {'key': 'clientSecret', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureCredentials, self).__init__(**kwargs) + self.client_id = kwargs.get('client_id', None) + self.client_secret = kwargs.get('client_secret', None) + self.tenant_id = kwargs.get('tenant_id', None) + self.subscription_id = kwargs.get('subscription_id', None) + + +class AzureEntityResource(Resource): + """Entity Resource. + + The resource model definition for an Azure Resource Manager resource with + an etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy + and modifiedBy information. + :vartype system_data: ~commondefinitions.models.SystemData + :ivar etag: Resource Etag. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureEntityResource, self).__init__(**kwargs) + self.etag = None + + +class AzureFileProperties(Model): + """Azure File Properties. + + :param account_name: Storage account name for azure file. + :type account_name: str + :param account_key: Storage account key for azure file. + :type account_key: str + :param access_mode: Access mode for storage. Possible values include: + 'ReadOnly', 'ReadWrite' + :type access_mode: str or ~commondefinitions.models.AccessMode + :param share_name: Azure file share name. + :type share_name: str + """ + + _attribute_map = { + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'account_key': {'key': 'accountKey', 'type': 'str'}, + 'access_mode': {'key': 'accessMode', 'type': 'str'}, + 'share_name': {'key': 'shareName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFileProperties, self).__init__(**kwargs) + self.account_name = kwargs.get('account_name', None) + self.account_key = kwargs.get('account_key', None) + self.access_mode = kwargs.get('access_mode', None) + self.share_name = kwargs.get('share_name', None) + + +class AzureStaticWebApp(Model): + """The configuration settings of the Azure Static Web Apps provider. + + :param state: Disabled if the Azure Static Web Apps provider + should not be enabled despite the set registration; otherwise, + Enabled. Possible values include: 'Enabled', 'Disabled' + :type state: str or ~commondefinitions.models.IdentityProviderState + :param registration: The configuration settings of the Azure Static Web + Apps registration. + :type registration: + ~commondefinitions.models.AzureStaticWebAppRegistration + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'registration': {'key': 'registration', 'type': 'AzureStaticWebAppRegistration'}, + } + + def __init__(self, **kwargs): + super(AzureStaticWebApp, self).__init__(**kwargs) + self.state = kwargs.get('state', None) + self.registration = kwargs.get('registration', None) + + +class AzureStaticWebAppRegistration(Model): + """The configuration settings of the registration for the Azure Static Web + Apps provider. + + :param client_id: The Client ID of the app used for login. + :type client_id: str + """ + + _attribute_map = { + 'client_id': {'key': 'clientId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureStaticWebAppRegistration, self).__init__(**kwargs) + self.client_id = kwargs.get('client_id', None) + + +class TrackedResource(Resource): + """Tracked Resource. + + The resource model definition for an Azure Resource Manager tracked top + level resource which has 'tags' and a 'location'. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy + and modifiedBy information. + :vartype system_data: ~commondefinitions.models.SystemData + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TrackedResource, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.location = kwargs.get('location', None) + + +class Certificate(TrackedResource): + """Certificate used for Custom Domain bindings of Container Apps in a Managed + Environment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy + and modifiedBy information. + :vartype system_data: ~commondefinitions.models.SystemData + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + :param properties: Certificate resource specific properties + :type properties: ~commondefinitions.models.CertificateProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'CertificateProperties'}, + } + + def __init__(self, **kwargs): + super(Certificate, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class CertificateCollection(Model): + """Collection of Certificates. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. Collection of resources. + :type value: list[~commondefinitions.models.Certificate] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Certificate]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CertificateCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class CertificatePatch(Model): + """A certificate to update. + + :param tags: Application-specific metadata in the form of key-value pairs. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(CertificatePatch, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + + +class CertificateProperties(Model): + """Certificate resource specific properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param password: Certificate password. + :type password: str + :ivar subject_name: Subject name of the certificate. + :vartype subject_name: str + :param value: PFX or PEM blob + :type value: bytearray + :ivar issuer: Certificate issuer. + :vartype issuer: str + :ivar issue_date: Certificate issue Date. + :vartype issue_date: datetime + :ivar expiration_date: Certificate expiration date. + :vartype expiration_date: datetime + :ivar thumbprint: Certificate thumbprint. + :vartype thumbprint: str + :ivar valid: Is the certificate valid?. + :vartype valid: bool + :ivar public_key_hash: Public key hash. + :vartype public_key_hash: str + """ + + _validation = { + 'subject_name': {'readonly': True}, + 'issuer': {'readonly': True}, + 'issue_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'thumbprint': {'readonly': True}, + 'valid': {'readonly': True}, + 'public_key_hash': {'readonly': True}, + } + + _attribute_map = { + 'password': {'key': 'password', 'type': 'str'}, + 'subject_name': {'key': 'subjectName', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'bytearray'}, + 'issuer': {'key': 'issuer', 'type': 'str'}, + 'issue_date': {'key': 'issueDate', 'type': 'iso-8601'}, + 'expiration_date': {'key': 'expirationDate', 'type': 'iso-8601'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'valid': {'key': 'valid', 'type': 'bool'}, + 'public_key_hash': {'key': 'publicKeyHash', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CertificateProperties, self).__init__(**kwargs) + self.password = kwargs.get('password', None) + self.subject_name = None + self.value = kwargs.get('value', None) + self.issuer = None + self.issue_date = None + self.expiration_date = None + self.thumbprint = None + self.valid = None + self.public_key_hash = None + + +class ClientRegistration(Model): + """The configuration settings of the app registration for providers that have + client ids and client secrets. + + :param client_id: The Client ID of the app used for login. + :type client_id: str + :param client_secret_ref_name: The app secret ref name that contains the + client secret. + :type client_secret_ref_name: str + """ + + _attribute_map = { + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'client_secret_ref_name': {'key': 'clientSecretRefName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ClientRegistration, self).__init__(**kwargs) + self.client_id = kwargs.get('client_id', None) + self.client_secret_ref_name = kwargs.get('client_secret_ref_name', None) + + +class Configuration(Model): + """Non versioned Container App configuration properties that define the + mutable settings of a Container app. + + :param secrets: Collection of secrets used by a Container app + :type secrets: list[~commondefinitions.models.Secret] + :param active_revisions_mode: ActiveRevisionsMode controls how active + revisions are handled for the Container app: + Multiple: multiple revisions can be active. If no value if + provided, this is the defaultSingle: Only one revision can be + active at a time. Revision weights can not be used in this + mode. Possible values include: 'multiple', 'single' + :type active_revisions_mode: str or + ~commondefinitions.models.ActiveRevisionsMode + :param ingress: Ingress configurations. + :type ingress: ~commondefinitions.models.Ingress + :param dapr: Dapr configuration for the Container App. + :type dapr: ~commondefinitions.models.Dapr + :param registries: Collection of private container registry credentials + for containers used by the Container app + :type registries: list[~commondefinitions.models.RegistryCredentials] + """ + + _attribute_map = { + 'secrets': {'key': 'secrets', 'type': '[Secret]'}, + 'active_revisions_mode': {'key': 'activeRevisionsMode', 'type': 'str'}, + 'ingress': {'key': 'ingress', 'type': 'Ingress'}, + 'dapr': {'key': 'dapr', 'type': 'Dapr'}, + 'registries': {'key': 'registries', 'type': '[RegistryCredentials]'}, + } + + def __init__(self, **kwargs): + super(Configuration, self).__init__(**kwargs) + self.secrets = kwargs.get('secrets', None) + self.active_revisions_mode = kwargs.get('active_revisions_mode', None) + self.ingress = kwargs.get('ingress', None) + self.dapr = kwargs.get('dapr', None) + self.registries = kwargs.get('registries', None) + + +class Container(Model): + """Container App container definition. + + :param image: Container image tag. + :type image: str + :param name: Custom container name. + :type name: str + :param command: Container start command. + :type command: list[str] + :param args: Container start command arguments. + :type args: list[str] + :param env: Container environment variables. + :type env: list[~commondefinitions.models.EnvironmentVar] + :param resources: Container resource requirements. + :type resources: ~commondefinitions.models.ContainerResources + :param probes: List of probes for the container. + :type probes: list[~commondefinitions.models.ContainerAppProbe] + :param volume_mounts: Container volume mounts. + :type volume_mounts: list[~commondefinitions.models.VolumeMount] + """ + + _attribute_map = { + 'image': {'key': 'image', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'command': {'key': 'command', 'type': '[str]'}, + 'args': {'key': 'args', 'type': '[str]'}, + 'env': {'key': 'env', 'type': '[EnvironmentVar]'}, + 'resources': {'key': 'resources', 'type': 'ContainerResources'}, + 'probes': {'key': 'probes', 'type': '[ContainerAppProbe]'}, + 'volume_mounts': {'key': 'volumeMounts', 'type': '[VolumeMount]'}, + } + + def __init__(self, **kwargs): + super(Container, self).__init__(**kwargs) + self.image = kwargs.get('image', None) + self.name = kwargs.get('name', None) + self.command = kwargs.get('command', None) + self.args = kwargs.get('args', None) + self.env = kwargs.get('env', None) + self.resources = kwargs.get('resources', None) + self.probes = kwargs.get('probes', None) + self.volume_mounts = kwargs.get('volume_mounts', None) + + +class ContainerApp(TrackedResource): + """Container App. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy + and modifiedBy information. + :vartype system_data: ~commondefinitions.models.SystemData + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + :param identity: managed identities for the Container App to interact with + other Azure services without maintaining any secrets or credentials in + code. + :type identity: ~commondefinitions.models.ManagedServiceIdentity + :ivar provisioning_state: Provisioning state of the Container App. + Possible values include: 'InProgress', 'Succeeded', 'Failed', 'Canceled' + :vartype provisioning_state: str or + ~commondefinitions.models.ContainerAppProvisioningState + :param managed_environment_id: Resource ID of the Container App's + environment. + :type managed_environment_id: str + :ivar latest_revision_name: Name of the latest revision of the Container + App. + :vartype latest_revision_name: str + :ivar latest_revision_fqdn: Fully Qualified Domain Name of the latest + revision of the Container App. + :vartype latest_revision_fqdn: str + :ivar custom_domain_verification_id: Id used to verify domain name + ownership + :vartype custom_domain_verification_id: str + :param configuration: Non versioned Container App configuration + properties. + :type configuration: ~commondefinitions.models.Configuration + :param template: Container App versioned application definition. + :type template: ~commondefinitions.models.Template + :ivar outbound_ip_addresses: Outbound IP Addresses for container app. + :vartype outbound_ip_addresses: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'latest_revision_name': {'readonly': True}, + 'latest_revision_fqdn': {'readonly': True}, + 'custom_domain_verification_id': {'readonly': True}, + 'outbound_ip_addresses': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'managed_environment_id': {'key': 'properties.managedEnvironmentId', 'type': 'str'}, + 'latest_revision_name': {'key': 'properties.latestRevisionName', 'type': 'str'}, + 'latest_revision_fqdn': {'key': 'properties.latestRevisionFqdn', 'type': 'str'}, + 'custom_domain_verification_id': {'key': 'properties.customDomainVerificationId', 'type': 'str'}, + 'configuration': {'key': 'properties.configuration', 'type': 'Configuration'}, + 'template': {'key': 'properties.template', 'type': 'Template'}, + 'outbound_ip_addresses': {'key': 'properties.outboundIPAddresses', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ContainerApp, self).__init__(**kwargs) + self.identity = kwargs.get('identity', None) + self.provisioning_state = None + self.managed_environment_id = kwargs.get('managed_environment_id', None) + self.latest_revision_name = None + self.latest_revision_fqdn = None + self.custom_domain_verification_id = None + self.configuration = kwargs.get('configuration', None) + self.template = kwargs.get('template', None) + self.outbound_ip_addresses = None + + +class ContainerAppCollection(Model): + """Container App collection ARM resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. Collection of resources. + :type value: list[~commondefinitions.models.ContainerApp] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ContainerApp]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ContainerAppCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class ContainerAppPatch(Model): + """Container App Patch. + + :param tags: Application-specific metadata in the form of key-value pairs. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ContainerAppPatch, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + + +class ContainerAppProbe(Model): + """Probe describes a health check to be performed against a container to + determine whether it is alive or ready to receive traffic. + + :param failure_threshold: Minimum consecutive failures for the probe to be + considered failed after having succeeded. Defaults to 3. Minimum value is + 1. Maximum value is 10. + :type failure_threshold: int + :param http_get: HTTPGet specifies the http request to perform. + :type http_get: ~commondefinitions.models.ContainerAppProbeHttpGet + :param initial_delay_seconds: Number of seconds after the container has + started before liveness probes are initiated. Minimum value is 1. Maximum + value is 60. + :type initial_delay_seconds: int + :param period_seconds: How often (in seconds) to perform the probe. + Default to 10 seconds. Minimum value is 1. Maximum value is 240. + :type period_seconds: int + :param success_threshold: Minimum consecutive successes for the probe to + be considered successful after having failed. Defaults to 1. Must be 1 for + liveness and startup. Minimum value is 1. Maximum value is 10. + :type success_threshold: int + :param tcp_socket: TCPSocket specifies an action involving a TCP port. TCP + hooks not yet supported. + :type tcp_socket: ~commondefinitions.models.ContainerAppProbeTcpSocket + :param termination_grace_period_seconds: Optional duration in seconds the + pod needs to terminate gracefully upon probe failure. The grace period is + the duration in seconds after the processes running in the pod are sent a + termination signal and the time when the processes are forcibly halted + with a kill signal. Set this value longer than the expected cleanup time + for your process. If this value is nil, the pod's + terminationGracePeriodSeconds will be used. Otherwise, this value + overrides the value provided by the pod spec. Value must be non-negative + integer. The value zero indicates stop immediately via the kill signal (no + opportunity to shut down). This is an alpha field and requires enabling + ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 + hour) + :type termination_grace_period_seconds: long + :param timeout_seconds: Number of seconds after which the probe times out. + Defaults to 1 second. Minimum value is 1. Maximum value is 240. + :type timeout_seconds: int + :param type: The type of probe. Possible values include: 'liveness', + 'readiness', 'startup' + :type type: str or ~commondefinitions.models.Type + """ + + _attribute_map = { + 'failure_threshold': {'key': 'failureThreshold', 'type': 'int'}, + 'http_get': {'key': 'httpGet', 'type': 'ContainerAppProbeHttpGet'}, + 'initial_delay_seconds': {'key': 'initialDelaySeconds', 'type': 'int'}, + 'period_seconds': {'key': 'periodSeconds', 'type': 'int'}, + 'success_threshold': {'key': 'successThreshold', 'type': 'int'}, + 'tcp_socket': {'key': 'tcpSocket', 'type': 'ContainerAppProbeTcpSocket'}, + 'termination_grace_period_seconds': {'key': 'terminationGracePeriodSeconds', 'type': 'long'}, + 'timeout_seconds': {'key': 'timeoutSeconds', 'type': 'int'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ContainerAppProbe, self).__init__(**kwargs) + self.failure_threshold = kwargs.get('failure_threshold', None) + self.http_get = kwargs.get('http_get', None) + self.initial_delay_seconds = kwargs.get('initial_delay_seconds', None) + self.period_seconds = kwargs.get('period_seconds', None) + self.success_threshold = kwargs.get('success_threshold', None) + self.tcp_socket = kwargs.get('tcp_socket', None) + self.termination_grace_period_seconds = kwargs.get('termination_grace_period_seconds', None) + self.timeout_seconds = kwargs.get('timeout_seconds', None) + self.type = kwargs.get('type', None) + + +class ContainerAppProbeHttpGet(Model): + """HTTPGet specifies the http request to perform. + + All required parameters must be populated in order to send to Azure. + + :param host: Host name to connect to, defaults to the pod IP. You probably + want to set "Host" in httpHeaders instead. + :type host: str + :param http_headers: Custom headers to set in the request. HTTP allows + repeated headers. + :type http_headers: + list[~commondefinitions.models.ContainerAppProbeHttpGetHttpHeadersItem] + :param path: Path to access on the HTTP server. + :type path: str + :param port: Required. Name or number of the port to access on the + container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + :type port: int + :param scheme: Scheme to use for connecting to the host. Defaults to HTTP. + :type scheme: str + """ + + _validation = { + 'port': {'required': True}, + } + + _attribute_map = { + 'host': {'key': 'host', 'type': 'str'}, + 'http_headers': {'key': 'httpHeaders', 'type': '[ContainerAppProbeHttpGetHttpHeadersItem]'}, + 'path': {'key': 'path', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'scheme': {'key': 'scheme', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ContainerAppProbeHttpGet, self).__init__(**kwargs) + self.host = kwargs.get('host', None) + self.http_headers = kwargs.get('http_headers', None) + self.path = kwargs.get('path', None) + self.port = kwargs.get('port', None) + self.scheme = kwargs.get('scheme', None) + + +class ContainerAppProbeHttpGetHttpHeadersItem(Model): + """HTTPHeader describes a custom header to be used in HTTP probes. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The header field name + :type name: str + :param value: Required. The header field value + :type value: str + """ + + _validation = { + 'name': {'required': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ContainerAppProbeHttpGetHttpHeadersItem, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + + +class ContainerAppProbeTcpSocket(Model): + """TCPSocket specifies an action involving a TCP port. TCP hooks not yet + supported. + + All required parameters must be populated in order to send to Azure. + + :param host: Optional: Host name to connect to, defaults to the pod IP. + :type host: str + :param port: Required. Number or name of the port to access on the + container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + :type port: int + """ + + _validation = { + 'port': {'required': True}, + } + + _attribute_map = { + 'host': {'key': 'host', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ContainerAppProbeTcpSocket, self).__init__(**kwargs) + self.host = kwargs.get('host', None) + self.port = kwargs.get('port', None) + + +class ContainerAppSecret(Model): + """Container App Secret. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: Secret Name. + :vartype name: str + :ivar value: Secret Value. + :vartype value: str + """ + + _validation = { + 'name': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ContainerAppSecret, self).__init__(**kwargs) + self.name = None + self.value = None + + +class ContainerResources(Model): + """Container App container resource requirements. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param cpu: Required CPU in cores, e.g. 0.5 + :type cpu: float + :param memory: Required memory, e.g. "250Mb" + :type memory: str + :ivar ephemeral_storage: Ephemeral Storage, e.g. "1Gi" + :vartype ephemeral_storage: str + """ + + _validation = { + 'ephemeral_storage': {'readonly': True}, + } + + _attribute_map = { + 'cpu': {'key': 'cpu', 'type': 'float'}, + 'memory': {'key': 'memory', 'type': 'str'}, + 'ephemeral_storage': {'key': 'ephemeralStorage', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ContainerResources, self).__init__(**kwargs) + self.cpu = kwargs.get('cpu', None) + self.memory = kwargs.get('memory', None) + self.ephemeral_storage = None + + +class CustomDomain(Model): + """Custom Domain of a Container App. + + :param name: Hostname. + :type name: str + :param binding_type: Custom Domain binding type. Possible values include: + 'Disabled', 'SniEnabled' + :type binding_type: str or ~commondefinitions.models.BindingType + :param certificate_id: Resource Id of the Certificate to be bound to this + hostname. Must exist in the Managed Environment. + :type certificate_id: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'binding_type': {'key': 'bindingType', 'type': 'str'}, + 'certificate_id': {'key': 'certificateId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CustomDomain, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.binding_type = kwargs.get('binding_type', None) + self.certificate_id = kwargs.get('certificate_id', None) + + +class CustomHostnameAnalysisResult(ProxyResource): + """Custom domain analysis. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy + and modifiedBy information. + :vartype system_data: ~commondefinitions.models.SystemData + :ivar host_name: Host name that was analyzed + :vartype host_name: str + :ivar is_hostname_already_verified: true if hostname is + already verified; otherwise, false. + :vartype is_hostname_already_verified: bool + :ivar custom_domain_verification_test: DNS verification test result. + Possible values include: 'Passed', 'Failed', 'Skipped' + :vartype custom_domain_verification_test: str or + ~commondefinitions.models.DnsVerificationTestResult + :ivar custom_domain_verification_failure_info: Raw failure information if + DNS verification fails. + :vartype custom_domain_verification_failure_info: + ~commondefinitions.models.DefaultErrorResponse + :ivar has_conflict_on_managed_environment: true if there is a + conflict on the Container App's managed environment; otherwise, + false. + :vartype has_conflict_on_managed_environment: bool + :ivar conflicting_container_app_resource_id: Name of the conflicting + Container App on the Managed Environment if it's within the same + subscription. + :vartype conflicting_container_app_resource_id: str + :param c_name_records: CName records visible for this hostname. + :type c_name_records: list[str] + :param txt_records: TXT records visible for this hostname. + :type txt_records: list[str] + :param a_records: A records visible for this hostname. + :type a_records: list[str] + :param alternate_cname_records: Alternate CName records visible for this + hostname. + :type alternate_cname_records: list[str] + :param alternate_txt_records: Alternate TXT records visible for this + hostname. + :type alternate_txt_records: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'host_name': {'readonly': True}, + 'is_hostname_already_verified': {'readonly': True}, + 'custom_domain_verification_test': {'readonly': True}, + 'custom_domain_verification_failure_info': {'readonly': True}, + 'has_conflict_on_managed_environment': {'readonly': True}, + 'conflicting_container_app_resource_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'host_name': {'key': 'properties.hostName', 'type': 'str'}, + 'is_hostname_already_verified': {'key': 'properties.isHostnameAlreadyVerified', 'type': 'bool'}, + 'custom_domain_verification_test': {'key': 'properties.customDomainVerificationTest', 'type': 'DnsVerificationTestResult'}, + 'custom_domain_verification_failure_info': {'key': 'properties.customDomainVerificationFailureInfo', 'type': 'DefaultErrorResponse'}, + 'has_conflict_on_managed_environment': {'key': 'properties.hasConflictOnManagedEnvironment', 'type': 'bool'}, + 'conflicting_container_app_resource_id': {'key': 'properties.conflictingContainerAppResourceId', 'type': 'str'}, + 'c_name_records': {'key': 'properties.cNameRecords', 'type': '[str]'}, + 'txt_records': {'key': 'properties.txtRecords', 'type': '[str]'}, + 'a_records': {'key': 'properties.aRecords', 'type': '[str]'}, + 'alternate_cname_records': {'key': 'properties.alternateCNameRecords', 'type': '[str]'}, + 'alternate_txt_records': {'key': 'properties.alternateTxtRecords', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(CustomHostnameAnalysisResult, self).__init__(**kwargs) + self.host_name = None + self.is_hostname_already_verified = None + self.custom_domain_verification_test = None + self.custom_domain_verification_failure_info = None + self.has_conflict_on_managed_environment = None + self.conflicting_container_app_resource_id = None + self.c_name_records = kwargs.get('c_name_records', None) + self.txt_records = kwargs.get('txt_records', None) + self.a_records = kwargs.get('a_records', None) + self.alternate_cname_records = kwargs.get('alternate_cname_records', None) + self.alternate_txt_records = kwargs.get('alternate_txt_records', None) + + +class CustomOpenIdConnectProvider(Model): + """The configuration settings of the custom Open ID Connect provider. + + :param state: Disabled if the custom Open ID Connect provider + should not be enabled despite the set registration; otherwise, + Enabled. Possible values include: 'Enabled', 'Disabled' + :type state: str or ~commondefinitions.models.IdentityProviderState + :param registration: The configuration settings of the app registration + for the custom Open ID Connect provider. + :type registration: ~commondefinitions.models.OpenIdConnectRegistration + :param login: The configuration settings of the login flow of the custom + Open ID Connect provider. + :type login: ~commondefinitions.models.OpenIdConnectLogin + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'registration': {'key': 'registration', 'type': 'OpenIdConnectRegistration'}, + 'login': {'key': 'login', 'type': 'OpenIdConnectLogin'}, + } + + def __init__(self, **kwargs): + super(CustomOpenIdConnectProvider, self).__init__(**kwargs) + self.state = kwargs.get('state', None) + self.registration = kwargs.get('registration', None) + self.login = kwargs.get('login', None) + + +class CustomScaleRule(Model): + """Container App container Custom scaling rule. + + :param type: Type of the custom scale rule + eg: azure-servicebus, redis etc. + :type type: str + :param metadata: Metadata properties to describe custom scale rule. + :type metadata: dict[str, str] + :param auth: Authentication secrets for the custom scale rule. + :type auth: list[~commondefinitions.models.ScaleRuleAuth] + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'metadata': {'key': 'metadata', 'type': '{str}'}, + 'auth': {'key': 'auth', 'type': '[ScaleRuleAuth]'}, + } + + def __init__(self, **kwargs): + super(CustomScaleRule, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.metadata = kwargs.get('metadata', None) + self.auth = kwargs.get('auth', None) + + +class Dapr(Model): + """Container App Dapr configuration. + + :param enabled: Boolean indicating if the Dapr side car is enabled + :type enabled: bool + :param app_id: Dapr application identifier + :type app_id: str + :param app_protocol: Tells Dapr which protocol your application is using. + Valid options are http and grpc. Default is http. Possible values include: + 'http', 'grpc' + :type app_protocol: str or ~commondefinitions.models.AppProtocol + :param app_port: Tells Dapr which port your application is listening on + :type app_port: int + """ + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'app_id': {'key': 'appId', 'type': 'str'}, + 'app_protocol': {'key': 'appProtocol', 'type': 'str'}, + 'app_port': {'key': 'appPort', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(Dapr, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.app_id = kwargs.get('app_id', None) + self.app_protocol = kwargs.get('app_protocol', None) + self.app_port = kwargs.get('app_port', None) + + +class DaprComponent(ProxyResource): + """Dapr Component. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy + and modifiedBy information. + :vartype system_data: ~commondefinitions.models.SystemData + :param component_type: Component type + :type component_type: str + :param version: Component version + :type version: str + :param ignore_errors: Boolean describing if the component errors are + ignores + :type ignore_errors: bool + :param init_timeout: Initialization timeout + :type init_timeout: str + :param secrets: Collection of secrets used by a Dapr component + :type secrets: list[~commondefinitions.models.Secret] + :param metadata: Component metadata + :type metadata: list[~commondefinitions.models.DaprMetadata] + :param scopes: Names of container apps that can use this Dapr component + :type scopes: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'component_type': {'key': 'properties.componentType', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'ignore_errors': {'key': 'properties.ignoreErrors', 'type': 'bool'}, + 'init_timeout': {'key': 'properties.initTimeout', 'type': 'str'}, + 'secrets': {'key': 'properties.secrets', 'type': '[Secret]'}, + 'metadata': {'key': 'properties.metadata', 'type': '[DaprMetadata]'}, + 'scopes': {'key': 'properties.scopes', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(DaprComponent, self).__init__(**kwargs) + self.component_type = kwargs.get('component_type', None) + self.version = kwargs.get('version', None) + self.ignore_errors = kwargs.get('ignore_errors', None) + self.init_timeout = kwargs.get('init_timeout', None) + self.secrets = kwargs.get('secrets', None) + self.metadata = kwargs.get('metadata', None) + self.scopes = kwargs.get('scopes', None) + + +class DaprComponentsCollection(Model): + """Dapr Components ARM resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. Collection of resources. + :type value: list[~commondefinitions.models.DaprComponent] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DaprComponent]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DaprComponentsCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class DaprMetadata(Model): + """Dapr component metadata. + + :param name: Metadata property name. + :type name: str + :param value: Metadata property value. + :type value: str + :param secret_ref: Name of the Dapr Component secret from which to pull + the metadata property value. + :type secret_ref: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'secret_ref': {'key': 'secretRef', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DaprMetadata, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + self.secret_ref = kwargs.get('secret_ref', None) + + +class DefaultErrorResponse(Model): + """App Service error response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar error: Error model. + :vartype error: ~commondefinitions.models.DefaultErrorResponseError + """ + + _validation = { + 'error': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'DefaultErrorResponseError'}, + } + + def __init__(self, **kwargs): + super(DefaultErrorResponse, self).__init__(**kwargs) + self.error = None + + +class DefaultErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'DefaultErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(DefaultErrorResponseException, self).__init__(deserialize, response, 'DefaultErrorResponse', *args) + + +class DefaultErrorResponseError(Model): + """Error model. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Standardized string to programmatically identify the error. + :vartype code: str + :ivar message: Detailed error description and debugging information. + :vartype message: str + :ivar target: Detailed error description and debugging information. + :vartype target: str + :param details: Details or the error + :type details: + list[~commondefinitions.models.DefaultErrorResponseErrorDetailsItem] + :ivar innererror: More information to debug error. + :vartype innererror: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'innererror': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[DefaultErrorResponseErrorDetailsItem]'}, + 'innererror': {'key': 'innererror', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DefaultErrorResponseError, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = kwargs.get('details', None) + self.innererror = None + + +class DefaultErrorResponseErrorDetailsItem(Model): + """Detailed errors. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Standardized string to programmatically identify the error. + :vartype code: str + :ivar message: Detailed error description and debugging information. + :vartype message: str + :ivar target: Detailed error description and debugging information. + :vartype target: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DefaultErrorResponseErrorDetailsItem, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + + +class EnvironmentVar(Model): + """Container App container environment variable. + + :param name: Environment variable name. + :type name: str + :param value: Non-secret environment variable value. + :type value: str + :param secret_ref: Name of the Container App secret from which to pull the + environment variable value. + :type secret_ref: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'secret_ref': {'key': 'secretRef', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EnvironmentVar, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + self.secret_ref = kwargs.get('secret_ref', None) + + +class Facebook(Model): + """The configuration settings of the Facebook provider. + + :param state: Disabled if the Facebook provider should not be + enabled despite the set registration; otherwise, Enabled. + Possible values include: 'Enabled', 'Disabled' + :type state: str or ~commondefinitions.models.IdentityProviderState + :param registration: The configuration settings of the app registration + for the Facebook provider. + :type registration: ~commondefinitions.models.AppRegistration + :param graph_api_version: The version of the Facebook api to be used while + logging in. + :type graph_api_version: str + :param login: The configuration settings of the login flow. + :type login: ~commondefinitions.models.LoginScopes + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'registration': {'key': 'registration', 'type': 'AppRegistration'}, + 'graph_api_version': {'key': 'graphApiVersion', 'type': 'str'}, + 'login': {'key': 'login', 'type': 'LoginScopes'}, + } + + def __init__(self, **kwargs): + super(Facebook, self).__init__(**kwargs) + self.state = kwargs.get('state', None) + self.registration = kwargs.get('registration', None) + self.graph_api_version = kwargs.get('graph_api_version', None) + self.login = kwargs.get('login', None) + + +class GitHub(Model): + """The configuration settings of the GitHub provider. + + :param state: Disabled if the GitHub provider should not be + enabled despite the set registration; otherwise, Enabled. + Possible values include: 'Enabled', 'Disabled' + :type state: str or ~commondefinitions.models.IdentityProviderState + :param registration: The configuration settings of the app registration + for the GitHub provider. + :type registration: ~commondefinitions.models.ClientRegistration + :param login: The configuration settings of the login flow. + :type login: ~commondefinitions.models.LoginScopes + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'registration': {'key': 'registration', 'type': 'ClientRegistration'}, + 'login': {'key': 'login', 'type': 'LoginScopes'}, + } + + def __init__(self, **kwargs): + super(GitHub, self).__init__(**kwargs) + self.state = kwargs.get('state', None) + self.registration = kwargs.get('registration', None) + self.login = kwargs.get('login', None) + + +class GithubActionConfiguration(Model): + """Configuration properties that define the mutable settings of a Container + App SourceControl. + + :param registry_info: Registry configurations. + :type registry_info: ~commondefinitions.models.RegistryInfo + :param azure_credentials: AzureCredentials configurations. + :type azure_credentials: ~commondefinitions.models.AzureCredentials + :param dockerfile_path: Docker file path + :type dockerfile_path: str + :param publish_type: Code or Image + :type publish_type: str + :param os: Operation system + :type os: str + :param runtime_stack: Runtime stack + :type runtime_stack: str + :param runtime_version: Runtime Version + :type runtime_version: str + """ + + _attribute_map = { + 'registry_info': {'key': 'registryInfo', 'type': 'RegistryInfo'}, + 'azure_credentials': {'key': 'azureCredentials', 'type': 'AzureCredentials'}, + 'dockerfile_path': {'key': 'dockerfilePath', 'type': 'str'}, + 'publish_type': {'key': 'publishType', 'type': 'str'}, + 'os': {'key': 'os', 'type': 'str'}, + 'runtime_stack': {'key': 'runtimeStack', 'type': 'str'}, + 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(GithubActionConfiguration, self).__init__(**kwargs) + self.registry_info = kwargs.get('registry_info', None) + self.azure_credentials = kwargs.get('azure_credentials', None) + self.dockerfile_path = kwargs.get('dockerfile_path', None) + self.publish_type = kwargs.get('publish_type', None) + self.os = kwargs.get('os', None) + self.runtime_stack = kwargs.get('runtime_stack', None) + self.runtime_version = kwargs.get('runtime_version', None) + + +class GlobalValidation(Model): + """The configuration settings that determines the validation flow of users + using ContainerApp Authentication/Authorization. + + :param unauthenticated_client_action: The action to take when an + unauthenticated client attempts to access the app. Possible values + include: 'RedirectToLoginPage', 'AllowAnonymous', 'Return401', 'Return403' + :type unauthenticated_client_action: str or + ~commondefinitions.models.UnauthenticatedClientAction + :param redirect_to_provider: The default authentication provider to use + when multiple providers are configured. + This setting is only needed if multiple providers are configured and the + unauthenticated client + action is set to "RedirectToLoginPage". + :type redirect_to_provider: str + """ + + _attribute_map = { + 'unauthenticated_client_action': {'key': 'unauthenticatedClientAction', 'type': 'str'}, + 'redirect_to_provider': {'key': 'redirectToProvider', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(GlobalValidation, self).__init__(**kwargs) + self.unauthenticated_client_action = kwargs.get('unauthenticated_client_action', None) + self.redirect_to_provider = kwargs.get('redirect_to_provider', None) + + +class Google(Model): + """The configuration settings of the Google provider. + + :param state: Disabled if the Google provider should not be + enabled despite the set registration; otherwise, Enabled. + Possible values include: 'Enabled', 'Disabled' + :type state: str or ~commondefinitions.models.IdentityProviderState + :param registration: The configuration settings of the app registration + for the Google provider. + :type registration: ~commondefinitions.models.ClientRegistration + :param login: The configuration settings of the login flow. + :type login: ~commondefinitions.models.LoginScopes + :param validation: The configuration settings of the Azure Active + Directory token validation flow. + :type validation: ~commondefinitions.models.AllowedAudiencesValidation + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'registration': {'key': 'registration', 'type': 'ClientRegistration'}, + 'login': {'key': 'login', 'type': 'LoginScopes'}, + 'validation': {'key': 'validation', 'type': 'AllowedAudiencesValidation'}, + } + + def __init__(self, **kwargs): + super(Google, self).__init__(**kwargs) + self.state = kwargs.get('state', None) + self.registration = kwargs.get('registration', None) + self.login = kwargs.get('login', None) + self.validation = kwargs.get('validation', None) + + +class HttpScaleRule(Model): + """Container App container Custom scaling rule. + + :param metadata: Metadata properties to describe http scale rule. + :type metadata: dict[str, str] + :param auth: Authentication secrets for the custom scale rule. + :type auth: list[~commondefinitions.models.ScaleRuleAuth] + """ + + _attribute_map = { + 'metadata': {'key': 'metadata', 'type': '{str}'}, + 'auth': {'key': 'auth', 'type': '[ScaleRuleAuth]'}, + } + + def __init__(self, **kwargs): + super(HttpScaleRule, self).__init__(**kwargs) + self.metadata = kwargs.get('metadata', None) + self.auth = kwargs.get('auth', None) + + +class HttpSettings(Model): + """The configuration settings of the HTTP requests for authentication and + authorization requests made against ContainerApp + Authentication/Authorization. + + :param require_https: false if the + authentication/authorization responses not having the HTTPS scheme are + permissible; otherwise, true. Possible values include: + 'True', 'False' + :type require_https: str or ~commondefinitions.models.RequireHttpsMode + :param route: The configuration settings of the paths HTTP requests. + :type route: ~commondefinitions.models.HttpSettingsRoute + """ + + _attribute_map = { + 'require_https': {'key': 'requireHttps', 'type': 'str'}, + 'route': {'key': 'route', 'type': 'HttpSettingsRoute'}, + } + + def __init__(self, **kwargs): + super(HttpSettings, self).__init__(**kwargs) + self.require_https = kwargs.get('require_https', None) + self.route = kwargs.get('route', None) + + +class HttpSettingsRoute(Model): + """The configuration settings of the paths HTTP requests. + + :param api_prefix: The prefix that should precede all the + authentication/authorization paths. + :type api_prefix: str + """ + + _attribute_map = { + 'api_prefix': {'key': 'apiPrefix', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HttpSettingsRoute, self).__init__(**kwargs) + self.api_prefix = kwargs.get('api_prefix', None) + + +class IdentityProviders(Model): + """The configuration settings of each of the identity providers used to + configure ContainerApp Authentication/Authorization. + + :param azure_active_directory: The configuration settings of the Azure + Active directory provider. + :type azure_active_directory: + ~commondefinitions.models.AzureActiveDirectory + :param facebook: The configuration settings of the Facebook provider. + :type facebook: ~commondefinitions.models.Facebook + :param git_hub: The configuration settings of the GitHub provider. + :type git_hub: ~commondefinitions.models.GitHub + :param google: The configuration settings of the Google provider. + :type google: ~commondefinitions.models.Google + :param legacy_microsoft_account: The configuration settings of the legacy + Microsoft Account provider. + :type legacy_microsoft_account: + ~commondefinitions.models.LegacyMicrosoftAccount + :param twitter: The configuration settings of the Twitter provider. + :type twitter: ~commondefinitions.models.Twitter + :param apple: The configuration settings of the Apple provider. + :type apple: ~commondefinitions.models.Apple + :param azure_static_web_app: The configuration settings of the Azure + Static Web Apps provider. + :type azure_static_web_app: ~commondefinitions.models.AzureStaticWebApp + :param custom_open_id_connect_providers: The map of the name of the alias + of each custom Open ID Connect provider to the + configuration settings of the custom Open ID Connect provider. + :type custom_open_id_connect_providers: dict[str, + ~commondefinitions.models.CustomOpenIdConnectProvider] + """ + + _attribute_map = { + 'azure_active_directory': {'key': 'azureActiveDirectory', 'type': 'AzureActiveDirectory'}, + 'facebook': {'key': 'facebook', 'type': 'Facebook'}, + 'git_hub': {'key': 'gitHub', 'type': 'GitHub'}, + 'google': {'key': 'google', 'type': 'Google'}, + 'legacy_microsoft_account': {'key': 'legacyMicrosoftAccount', 'type': 'LegacyMicrosoftAccount'}, + 'twitter': {'key': 'twitter', 'type': 'Twitter'}, + 'apple': {'key': 'apple', 'type': 'Apple'}, + 'azure_static_web_app': {'key': 'azureStaticWebApp', 'type': 'AzureStaticWebApp'}, + 'custom_open_id_connect_providers': {'key': 'customOpenIdConnectProviders', 'type': '{CustomOpenIdConnectProvider}'}, + } + + def __init__(self, **kwargs): + super(IdentityProviders, self).__init__(**kwargs) + self.azure_active_directory = kwargs.get('azure_active_directory', None) + self.facebook = kwargs.get('facebook', None) + self.git_hub = kwargs.get('git_hub', None) + self.google = kwargs.get('google', None) + self.legacy_microsoft_account = kwargs.get('legacy_microsoft_account', None) + self.twitter = kwargs.get('twitter', None) + self.apple = kwargs.get('apple', None) + self.azure_static_web_app = kwargs.get('azure_static_web_app', None) + self.custom_open_id_connect_providers = kwargs.get('custom_open_id_connect_providers', None) + + +class Ingress(Model): + """Container App Ingress configuration. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar fqdn: Hostname. + :vartype fqdn: str + :param external: Bool indicating if app exposes an external http endpoint. + Default value: False . + :type external: bool + :param target_port: Target Port in containers for traffic from ingress + :type target_port: int + :param transport: Ingress transport protocol. Possible values include: + 'auto', 'http', 'http2' + :type transport: str or ~commondefinitions.models.IngressTransportMethod + :param traffic: Traffic weights for app's revisions + :type traffic: list[~commondefinitions.models.TrafficWeight] + :param custom_domains: custom domain bindings for Container Apps' + hostnames. + :type custom_domains: list[~commondefinitions.models.CustomDomain] + :param allow_insecure: Bool indicating if HTTP connections to is allowed. + If set to false HTTP connections are automatically redirected to HTTPS + connections + :type allow_insecure: bool + """ + + _validation = { + 'fqdn': {'readonly': True}, + } + + _attribute_map = { + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'external': {'key': 'external', 'type': 'bool'}, + 'target_port': {'key': 'targetPort', 'type': 'int'}, + 'transport': {'key': 'transport', 'type': 'str'}, + 'traffic': {'key': 'traffic', 'type': '[TrafficWeight]'}, + 'custom_domains': {'key': 'customDomains', 'type': '[CustomDomain]'}, + 'allow_insecure': {'key': 'allowInsecure', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(Ingress, self).__init__(**kwargs) + self.fqdn = None + self.external = kwargs.get('external', False) + self.target_port = kwargs.get('target_port', None) + self.transport = kwargs.get('transport', None) + self.traffic = kwargs.get('traffic', None) + self.custom_domains = kwargs.get('custom_domains', None) + self.allow_insecure = kwargs.get('allow_insecure', None) + + +class LegacyMicrosoftAccount(Model): + """The configuration settings of the legacy Microsoft Account provider. + + :param state: Disabled if the legacy Microsoft Account + provider should not be enabled despite the set registration; otherwise, + Enabled. Possible values include: 'Enabled', 'Disabled' + :type state: str or ~commondefinitions.models.IdentityProviderState + :param registration: The configuration settings of the app registration + for the legacy Microsoft Account provider. + :type registration: ~commondefinitions.models.ClientRegistration + :param login: The configuration settings of the login flow. + :type login: ~commondefinitions.models.LoginScopes + :param validation: The configuration settings of the legacy Microsoft + Account provider token validation flow. + :type validation: ~commondefinitions.models.AllowedAudiencesValidation + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'registration': {'key': 'registration', 'type': 'ClientRegistration'}, + 'login': {'key': 'login', 'type': 'LoginScopes'}, + 'validation': {'key': 'validation', 'type': 'AllowedAudiencesValidation'}, + } + + def __init__(self, **kwargs): + super(LegacyMicrosoftAccount, self).__init__(**kwargs) + self.state = kwargs.get('state', None) + self.registration = kwargs.get('registration', None) + self.login = kwargs.get('login', None) + self.validation = kwargs.get('validation', None) + + +class LogAnalyticsConfiguration(Model): + """Log analytics configuration. + + :param customer_id: Log analytics customer id + :type customer_id: str + :param shared_key: Log analytics customer key + :type shared_key: str + """ + + _attribute_map = { + 'customer_id': {'key': 'customerId', 'type': 'str'}, + 'shared_key': {'key': 'sharedKey', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LogAnalyticsConfiguration, self).__init__(**kwargs) + self.customer_id = kwargs.get('customer_id', None) + self.shared_key = kwargs.get('shared_key', None) + + +class Login(Model): + """The configuration settings of the login flow of users using ContainerApp + Authentication/Authorization. + + :param route: The route that specify the endpoint used for login and + logout requests. + :type route: ~commondefinitions.models.LoginRoute + :param preserve_url_fragments_for_logins: True if the + fragments from the request are preserved after the login request is made; + otherwise, False. Possible values include: 'True', 'False' + :type preserve_url_fragments_for_logins: str or + ~commondefinitions.models.PreserveUrlFragmentsForLoginsMode + :param allowed_external_redirect_urls: External URLs that can be + redirected to as part of logging in or logging out of the app. Note that + the query string part of the URL is ignored. + This is an advanced setting typically only needed by Windows Store + application backends. + Note that URLs within the current domain are always implicitly allowed. + :type allowed_external_redirect_urls: list[str] + """ + + _attribute_map = { + 'route': {'key': 'route', 'type': 'LoginRoute'}, + 'preserve_url_fragments_for_logins': {'key': 'preserveUrlFragmentsForLogins', 'type': 'str'}, + 'allowed_external_redirect_urls': {'key': 'allowedExternalRedirectUrls', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(Login, self).__init__(**kwargs) + self.route = kwargs.get('route', None) + self.preserve_url_fragments_for_logins = kwargs.get('preserve_url_fragments_for_logins', None) + self.allowed_external_redirect_urls = kwargs.get('allowed_external_redirect_urls', None) + + +class LoginRoute(Model): + """The route that specify the endpoint used for login and logout requests. + + :param logout_endpoint: The endpoint at which a logout request should be + made. + :type logout_endpoint: str + """ + + _attribute_map = { + 'logout_endpoint': {'key': 'logoutEndpoint', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LoginRoute, self).__init__(**kwargs) + self.logout_endpoint = kwargs.get('logout_endpoint', None) + + +class LoginScopes(Model): + """The configuration settings of the login flow, including the scopes that + should be requested. + + :param scopes: A list of the scopes that should be requested while + authenticating. + :type scopes: list[str] + """ + + _attribute_map = { + 'scopes': {'key': 'scopes', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(LoginScopes, self).__init__(**kwargs) + self.scopes = kwargs.get('scopes', None) + + +class ManagedEnvironment(TrackedResource): + """An environment for hosting container apps. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy + and modifiedBy information. + :vartype system_data: ~commondefinitions.models.SystemData + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + :ivar provisioning_state: Provisioning state of the Environment. Possible + values include: 'Succeeded', 'Failed', 'Canceled', 'Waiting', + 'InitializationInProgress', 'InfrastructureSetupInProgress', + 'InfrastructureSetupComplete', 'ScheduledForDelete', 'UpgradeRequested', + 'UpgradeFailed' + :vartype provisioning_state: str or + ~commondefinitions.models.EnvironmentProvisioningState + :param dapr_ai_instrumentation_key: Azure Monitor instrumentation key used + by Dapr to export Service to Service communication telemetry + :type dapr_ai_instrumentation_key: str + :param vnet_configuration: Vnet configuration for the environment + :type vnet_configuration: ~commondefinitions.models.VnetConfiguration + :ivar deployment_errors: Any errors that occurred during deployment or + deployment validation + :vartype deployment_errors: str + :ivar default_domain: Default Domain Name for the cluster + :vartype default_domain: str + :ivar static_ip: Static IP of the Environment + :vartype static_ip: str + :param app_logs_configuration: Cluster configuration which enables the log + daemon to export + app logs to a destination. Currently only "log-analytics" is + supported + :type app_logs_configuration: + ~commondefinitions.models.AppLogsConfiguration + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'deployment_errors': {'readonly': True}, + 'default_domain': {'readonly': True}, + 'static_ip': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'dapr_ai_instrumentation_key': {'key': 'properties.daprAIInstrumentationKey', 'type': 'str'}, + 'vnet_configuration': {'key': 'properties.vnetConfiguration', 'type': 'VnetConfiguration'}, + 'deployment_errors': {'key': 'properties.deploymentErrors', 'type': 'str'}, + 'default_domain': {'key': 'properties.defaultDomain', 'type': 'str'}, + 'static_ip': {'key': 'properties.staticIp', 'type': 'str'}, + 'app_logs_configuration': {'key': 'properties.appLogsConfiguration', 'type': 'AppLogsConfiguration'}, + } + + def __init__(self, **kwargs): + super(ManagedEnvironment, self).__init__(**kwargs) + self.provisioning_state = None + self.dapr_ai_instrumentation_key = kwargs.get('dapr_ai_instrumentation_key', None) + self.vnet_configuration = kwargs.get('vnet_configuration', None) + self.deployment_errors = None + self.default_domain = None + self.static_ip = None + self.app_logs_configuration = kwargs.get('app_logs_configuration', None) + + +class ManagedEnvironmentPatch(Model): + """An environment for hosting container apps. + + :param tags: Application-specific metadata in the form of key-value pairs. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ManagedEnvironmentPatch, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + + +class ManagedEnvironmentsCollection(Model): + """Collection of Environments. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. Collection of resources. + :type value: list[~commondefinitions.models.ManagedEnvironment] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ManagedEnvironment]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedEnvironmentsCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class ManagedEnvironmentStorage(ProxyResource): + """Storage resource for managedEnvironment. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy + and modifiedBy information. + :vartype system_data: ~commondefinitions.models.SystemData + :param properties: Storage properties + :type properties: + ~commondefinitions.models.ManagedEnvironmentStorageProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'properties': {'key': 'properties', 'type': 'ManagedEnvironmentStorageProperties'}, + } + + def __init__(self, **kwargs): + super(ManagedEnvironmentStorage, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class ManagedEnvironmentStorageProperties(Model): + """Storage properties. + + :param azure_file: Azure file properties + :type azure_file: ~commondefinitions.models.AzureFileProperties + """ + + _attribute_map = { + 'azure_file': {'key': 'azureFile', 'type': 'AzureFileProperties'}, + } + + def __init__(self, **kwargs): + super(ManagedEnvironmentStorageProperties, self).__init__(**kwargs) + self.azure_file = kwargs.get('azure_file', None) + + +class ManagedEnvironmentStoragesCollection(Model): + """Collection of Storage for Environments. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. Collection of storage resources. + :type value: list[~commondefinitions.models.ManagedEnvironmentStorage] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ManagedEnvironmentStorage]'}, + } + + def __init__(self, **kwargs): + super(ManagedEnvironmentStoragesCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class ManagedServiceIdentity(Model): + """Managed service identity (system assigned and/or user assigned identities). + + 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 principal_id: The service principal ID of the system assigned + identity. This property will only be provided for a system assigned + identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of the system assigned identity. This + property will only be provided for a system assigned identity. + :vartype tenant_id: str + :param type: Required. Possible values include: 'None', 'SystemAssigned', + 'UserAssigned', 'SystemAssigned,UserAssigned' + :type type: str or ~commondefinitions.models.ManagedServiceIdentityType + :param user_assigned_identities: + :type user_assigned_identities: dict[str, + ~commondefinitions.models.UserAssignedIdentity] + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{UserAssignedIdentity}'}, + } + + def __init__(self, **kwargs): + super(ManagedServiceIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) + self.user_assigned_identities = kwargs.get('user_assigned_identities', None) + + +class OpenIdConnectClientCredential(Model): + """The authentication client credentials of the custom Open ID Connect + provider. + + :param client_secret_ref_name: The app setting that contains the client + secret for the custom Open ID Connect provider. + :type client_secret_ref_name: str + """ + + _attribute_map = { + 'client_secret_ref_name': {'key': 'clientSecretRefName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OpenIdConnectClientCredential, self).__init__(**kwargs) + self.client_secret_ref_name = kwargs.get('client_secret_ref_name', None) + + +class OpenIdConnectConfig(Model): + """The configuration settings of the endpoints used for the custom Open ID + Connect provider. + + :param authorization_endpoint: The endpoint to be used to make an + authorization request. + :type authorization_endpoint: str + :param token_endpoint: The endpoint to be used to request a token. + :type token_endpoint: str + :param issuer: The endpoint that issues the token. + :type issuer: str + :param certification_uri: The endpoint that provides the keys necessary to + validate the token. + :type certification_uri: str + :param well_known_open_id_configuration: The endpoint that contains all + the configuration endpoints for the provider. + :type well_known_open_id_configuration: str + """ + + _attribute_map = { + 'authorization_endpoint': {'key': 'authorizationEndpoint', 'type': 'str'}, + 'token_endpoint': {'key': 'tokenEndpoint', 'type': 'str'}, + 'issuer': {'key': 'issuer', 'type': 'str'}, + 'certification_uri': {'key': 'certificationUri', 'type': 'str'}, + 'well_known_open_id_configuration': {'key': 'wellKnownOpenIdConfiguration', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OpenIdConnectConfig, self).__init__(**kwargs) + self.authorization_endpoint = kwargs.get('authorization_endpoint', None) + self.token_endpoint = kwargs.get('token_endpoint', None) + self.issuer = kwargs.get('issuer', None) + self.certification_uri = kwargs.get('certification_uri', None) + self.well_known_open_id_configuration = kwargs.get('well_known_open_id_configuration', None) + + +class OpenIdConnectLogin(Model): + """The configuration settings of the login flow of the custom Open ID Connect + provider. + + :param name_claim_type: The name of the claim that contains the users + name. + :type name_claim_type: str + :param scopes: A list of the scopes that should be requested while + authenticating. + :type scopes: list[str] + """ + + _attribute_map = { + 'name_claim_type': {'key': 'nameClaimType', 'type': 'str'}, + 'scopes': {'key': 'scopes', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(OpenIdConnectLogin, self).__init__(**kwargs) + self.name_claim_type = kwargs.get('name_claim_type', None) + self.scopes = kwargs.get('scopes', None) + + +class OpenIdConnectRegistration(Model): + """The configuration settings of the app registration for the custom Open ID + Connect provider. + + :param client_id: The client id of the custom Open ID Connect provider. + :type client_id: str + :param client_credential: The authentication credentials of the custom + Open ID Connect provider. + :type client_credential: + ~commondefinitions.models.OpenIdConnectClientCredential + :param open_id_connect_configuration: The configuration settings of the + endpoints used for the custom Open ID Connect provider. + :type open_id_connect_configuration: + ~commondefinitions.models.OpenIdConnectConfig + """ + + _attribute_map = { + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'client_credential': {'key': 'clientCredential', 'type': 'OpenIdConnectClientCredential'}, + 'open_id_connect_configuration': {'key': 'openIdConnectConfiguration', 'type': 'OpenIdConnectConfig'}, + } + + def __init__(self, **kwargs): + super(OpenIdConnectRegistration, self).__init__(**kwargs) + self.client_id = kwargs.get('client_id', None) + self.client_credential = kwargs.get('client_credential', None) + self.open_id_connect_configuration = kwargs.get('open_id_connect_configuration', None) + + +class OperationDetail(Model): + """Operation detail payload. + + :param name: Name of the operation + :type name: str + :param is_data_action: Indicates whether the operation is a data action + :type is_data_action: bool + :param display: Display of the operation + :type display: ~commondefinitions.models.OperationDisplay + :param origin: Origin of the operation + :type origin: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDetail, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.is_data_action = kwargs.get('is_data_action', None) + self.display = kwargs.get('display', None) + self.origin = kwargs.get('origin', None) + + +class OperationDisplay(Model): + """Operation display payload. + + :param provider: Resource provider of the operation + :type provider: str + :param resource: Resource of the operation + :type resource: str + :param operation: Localized friendly name for the operation + :type operation: str + :param description: Localized friendly description for the operation + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) + + +class QueueScaleRule(Model): + """Container App container Azure Queue based scaling rule. + + :param queue_name: Queue name. + :type queue_name: str + :param queue_length: Queue length. + :type queue_length: int + :param auth: Authentication secrets for the queue scale rule. + :type auth: list[~commondefinitions.models.ScaleRuleAuth] + """ + + _attribute_map = { + 'queue_name': {'key': 'queueName', 'type': 'str'}, + 'queue_length': {'key': 'queueLength', 'type': 'int'}, + 'auth': {'key': 'auth', 'type': '[ScaleRuleAuth]'}, + } + + def __init__(self, **kwargs): + super(QueueScaleRule, self).__init__(**kwargs) + self.queue_name = kwargs.get('queue_name', None) + self.queue_length = kwargs.get('queue_length', None) + self.auth = kwargs.get('auth', None) + + +class RegistryCredentials(Model): + """Container App Private Registry. + + :param server: Container Registry Server + :type server: str + :param username: Container Registry Username + :type username: str + :param password_secret_ref: The name of the Secret that contains the + registry login password + :type password_secret_ref: str + """ + + _attribute_map = { + 'server': {'key': 'server', 'type': 'str'}, + 'username': {'key': 'username', 'type': 'str'}, + 'password_secret_ref': {'key': 'passwordSecretRef', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RegistryCredentials, self).__init__(**kwargs) + self.server = kwargs.get('server', None) + self.username = kwargs.get('username', None) + self.password_secret_ref = kwargs.get('password_secret_ref', None) + + +class RegistryInfo(Model): + """Container App registry information. + + :param registry_url: registry server Url. + :type registry_url: str + :param registry_user_name: registry username. + :type registry_user_name: str + :param registry_password: registry secret. + :type registry_password: str + """ + + _attribute_map = { + 'registry_url': {'key': 'registryUrl', 'type': 'str'}, + 'registry_user_name': {'key': 'registryUserName', 'type': 'str'}, + 'registry_password': {'key': 'registryPassword', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RegistryInfo, self).__init__(**kwargs) + self.registry_url = kwargs.get('registry_url', None) + self.registry_user_name = kwargs.get('registry_user_name', None) + self.registry_password = kwargs.get('registry_password', None) + + +class Replica(ProxyResource): + """Container App Revision Replica. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy + and modifiedBy information. + :vartype system_data: ~commondefinitions.models.SystemData + :ivar created_time: Timestamp describing when the pod was created by + controller + :vartype created_time: datetime + :param containers: The containers collection under a replica. + :type containers: list[~commondefinitions.models.ReplicaContainer] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'created_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'containers': {'key': 'properties.containers', 'type': '[ReplicaContainer]'}, + } + + def __init__(self, **kwargs): + super(Replica, self).__init__(**kwargs) + self.created_time = None + self.containers = kwargs.get('containers', None) + + +class ReplicaCollection(Model): + """Container App Revision Replicas collection ARM resource. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. Collection of resources. + :type value: list[~commondefinitions.models.Replica] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Replica]'}, + } + + def __init__(self, **kwargs): + super(ReplicaCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class ReplicaContainer(Model): + """Container object under Container App Revision Replica. + + :param name: The Name of the Container + :type name: str + :param container_id: The Id of the Container + :type container_id: str + :param ready: The container ready status + :type ready: bool + :param started: The container start status + :type started: bool + :param restart_count: The container restart count + :type restart_count: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'container_id': {'key': 'containerId', 'type': 'str'}, + 'ready': {'key': 'ready', 'type': 'bool'}, + 'started': {'key': 'started', 'type': 'bool'}, + 'restart_count': {'key': 'restartCount', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ReplicaContainer, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.container_id = kwargs.get('container_id', None) + self.ready = kwargs.get('ready', None) + self.started = kwargs.get('started', None) + self.restart_count = kwargs.get('restart_count', None) + + +class Revision(ProxyResource): + """Container App Revision. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy + and modifiedBy information. + :vartype system_data: ~commondefinitions.models.SystemData + :ivar created_time: Timestamp describing when the revision was created + by controller + :vartype created_time: datetime + :ivar fqdn: Fully qualified domain name of the revision + :vartype fqdn: str + :ivar template: Container App Revision Template with all possible settings + and the + defaults if user did not provide them. The defaults are populated + as they were at the creation time + :vartype template: ~commondefinitions.models.Template + :ivar active: Boolean describing if the Revision is Active + :vartype active: bool + :ivar replicas: Number of pods currently running for this revision + :vartype replicas: int + :ivar traffic_weight: Traffic weight assigned to this revision + :vartype traffic_weight: int + :ivar provisioning_error: Optional Field - Platform Error Message + :vartype provisioning_error: str + :ivar health_state: Current health State of the revision. Possible values + include: 'Healthy', 'Unhealthy', 'None' + :vartype health_state: str or + ~commondefinitions.models.RevisionHealthState + :ivar provisioning_state: Current provisioning State of the revision. + Possible values include: 'Provisioning', 'Provisioned', 'Failed', + 'Deprovisioning', 'Deprovisioned' + :vartype provisioning_state: str or + ~commondefinitions.models.RevisionProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'created_time': {'readonly': True}, + 'fqdn': {'readonly': True}, + 'template': {'readonly': True}, + 'active': {'readonly': True}, + 'replicas': {'readonly': True}, + 'traffic_weight': {'readonly': True}, + 'provisioning_error': {'readonly': True}, + 'health_state': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'created_time': {'key': 'properties.createdTime', 'type': 'iso-8601'}, + 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, + 'template': {'key': 'properties.template', 'type': 'Template'}, + 'active': {'key': 'properties.active', 'type': 'bool'}, + 'replicas': {'key': 'properties.replicas', 'type': 'int'}, + 'traffic_weight': {'key': 'properties.trafficWeight', 'type': 'int'}, + 'provisioning_error': {'key': 'properties.provisioningError', 'type': 'str'}, + 'health_state': {'key': 'properties.healthState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Revision, self).__init__(**kwargs) + self.created_time = None + self.fqdn = None + self.template = None + self.active = None + self.replicas = None + self.traffic_weight = None + self.provisioning_error = None + self.health_state = None + self.provisioning_state = None + + +class RevisionCollection(Model): + """Container App Revisions collection ARM resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. Collection of resources. + :type value: list[~commondefinitions.models.Revision] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Revision]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RevisionCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class Scale(Model): + """Container App scaling configurations. + + :param min_replicas: Optional. Minimum number of container replicas. + :type min_replicas: int + :param max_replicas: Optional. Maximum number of container replicas. + Defaults to 10 if not set. + :type max_replicas: int + :param rules: Scaling rules. + :type rules: list[~commondefinitions.models.ScaleRule] + """ + + _attribute_map = { + 'min_replicas': {'key': 'minReplicas', 'type': 'int'}, + 'max_replicas': {'key': 'maxReplicas', 'type': 'int'}, + 'rules': {'key': 'rules', 'type': '[ScaleRule]'}, + } + + def __init__(self, **kwargs): + super(Scale, self).__init__(**kwargs) + self.min_replicas = kwargs.get('min_replicas', None) + self.max_replicas = kwargs.get('max_replicas', None) + self.rules = kwargs.get('rules', None) + + +class ScaleRule(Model): + """Container App container scaling rule. + + :param name: Scale Rule Name + :type name: str + :param azure_queue: Azure Queue based scaling. + :type azure_queue: ~commondefinitions.models.QueueScaleRule + :param custom: Custom scale rule. + :type custom: ~commondefinitions.models.CustomScaleRule + :param http: HTTP requests based scaling. + :type http: ~commondefinitions.models.HttpScaleRule + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'azure_queue': {'key': 'azureQueue', 'type': 'QueueScaleRule'}, + 'custom': {'key': 'custom', 'type': 'CustomScaleRule'}, + 'http': {'key': 'http', 'type': 'HttpScaleRule'}, + } + + def __init__(self, **kwargs): + super(ScaleRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.azure_queue = kwargs.get('azure_queue', None) + self.custom = kwargs.get('custom', None) + self.http = kwargs.get('http', None) + + +class ScaleRuleAuth(Model): + """Auth Secrets for Container App Scale Rule. + + :param secret_ref: Name of the Container App secret from which to pull the + auth params. + :type secret_ref: str + :param trigger_parameter: Trigger Parameter that uses the secret + :type trigger_parameter: str + """ + + _attribute_map = { + 'secret_ref': {'key': 'secretRef', 'type': 'str'}, + 'trigger_parameter': {'key': 'triggerParameter', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ScaleRuleAuth, self).__init__(**kwargs) + self.secret_ref = kwargs.get('secret_ref', None) + self.trigger_parameter = kwargs.get('trigger_parameter', None) + + +class Secret(Model): + """Secret definition. + + :param name: Secret Name. + :type name: str + :param value: Secret Value. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Secret, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + + +class SecretsCollection(Model): + """Container App Secrets Collection ARM resource. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. Collection of resources. + :type value: list[~commondefinitions.models.ContainerAppSecret] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ContainerAppSecret]'}, + } + + def __init__(self, **kwargs): + super(SecretsCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class SourceControl(ProxyResource): + """Container App SourceControl. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy + and modifiedBy information. + :vartype system_data: ~commondefinitions.models.SystemData + :ivar operation_state: Current provisioning State of the operation. + Possible values include: 'InProgress', 'Succeeded', 'Failed', 'Canceled' + :vartype operation_state: str or + ~commondefinitions.models.SourceControlOperationState + :param repo_url: The repo url which will be integrated to ContainerApp. + :type repo_url: str + :param branch: The branch which will trigger the auto deployment + :type branch: str + :param github_action_configuration: Container App Revision Template with + all possible settings and the + defaults if user did not provide them. The defaults are populated + as they were at the creation time + :type github_action_configuration: + ~commondefinitions.models.GithubActionConfiguration + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'operation_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'operation_state': {'key': 'properties.operationState', 'type': 'str'}, + 'repo_url': {'key': 'properties.repoUrl', 'type': 'str'}, + 'branch': {'key': 'properties.branch', 'type': 'str'}, + 'github_action_configuration': {'key': 'properties.githubActionConfiguration', 'type': 'GithubActionConfiguration'}, + } + + def __init__(self, **kwargs): + super(SourceControl, self).__init__(**kwargs) + self.operation_state = None + self.repo_url = kwargs.get('repo_url', None) + self.branch = kwargs.get('branch', None) + self.github_action_configuration = kwargs.get('github_action_configuration', None) + + +class SourceControlCollection(Model): + """SourceControl collection ARM resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. Collection of resources. + :type value: list[~commondefinitions.models.SourceControl] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SourceControl]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SourceControlCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class SystemData(Model): + """Metadata pertaining to creation and last modification of the resource. + + :param created_by: The identity that created the resource. + :type created_by: str + :param created_by_type: The type of identity that created the resource. + Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' + :type created_by_type: str or ~commondefinitions.models.CreatedByType + :param created_at: The timestamp of resource creation (UTC). + :type created_at: datetime + :param last_modified_by: The identity that last modified the resource. + :type last_modified_by: str + :param last_modified_by_type: The type of identity that last modified the + resource. Possible values include: 'User', 'Application', + 'ManagedIdentity', 'Key' + :type last_modified_by_type: str or + ~commondefinitions.models.CreatedByType + :param last_modified_at: The timestamp of resource last modification (UTC) + :type last_modified_at: datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(SystemData, self).__init__(**kwargs) + self.created_by = kwargs.get('created_by', None) + self.created_by_type = kwargs.get('created_by_type', None) + self.created_at = kwargs.get('created_at', None) + self.last_modified_by = kwargs.get('last_modified_by', None) + self.last_modified_by_type = kwargs.get('last_modified_by_type', None) + self.last_modified_at = kwargs.get('last_modified_at', None) + + +class Template(Model): + """Container App versioned application definition. + Defines the desired state of an immutable revision. + Any changes to this section Will result in a new revision being created. + + :param revision_suffix: User friendly suffix that is appended to the + revision name + :type revision_suffix: str + :param containers: List of container definitions for the Container App. + :type containers: list[~commondefinitions.models.Container] + :param scale: Scaling properties for the Container App. + :type scale: ~commondefinitions.models.Scale + :param volumes: List of volume definitions for the Container App. + :type volumes: list[~commondefinitions.models.Volume] + """ + + _attribute_map = { + 'revision_suffix': {'key': 'revisionSuffix', 'type': 'str'}, + 'containers': {'key': 'containers', 'type': '[Container]'}, + 'scale': {'key': 'scale', 'type': 'Scale'}, + 'volumes': {'key': 'volumes', 'type': '[Volume]'}, + } + + def __init__(self, **kwargs): + super(Template, self).__init__(**kwargs) + self.revision_suffix = kwargs.get('revision_suffix', None) + self.containers = kwargs.get('containers', None) + self.scale = kwargs.get('scale', None) + self.volumes = kwargs.get('volumes', None) + + +class TrafficWeight(Model): + """Traffic weight assigned to a revision. + + :param revision_name: Name of a revision + :type revision_name: str + :param weight: Traffic weight assigned to a revision + :type weight: int + :param latest_revision: Indicates that the traffic weight belongs to a + latest stable revision. Default value: False . + :type latest_revision: bool + """ + + _attribute_map = { + 'revision_name': {'key': 'revisionName', 'type': 'str'}, + 'weight': {'key': 'weight', 'type': 'int'}, + 'latest_revision': {'key': 'latestRevision', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(TrafficWeight, self).__init__(**kwargs) + self.revision_name = kwargs.get('revision_name', None) + self.weight = kwargs.get('weight', None) + self.latest_revision = kwargs.get('latest_revision', False) + + +class Twitter(Model): + """The configuration settings of the Twitter provider. + + :param state: Disabled if the Twitter provider should not be + enabled despite the set registration; otherwise, Enabled. + Possible values include: 'Enabled', 'Disabled' + :type state: str or ~commondefinitions.models.IdentityProviderState + :param registration: The configuration settings of the app registration + for the Twitter provider. + :type registration: ~commondefinitions.models.TwitterRegistration + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'registration': {'key': 'registration', 'type': 'TwitterRegistration'}, + } + + def __init__(self, **kwargs): + super(Twitter, self).__init__(**kwargs) + self.state = kwargs.get('state', None) + self.registration = kwargs.get('registration', None) + + +class TwitterRegistration(Model): + """The configuration settings of the app registration for the Twitter + provider. + + :param consumer_key: The OAuth 1.0a consumer key of the Twitter + application used for sign-in. + This setting is required for enabling Twitter Sign-In. + Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + :type consumer_key: str + :param consumer_secret_ref_name: The app secret ref name that contains the + OAuth 1.0a consumer secret of the Twitter + application used for sign-in. + :type consumer_secret_ref_name: str + """ + + _attribute_map = { + 'consumer_key': {'key': 'consumerKey', 'type': 'str'}, + 'consumer_secret_ref_name': {'key': 'consumerSecretRefName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TwitterRegistration, self).__init__(**kwargs) + self.consumer_key = kwargs.get('consumer_key', None) + self.consumer_secret_ref_name = kwargs.get('consumer_secret_ref_name', None) + + +class UserAssignedIdentity(Model): + """User assigned identity properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal ID of the assigned identity. + :vartype principal_id: str + :ivar client_id: The client ID of the assigned identity. + :vartype client_id: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'client_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(UserAssignedIdentity, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class VnetConfiguration(Model): + """Configuration properties for apps environment to join a Virtual Network. + + :param internal: Boolean indicating the environment only has an internal + load balancer. These environments do not have a public static IP resource, + must provide ControlPlaneSubnetResourceId and AppSubnetResourceId if + enabling this property + :type internal: bool + :param infrastructure_subnet_id: Resource ID of a subnet for + infrastructure components. This subnet must be in the same VNET as the + subnet defined in runtimeSubnetId. Must not overlap with any other + provided IP ranges. + :type infrastructure_subnet_id: str + :param runtime_subnet_id: Resource ID of a subnet that Container App + containers are injected into. This subnet must be in the same VNET as the + subnet defined in infrastructureSubnetId. Must not overlap with any other + provided IP ranges. + :type runtime_subnet_id: str + :param docker_bridge_cidr: CIDR notation IP range assigned to the Docker + bridge, network. Must not overlap with any other provided IP ranges. + :type docker_bridge_cidr: str + :param platform_reserved_cidr: IP range in CIDR notation that can be + reserved for environment infrastructure IP addresses. Must not overlap + with any other provided IP ranges. + :type platform_reserved_cidr: str + :param platform_reserved_dns_ip: An IP address from the IP range defined + by platformReservedCidr that will be reserved for the internal DNS server. + :type platform_reserved_dns_ip: str + """ + + _attribute_map = { + 'internal': {'key': 'internal', 'type': 'bool'}, + 'infrastructure_subnet_id': {'key': 'infrastructureSubnetId', 'type': 'str'}, + 'runtime_subnet_id': {'key': 'runtimeSubnetId', 'type': 'str'}, + 'docker_bridge_cidr': {'key': 'dockerBridgeCidr', 'type': 'str'}, + 'platform_reserved_cidr': {'key': 'platformReservedCidr', 'type': 'str'}, + 'platform_reserved_dns_ip': {'key': 'platformReservedDnsIP', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VnetConfiguration, self).__init__(**kwargs) + self.internal = kwargs.get('internal', None) + self.infrastructure_subnet_id = kwargs.get('infrastructure_subnet_id', None) + self.runtime_subnet_id = kwargs.get('runtime_subnet_id', None) + self.docker_bridge_cidr = kwargs.get('docker_bridge_cidr', None) + self.platform_reserved_cidr = kwargs.get('platform_reserved_cidr', None) + self.platform_reserved_dns_ip = kwargs.get('platform_reserved_dns_ip', None) + + +class Volume(Model): + """Volume definitions for the Container App. + + :param name: Volume name. + :type name: str + :param storage_type: Storage type for the volume. If not provided, use + EmptyDir. Possible values include: 'AzureFile', 'EmptyDir' + :type storage_type: str or ~commondefinitions.models.StorageType + :param storage_name: Name of storage resource. No need to provide for + EmptyDir. + :type storage_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'storage_type': {'key': 'storageType', 'type': 'str'}, + 'storage_name': {'key': 'storageName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Volume, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.storage_type = kwargs.get('storage_type', None) + self.storage_name = kwargs.get('storage_name', None) + + +class VolumeMount(Model): + """Volume mount for the Container App. + + :param volume_name: This must match the Name of a Volume. + :type volume_name: str + :param mount_path: Path within the container at which the volume should be + mounted.Must not contain ':'. + :type mount_path: str + """ + + _attribute_map = { + 'volume_name': {'key': 'volumeName', 'type': 'str'}, + 'mount_path': {'key': 'mountPath', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VolumeMount, self).__init__(**kwargs) + self.volume_name = kwargs.get('volume_name', None) + self.mount_path = kwargs.get('mount_path', None) diff --git a/src/containerapp/azext_containerapp/_utils.py b/src/containerapp/azext_containerapp/_utils.py new file mode 100644 index 00000000000..7376167f592 --- /dev/null +++ b/src/containerapp/azext_containerapp/_utils.py @@ -0,0 +1,587 @@ +# -------------------------------------------------------------------------------------------- +# 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, consider-using-f-string, no-else-return, duplicate-string-formatting-argument + +from urllib.parse import urlparse +from azure.cli.command_modules.appservice.custom import (_get_acr_cred) +from azure.cli.core.azclierror import (ValidationError, RequiredArgumentMissingError) +from azure.cli.core.commands.client_factory import get_subscription_id +from knack.log import get_logger +from msrestazure.tools import parse_resource_id + +from ._clients import ContainerAppClient +from ._client_factory import handle_raw_exception, providers_client_factory, cf_resource_groups, log_analytics_client_factory, log_analytics_shared_key_client_factory + +logger = get_logger(__name__) + + +def _get_location_from_resource_group(cli_ctx, resource_group_name): + client = cf_resource_groups(cli_ctx) + group = client.get(resource_group_name) + return group.location + + +def _validate_subscription_registered(cmd, resource_provider, subscription_id=None): + providers_client = None + if not subscription_id: + subscription_id = get_subscription_id(cmd.cli_ctx) + + try: + providers_client = providers_client_factory(cmd.cli_ctx, subscription_id) + registration_state = getattr(providers_client.get(resource_provider), 'registration_state', "NotRegistered") + + if not (registration_state and registration_state.lower() == 'registered'): + raise ValidationError('Subscription {} is not registered for the {} resource provider. Please run \"az provider register -n {} --wait\" to register your subscription.'.format( + subscription_id, resource_provider, resource_provider)) + except ValidationError as ex: + raise ex + except Exception: # pylint: disable=broad-except + pass + + +def _ensure_location_allowed(cmd, location, resource_provider, resource_type): + providers_client = None + try: + providers_client = providers_client_factory(cmd.cli_ctx, get_subscription_id(cmd.cli_ctx)) + + if providers_client is not None: + resource_types = getattr(providers_client.get(resource_provider), 'resource_types', []) + res_locations = [] + for res in resource_types: + if res and getattr(res, 'resource_type', "") == resource_type: + res_locations = getattr(res, 'locations', []) + + res_locations = [res_loc.lower().replace(" ", "").replace("(", "").replace(")", "") for res_loc in res_locations if res_loc.strip()] + + location_formatted = location.lower().replace(" ", "") + if location_formatted not in res_locations: + raise ValidationError("Location '{}' is not currently supported. To get list of supported locations, run `az provider show -n {} --query \"resourceTypes[?resourceType=='{}'].locations\"`".format( + location, resource_provider, resource_type)) + except ValidationError as ex: + raise ex + except Exception: # pylint: disable=broad-except + pass + + +def parse_env_var_flags(env_list, is_update_containerapp=False): + env_pairs = {} + + for pair in env_list: + key_val = pair.split('=', 1) + if len(key_val) != 2: + if is_update_containerapp: + raise ValidationError("Environment variables must be in the format \"=\" \"=secretref:\" ...\".") + raise ValidationError("Environment variables must be in the format \"=\" \"=secretref:\" ...\".") + if key_val[0] in env_pairs: + raise ValidationError("Duplicate environment variable {env} found, environment variable names must be unique.".format(env=key_val[0])) + value = key_val[1].split('secretref:') + env_pairs[key_val[0]] = value + + env_var_def = [] + for key, value in env_pairs.items(): + if len(value) == 2: + env_var_def.append({ + "name": key, + "secretRef": value[1] + }) + else: + env_var_def.append({ + "name": key, + "value": value[0] + }) + + return env_var_def + + +def parse_secret_flags(secret_list): + secret_pairs = {} + + for pair in secret_list: + key_val = pair.split('=', 1) + if len(key_val) != 2: + raise ValidationError("--secrets: must be in format \"=,=,...\"") + if key_val[0] in secret_pairs: + raise ValidationError("--secrets: duplicate secret {secret} found, secret names must be unique.".format(secret=key_val[0])) + secret_pairs[key_val[0]] = key_val[1] + + secret_var_def = [] + for key, value in secret_pairs.items(): + secret_var_def.append({ + "name": key, + "value": value + }) + + return secret_var_def + + +def _update_revision_env_secretrefs(containers, name): + for container in containers: + if "env" in container: + for var in container["env"]: + if "secretRef" in var: + var["secretRef"] = var["secretRef"].replace("{}-".format(name), "") + + +def _update_revision_env_secretrefs(containers, name): + for container in containers: + if "env" in container: + for var in container["env"]: + if "secretRef" in var: + var["secretRef"] = var["secretRef"].replace("{}-".format(name), "") + + +def store_as_secret_and_return_secret_ref(secrets_list, registry_user, registry_server, registry_pass, update_existing_secret=False): + if registry_pass.startswith("secretref:"): + # If user passed in registry password using a secret + + registry_pass = registry_pass.split("secretref:") + if len(registry_pass) <= 1: + raise ValidationError("Invalid registry password secret. Value must be a non-empty value starting with \'secretref:\'.") + registry_pass = registry_pass[1:] + registry_pass = ''.join(registry_pass) + + if not any(secret for secret in secrets_list if secret['name'].lower() == registry_pass.lower()): + raise ValidationError("Registry password secret with name '{}' does not exist. Add the secret using --secrets".format(registry_pass)) + + return registry_pass + else: + # If user passed in registry password + if urlparse(registry_server).hostname is not None: + registry_secret_name = "{server}-{user}".format(server=urlparse(registry_server).hostname.replace('.', ''), user=registry_user.lower()) + else: + registry_secret_name = "{server}-{user}".format(server=registry_server.replace('.', ''), user=registry_user.lower()) + + for secret in secrets_list: + if secret['name'].lower() == registry_secret_name.lower(): + if secret['value'].lower() != registry_pass.lower(): + if update_existing_secret: + secret['value'] = registry_pass + else: + raise ValidationError('Found secret with name \"{}\" but value does not equal the supplied registry password.'.format(registry_secret_name)) + return registry_secret_name + + logger.warning('Adding registry password as a secret with name \"{}\"'.format(registry_secret_name)) # pylint: disable=logging-format-interpolation + secrets_list.append({ + "name": registry_secret_name, + "value": registry_pass + }) + + return registry_secret_name + + +def parse_list_of_strings(comma_separated_string): + comma_separated = comma_separated_string.split(',') + return [s.strip() for s in comma_separated] + + +def raise_missing_token_suggestion(): + pat_documentation = "https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line" + raise RequiredArgumentMissingError("GitHub access token is required to authenticate to your repositories. " + "If you need to create a Github Personal Access Token, " + "please run with the '--login-with-github' flag or follow " + "the steps found at the following link:\n{0}".format(pat_documentation)) + + +def _get_default_log_analytics_location(cmd): + default_location = "eastus" + providers_client = None + try: + providers_client = providers_client_factory(cmd.cli_ctx, get_subscription_id(cmd.cli_ctx)) + resource_types = getattr(providers_client.get("Microsoft.OperationalInsights"), 'resource_types', []) + res_locations = [] + for res in resource_types: + if res and getattr(res, 'resource_type', "") == "workspaces": + res_locations = getattr(res, 'locations', []) + + if len(res_locations) > 0: + location = res_locations[0].lower().replace(" ", "").replace("(", "").replace(")", "") + if location: + return location + + except Exception: # pylint: disable=broad-except + return default_location + return default_location + + +# Generate random 4 character string +def _new_tiny_guid(): + import random + import string + return ''.join(random.choices(string.ascii_letters + string.digits, k=4)) + + +# Follow same naming convention as Portal +def _generate_log_analytics_workspace_name(resource_group_name): + import re + prefix = "workspace" + suffix = _new_tiny_guid() + alphaNumericRG = resource_group_name + alphaNumericRG = re.sub(r'[^0-9a-z]', '', resource_group_name) + maxLength = 40 + + name = "{}-{}{}".format( + prefix, + alphaNumericRG, + suffix + ) + + if len(name) > maxLength: + name = name[:maxLength] + return name + + +def _generate_log_analytics_if_not_provided(cmd, logs_customer_id, logs_key, location, resource_group_name): + if logs_customer_id is None and logs_key is None: + logger.warning("No Log Analytics workspace provided.") + try: + _validate_subscription_registered(cmd, "Microsoft.OperationalInsights") + log_analytics_client = log_analytics_client_factory(cmd.cli_ctx) + log_analytics_shared_key_client = log_analytics_shared_key_client_factory(cmd.cli_ctx) + + log_analytics_location = location + try: + _ensure_location_allowed(cmd, log_analytics_location, "Microsoft.OperationalInsights", "workspaces") + except Exception: # pylint: disable=broad-except + log_analytics_location = _get_default_log_analytics_location(cmd) + + from azure.cli.core.commands import LongRunningOperation + from azure.mgmt.loganalytics.models import Workspace + + workspace_name = _generate_log_analytics_workspace_name(resource_group_name) + workspace_instance = Workspace(location=log_analytics_location) + logger.warning("Generating a Log Analytics workspace with name \"{}\"".format(workspace_name)) # pylint: disable=logging-format-interpolation + + poller = log_analytics_client.begin_create_or_update(resource_group_name, workspace_name, workspace_instance) + log_analytics_workspace = LongRunningOperation(cmd.cli_ctx)(poller) + + logs_customer_id = log_analytics_workspace.customer_id + logs_key = log_analytics_shared_key_client.get_shared_keys( + workspace_name=workspace_name, + resource_group_name=resource_group_name).primary_shared_key + + except Exception as ex: + raise ValidationError("Unable to generate a Log Analytics workspace. You can use \"az monitor log-analytics workspace create\" to create one and supply --logs-customer-id and --logs-key") from ex + elif logs_customer_id is None: + raise ValidationError("Usage error: Supply the --logs-customer-id associated with the --logs-key") + elif logs_key is None: # Try finding the logs-key + log_analytics_client = log_analytics_client_factory(cmd.cli_ctx) + log_analytics_shared_key_client = log_analytics_shared_key_client_factory(cmd.cli_ctx) + + log_analytics_name = None + log_analytics_rg = None + log_analytics = log_analytics_client.list() + + for la in log_analytics: + if la.customer_id and la.customer_id.lower() == logs_customer_id.lower(): + log_analytics_name = la.name + parsed_la = parse_resource_id(la.id) + log_analytics_rg = parsed_la['resource_group'] + + if log_analytics_name is None: + raise ValidationError('Usage error: Supply the --logs-key associated with the --logs-customer-id') + + shared_keys = log_analytics_shared_key_client.get_shared_keys(workspace_name=log_analytics_name, resource_group_name=log_analytics_rg) + + if not shared_keys or not shared_keys.primary_shared_key: + raise ValidationError('Usage error: Supply the --logs-key associated with the --logs-customer-id') + + logs_key = shared_keys.primary_shared_key + + return logs_customer_id, logs_key + + +def _get_existing_secrets(cmd, resource_group_name, name, containerapp_def): + if "secrets" not in containerapp_def["properties"]["configuration"]: + containerapp_def["properties"]["configuration"]["secrets"] = [] + else: + secrets = [] + try: + secrets = ContainerAppClient.list_secrets(cmd=cmd, resource_group_name=resource_group_name, name=name) + except Exception as e: # pylint: disable=broad-except + handle_raw_exception(e) + + containerapp_def["properties"]["configuration"]["secrets"] = secrets["value"] + + +def _ensure_identity_resource_id(subscription_id, resource_group, resource): + from msrestazure.tools import resource_id, is_valid_resource_id + if is_valid_resource_id(resource): + return resource + + return resource_id(subscription=subscription_id, + resource_group=resource_group, + namespace='Microsoft.ManagedIdentity', + type='userAssignedIdentities', + name=resource) + + +def _add_or_update_secrets(containerapp_def, add_secrets): + if "secrets" not in containerapp_def["properties"]["configuration"]: + containerapp_def["properties"]["configuration"]["secrets"] = [] + + for new_secret in add_secrets: + is_existing = False + for existing_secret in containerapp_def["properties"]["configuration"]["secrets"]: + if existing_secret["name"].lower() == new_secret["name"].lower(): + is_existing = True + existing_secret["value"] = new_secret["value"] + break + + if not is_existing: + containerapp_def["properties"]["configuration"]["secrets"].append(new_secret) + + +def _remove_registry_secret(containerapp_def, server, username): + if urlparse(server).hostname is not None: + registry_secret_name = "{server}-{user}".format(server=urlparse(server).hostname.replace('.', ''), user=username.lower()) + else: + registry_secret_name = "{server}-{user}".format(server=server.replace('.', ''), user=username.lower()) + + _remove_secret(containerapp_def, secret_name=registry_secret_name) + + +def _remove_secret(containerapp_def, secret_name): + if "secrets" not in containerapp_def["properties"]["configuration"]: + containerapp_def["properties"]["configuration"]["secrets"] = [] + + for index, value in enumerate(containerapp_def["properties"]["configuration"]["secrets"]): + existing_secret = value + if existing_secret["name"].lower() == secret_name.lower(): + containerapp_def["properties"]["configuration"]["secrets"].pop(index) + break + + +def _add_or_update_env_vars(existing_env_vars, new_env_vars, is_add=False): + for new_env_var in new_env_vars: + + # Check if updating existing env var + is_existing = False + for existing_env_var in existing_env_vars: + if existing_env_var["name"].lower() == new_env_var["name"].lower(): + is_existing = True + if is_add: + logger.warning("Environment variable {} already exists. Replacing environment variable value.".format(new_env_var["name"])) # pylint: disable=logging-format-interpolation + + if "value" in new_env_var: + existing_env_var["value"] = new_env_var["value"] + else: + existing_env_var["value"] = None + + if "secretRef" in new_env_var: + existing_env_var["secretRef"] = new_env_var["secretRef"] + else: + existing_env_var["secretRef"] = None + break + + # If not updating existing env var, add it as a new env var + if not is_existing: + if not is_add: + logger.warning("Environment variable {} does not exist. Adding as new environment variable.".format(new_env_var["name"])) # pylint: disable=logging-format-interpolation + existing_env_vars.append(new_env_var) + + +def _remove_env_vars(existing_env_vars, remove_env_vars): + for old_env_var in remove_env_vars: + + # Check if updating existing env var + is_existing = False + for i, value in enumerate(existing_env_vars): + existing_env_var = value + if existing_env_var["name"].lower() == old_env_var.lower(): + is_existing = True + existing_env_vars.pop(i) + break + + # If not updating existing env var, add it as a new env var + if not is_existing: + logger.warning("Environment variable {} does not exist.".format(old_env_var)) # pylint: disable=logging-format-interpolation + + +def _remove_env_vars(existing_env_vars, remove_env_vars): + for old_env_var in remove_env_vars: + + # Check if updating existing env var + is_existing = False + for index, value in enumerate(existing_env_vars): + existing_env_var = value + if existing_env_var["name"].lower() == old_env_var.lower(): + is_existing = True + existing_env_vars.pop(index) + break + + # If not updating existing env var, add it as a new env var + if not is_existing: + logger.warning("Environment variable {} does not exist.".format(old_env_var)) # pylint: disable=logging-format-interpolation + + +def _add_or_update_tags(containerapp_def, tags): + if 'tags' not in containerapp_def: + if tags: + containerapp_def['tags'] = tags + else: + containerapp_def['tags'] = {} + else: + for key in tags: + containerapp_def['tags'][key] = tags[key] + + +def _object_to_dict(obj): + import json + import datetime + + def default_handler(x): + if isinstance(x, datetime.datetime): + return x.isoformat() + return x.__dict__ + + return json.loads(json.dumps(obj, default=default_handler)) + + +def _to_camel_case(snake_str): + components = snake_str.split('_') + return components[0] + ''.join(x.title() for x in components[1:]) + + +def _convert_object_from_snake_to_camel_case(o): + if isinstance(o, list): + return [_convert_object_from_snake_to_camel_case(i) if isinstance(i, (dict, list)) else i for i in o] + return { + _to_camel_case(a): _convert_object_from_snake_to_camel_case(b) if isinstance(b, (dict, list)) else b for a, b in o.items() + } + + +def _remove_additional_attributes(o): + if isinstance(o, list): + for i in o: + _remove_additional_attributes(i) + elif isinstance(o, dict): + if "additionalProperties" in o: + del o["additionalProperties"] + + for key in o: + _remove_additional_attributes(o[key]) + + +def _remove_readonly_attributes(containerapp_def): + unneeded_properties = [ + "id", + "name", + "type", + "systemData", + "provisioningState", + "latestRevisionName", + "latestRevisionFqdn", + "customDomainVerificationId", + "outboundIpAddresses", + "fqdn" + ] + + for unneeded_property in unneeded_properties: + if unneeded_property in containerapp_def: + del containerapp_def[unneeded_property] + elif unneeded_property in containerapp_def['properties']: + del containerapp_def['properties'][unneeded_property] + + +def _remove_dapr_readonly_attributes(daprcomponent_def): + unneeded_properties = [ + "id", + "name", + "type", + "systemData", + "provisioningState", + "latestRevisionName", + "latestRevisionFqdn", + "customDomainVerificationId", + "outboundIpAddresses", + "fqdn" + ] + + for unneeded_property in unneeded_properties: + if unneeded_property in daprcomponent_def: + del daprcomponent_def[unneeded_property] + + +def update_nested_dictionary(orig_dict, new_dict): + # Recursively update a nested dictionary. If the value is a list, replace the old list with new list + from collections.abc import Mapping + + for key, val in new_dict.items(): + if isinstance(val, Mapping): + tmp = update_nested_dictionary(orig_dict.get(key, {}), val) + orig_dict[key] = tmp + elif isinstance(val, list): + if new_dict[key]: + orig_dict[key] = new_dict[key] + else: + if new_dict[key] is not None: + orig_dict[key] = new_dict[key] + return orig_dict + + +def _is_valid_weight(weight): + try: + n = int(weight) + if 0 <= n <= 100: + return True + return False + except ValueError: + return False + + +def _update_traffic_weights(containerapp_def, list_weights): + if "traffic" not in containerapp_def["properties"]["configuration"]["ingress"] or list_weights and len(list_weights): + containerapp_def["properties"]["configuration"]["ingress"]["traffic"] = [] + + for new_weight in list_weights: + key_val = new_weight.split('=', 1) + is_existing = False + + if len(key_val) != 2: + raise ValidationError('Traffic weights must be in format \"=weight = ...\"') + + if not _is_valid_weight(key_val[1]): + raise ValidationError('Traffic weights must be integers between 0 and 100') + + if not is_existing: + containerapp_def["properties"]["configuration"]["ingress"]["traffic"].append({ + "revisionName": key_val[0], + "weight": int(key_val[1]) + }) + + +def _get_app_from_revision(revision): + if not revision: + raise ValidationError('Invalid revision. Revision must not be empty') + + revision = revision.split('--') + revision.pop() + revision = "--".join(revision) + return revision + + +def _infer_acr_credentials(cmd, registry_server): + # If registry is Azure Container Registry, we can try inferring credentials + if '.azurecr.io' not in registry_server: + raise RequiredArgumentMissingError('Registry username and password are required if not using Azure Container Registry.') + logger.warning('No credential was provided to access Azure Container Registry. Trying to look up credentials...') + parsed = urlparse(registry_server) + registry_name = (parsed.netloc if parsed.scheme else parsed.path).split('.')[0] + + try: + registry_user, registry_pass = _get_acr_cred(cmd.cli_ctx, registry_name) + return (registry_user, registry_pass) + except Exception as ex: + raise RequiredArgumentMissingError('Failed to retrieve credentials for container registry {}. Please provide the registry username and password'.format(registry_name)) from ex + + +def _registry_exists(containerapp_def, registry_server): + exists = False + if "properties" in containerapp_def and "configuration" in containerapp_def["properties"] and "registries" in containerapp_def["properties"]["configuration"]: + for registry in containerapp_def["properties"]["configuration"]["registries"]: + if "server" in registry and registry["server"] and registry["server"].lower() == registry_server.lower(): + exists = True + break + return exists diff --git a/src/containerapp/azext_containerapp/_validators.py b/src/containerapp/azext_containerapp/_validators.py new file mode 100644 index 00000000000..e7fe0435a11 --- /dev/null +++ b/src/containerapp/azext_containerapp/_validators.py @@ -0,0 +1,88 @@ +# -------------------------------------------------------------------------------------------- +# 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.azclierror import (ValidationError) + + +def _is_number(s): + try: + float(s) + return True + except ValueError: + return False + + +def validate_memory(namespace): + memory = namespace.memory + + if memory is not None: + valid = False + + if memory.endswith("Gi"): + valid = _is_number(memory[:-2]) + + if not valid: + raise ValidationError("Usage error: --memory must be a number ending with \"Gi\"") + + +def validate_cpu(namespace): + if namespace.cpu: + cpu = namespace.cpu + try: + float(cpu) + except ValueError as e: + raise ValidationError("Usage error: --cpu must be a number eg. \"0.5\"") from e + + +def validate_managed_env_name_or_id(cmd, namespace): + from azure.cli.core.commands.client_factory import get_subscription_id + from msrestazure.tools import is_valid_resource_id, resource_id + + if namespace.managed_env: + if not is_valid_resource_id(namespace.managed_env): + namespace.managed_env = resource_id( + subscription=get_subscription_id(cmd.cli_ctx), + resource_group=namespace.resource_group_name, + namespace='Microsoft.App', + type='managedEnvironments', + name=namespace.managed_env + ) + + +def validate_registry_server(namespace): + if "create" in namespace.command.lower(): + if namespace.registry_server: + if not namespace.registry_user or not namespace.registry_pass: + if ".azurecr.io" not in namespace.registry_server: + raise ValidationError("Usage error: --registry-server, --registry-password and --registry-username are required together if not using Azure Container Registry") + + +def validate_registry_user(namespace): + if "create" in namespace.command.lower(): + if namespace.registry_user: + if not namespace.registry_server or (not namespace.registry_pass and ".azurecr.io" not in namespace.registry_server): + raise ValidationError("Usage error: --registry-server, --registry-password and --registry-username are required together if not using Azure Container Registry") + + +def validate_registry_pass(namespace): + if "create" in namespace.command.lower(): + if namespace.registry_pass: + if not namespace.registry_server or (not namespace.registry_user and ".azurecr.io" not in namespace.registry_server): + raise ValidationError("Usage error: --registry-server, --registry-password and --registry-username are required together if not using Azure Container Registry") + + +def validate_target_port(namespace): + if "create" in namespace.command.lower(): + if namespace.target_port: + if not namespace.ingress: + raise ValidationError("Usage error: must specify --ingress with --target-port") + + +def validate_ingress(namespace): + if "create" in namespace.command.lower(): + if namespace.ingress: + if not namespace.target_port: + raise ValidationError("Usage error: must specify --target-port with --ingress") diff --git a/src/containerapp/azext_containerapp/azext_metadata.json b/src/containerapp/azext_containerapp/azext_metadata.json new file mode 100644 index 00000000000..cf7b8927a07 --- /dev/null +++ b/src/containerapp/azext_containerapp/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.15.0" +} diff --git a/src/containerapp/azext_containerapp/commands.py b/src/containerapp/azext_containerapp/commands.py new file mode 100644 index 00000000000..c5b924287f8 --- /dev/null +++ b/src/containerapp/azext_containerapp/commands.py @@ -0,0 +1,102 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long, too-many-statements, bare-except +# from azure.cli.core.commands import CliCommandType +# from msrestazure.tools import is_valid_resource_id, parse_resource_id +from azext_containerapp._client_factory import ex_handler_factory + + +def transform_containerapp_output(app): + props = ['name', 'location', 'resourceGroup', 'provisioningState'] + result = {k: app[k] for k in app if k in props} + + try: + result['fqdn'] = app['properties']['configuration']['ingress']['fqdn'] + except: + result['fqdn'] = None + + return result + + +def transform_containerapp_list_output(apps): + return [transform_containerapp_output(a) for a in apps] + + +def transform_revision_output(rev): + props = ['name', 'active', 'createdTime', 'trafficWeight'] + result = {k: rev['properties'][k] for k in rev['properties'] if k in props} + + if 'name' in rev: + result['name'] = rev['name'] + + if 'fqdn' in rev['properties']['template']: + result['fqdn'] = rev['properties']['template']['fqdn'] + + return result + + +def transform_revision_list_output(revs): + return [transform_revision_output(r) for r in revs] + + +def load_command_table(self, _): + with self.command_group('containerapp', is_preview=True) as g: + g.custom_show_command('show', 'show_containerapp', table_transformer=transform_containerapp_output) + g.custom_command('list', 'list_containerapp', table_transformer=transform_containerapp_list_output) + g.custom_command('create', 'create_containerapp', supports_no_wait=True, exception_handler=ex_handler_factory(), table_transformer=transform_containerapp_output) + g.custom_command('update', 'update_containerapp', supports_no_wait=True, exception_handler=ex_handler_factory(), table_transformer=transform_containerapp_output) + g.custom_command('delete', 'delete_containerapp', supports_no_wait=True, confirmation=True, exception_handler=ex_handler_factory()) + + with self.command_group('containerapp env') as g: + g.custom_show_command('show', 'show_managed_environment') + g.custom_command('list', 'list_managed_environments') + g.custom_command('create', 'create_managed_environment', supports_no_wait=True, exception_handler=ex_handler_factory()) + g.custom_command('delete', 'delete_managed_environment', supports_no_wait=True, confirmation=True, exception_handler=ex_handler_factory()) + + with self.command_group('containerapp env dapr-component') as g: + g.custom_command('list', 'list_dapr_components') + g.custom_show_command('show', 'show_dapr_component') + g.custom_command('set', 'create_or_update_dapr_component') + g.custom_command('remove', 'remove_dapr_component') + + with self.command_group('containerapp github-action') as g: + g.custom_command('add', 'create_or_update_github_action', exception_handler=ex_handler_factory()) + g.custom_show_command('show', 'show_github_action', exception_handler=ex_handler_factory()) + g.custom_command('delete', 'delete_github_action', exception_handler=ex_handler_factory()) + + with self.command_group('containerapp revision') as g: + g.custom_command('activate', 'activate_revision') + g.custom_command('deactivate', 'deactivate_revision') + g.custom_command('list', 'list_revisions', table_transformer=transform_revision_list_output, exception_handler=ex_handler_factory()) + g.custom_command('restart', 'restart_revision') + g.custom_show_command('show', 'show_revision', table_transformer=transform_revision_output, exception_handler=ex_handler_factory()) + g.custom_command('copy', 'copy_revision', exception_handler=ex_handler_factory()) + g.custom_command('set-mode', 'set_revision_mode', exception_handler=ex_handler_factory()) + + with self.command_group('containerapp ingress') as g: + g.custom_command('enable', 'enable_ingress', exception_handler=ex_handler_factory()) + g.custom_command('disable', 'disable_ingress', exception_handler=ex_handler_factory()) + g.custom_show_command('show', 'show_ingress') + + with self.command_group('containerapp ingress traffic') as g: + g.custom_command('set', 'set_ingress_traffic', exception_handler=ex_handler_factory()) + g.custom_show_command('show', 'show_ingress_traffic') + + with self.command_group('containerapp registry') as g: + g.custom_command('set', 'set_registry', exception_handler=ex_handler_factory()) + g.custom_show_command('show', 'show_registry') + g.custom_command('list', 'list_registry') + g.custom_command('remove', 'remove_registry', exception_handler=ex_handler_factory()) + + with self.command_group('containerapp secret') as g: + g.custom_command('list', 'list_secrets') + g.custom_show_command('show', 'show_secret') + g.custom_command('remove', 'remove_secrets', exception_handler=ex_handler_factory()) + g.custom_command('set', 'set_secrets', exception_handler=ex_handler_factory()) + + with self.command_group('containerapp dapr') as g: + g.custom_command('enable', 'enable_dapr', exception_handler=ex_handler_factory()) + g.custom_command('disable', 'disable_dapr', exception_handler=ex_handler_factory()) diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py new file mode 100644 index 00000000000..15cea81f0ff --- /dev/null +++ b/src/containerapp/azext_containerapp/custom.py @@ -0,0 +1,1934 @@ +# -------------------------------------------------------------------------------------------- +# 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, consider-using-f-string, logging-format-interpolation, inconsistent-return-statements, broad-except, bare-except, too-many-statements, too-many-locals, too-many-boolean-expressions, too-many-branches, too-many-nested-blocks, pointless-statement + +from urllib.parse import urlparse +from azure.cli.command_modules.appservice.custom import (_get_acr_cred) +from azure.cli.core.azclierror import ( + RequiredArgumentMissingError, + ValidationError, + ResourceNotFoundError, + CLIError, + CLIInternalError, + InvalidArgumentValueError) +from azure.cli.core.commands.client_factory import get_subscription_id +from knack.log import get_logger + +from msrestazure.tools import parse_resource_id, is_valid_resource_id +from msrest.exceptions import DeserializationError + +from ._client_factory import handle_raw_exception +from ._clients import ManagedEnvironmentClient, ContainerAppClient, GitHubActionClient, DaprComponentClient +from ._github_oauth import get_github_access_token +from ._models import ( + ManagedEnvironment as ManagedEnvironmentModel, + VnetConfiguration as VnetConfigurationModel, + AppLogsConfiguration as AppLogsConfigurationModel, + LogAnalyticsConfiguration as LogAnalyticsConfigurationModel, + Ingress as IngressModel, + Configuration as ConfigurationModel, + Template as TemplateModel, + RegistryCredentials as RegistryCredentialsModel, + ContainerApp as ContainerAppModel, + Dapr as DaprModel, + ContainerResources as ContainerResourcesModel, + Scale as ScaleModel, + Container as ContainerModel, + GitHubActionConfiguration, + RegistryInfo as RegistryInfoModel, + AzureCredentials as AzureCredentialsModel, + SourceControl as SourceControlModel, + ManagedServiceIdentity as ManagedServiceIdentityModel) +from ._utils import (_validate_subscription_registered, _get_location_from_resource_group, _ensure_location_allowed, + parse_secret_flags, store_as_secret_and_return_secret_ref, parse_env_var_flags, + _generate_log_analytics_if_not_provided, _get_existing_secrets, _convert_object_from_snake_to_camel_case, + _object_to_dict, _add_or_update_secrets, _remove_additional_attributes, _remove_readonly_attributes, + _add_or_update_env_vars, _add_or_update_tags, update_nested_dictionary, _update_traffic_weights, + _get_app_from_revision, raise_missing_token_suggestion, _infer_acr_credentials, _remove_registry_secret, _remove_secret, + _ensure_identity_resource_id, _remove_dapr_readonly_attributes, _registry_exists, _remove_env_vars, _update_revision_env_secretrefs) + +logger = get_logger(__name__) + + +# These properties should be under the "properties" attribute. Move the properties under "properties" attribute +def process_loaded_yaml(yaml_containerapp): + if not yaml_containerapp.get('properties'): + yaml_containerapp['properties'] = {} + + nested_properties = ["provisioningState", "managedEnvironmentId", "latestRevisionName", "latestRevisionFqdn", "customDomainVerificationId", "configuration", "template", "outboundIPAddresses"] + for nested_property in nested_properties: + tmp = yaml_containerapp.get(nested_property) + if tmp: + yaml_containerapp['properties'][nested_property] = tmp + del yaml_containerapp[nested_property] + + return yaml_containerapp + + +def load_yaml_file(file_name): + import yaml + import errno + + try: + with open(file_name) as stream: # pylint: disable=unspecified-encoding + return yaml.safe_load(stream) + except (IOError, OSError) as ex: + if getattr(ex, 'errno', 0) == errno.ENOENT: + raise ValidationError('{} does not exist'.format(file_name)) from ex + raise + except (yaml.parser.ParserError, UnicodeDecodeError) as ex: + raise ValidationError('Error parsing {} ({})'.format(file_name, str(ex))) from ex + + +def create_deserializer(): + from ._sdk_models import ContainerApp # pylint: disable=unused-import + from msrest import Deserializer + import sys + import inspect + + sdkClasses = inspect.getmembers(sys.modules["azext_containerapp._sdk_models"]) + deserializer = {} + + for sdkClass in sdkClasses: + deserializer[sdkClass[0]] = sdkClass[1] + + return Deserializer(deserializer) + + +def update_containerapp_yaml(cmd, name, resource_group_name, file_name, from_revision=None, no_wait=False): + yaml_containerapp = process_loaded_yaml(load_yaml_file(file_name)) + if type(yaml_containerapp) != dict: # pylint: disable=unidiomatic-typecheck + raise ValidationError('Invalid YAML provided. Please see https://aka.ms/azure-container-apps-yaml for a valid containerapps YAML spec.') + + if not yaml_containerapp.get('name'): + yaml_containerapp['name'] = name + elif yaml_containerapp.get('name').lower() != name.lower(): + logger.warning('The app name provided in the --yaml file "{}" does not match the one provided in the --name flag "{}". The one provided in the --yaml file will be used.'.format( + yaml_containerapp.get('name'), name)) + name = yaml_containerapp.get('name') + + if not yaml_containerapp.get('type'): + yaml_containerapp['type'] = 'Microsoft.App/containerApps' + elif yaml_containerapp.get('type').lower() != "microsoft.app/containerapps": + raise ValidationError('Containerapp type must be \"Microsoft.App/ContainerApps\"') + + current_containerapp_def = None + containerapp_def = None + try: + current_containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except Exception: + pass + + if not current_containerapp_def: + raise ValidationError("The containerapp '{}' does not exist".format(name)) + + # Change which revision we update from + if from_revision: + try: + r = ContainerAppClient.show_revision(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, name=from_revision) + except CLIError as e: + handle_raw_exception(e) + _update_revision_env_secretrefs(r["properties"]["template"]["containers"], name) + current_containerapp_def["properties"]["template"] = r["properties"]["template"] + + # Deserialize the yaml into a ContainerApp object. Need this since we're not using SDK + try: + deserializer = create_deserializer() + + containerapp_def = deserializer('ContainerApp', yaml_containerapp) + except DeserializationError as ex: + raise ValidationError('Invalid YAML provided. Please see https://aka.ms/azure-container-apps-yaml for a valid containerapps YAML spec.') from ex + + # Remove tags before converting from snake case to camel case, then re-add tags. We don't want to change the case of the tags. Need this since we're not using SDK + tags = None + if yaml_containerapp.get('tags'): + tags = yaml_containerapp.get('tags') + del yaml_containerapp['tags'] + + containerapp_def = _convert_object_from_snake_to_camel_case(_object_to_dict(containerapp_def)) + containerapp_def['tags'] = tags + + # After deserializing, some properties may need to be moved under the "properties" attribute. Need this since we're not using SDK + containerapp_def = process_loaded_yaml(containerapp_def) + + _get_existing_secrets(cmd, resource_group_name, name, current_containerapp_def) + + update_nested_dictionary(current_containerapp_def, containerapp_def) + + # Remove "additionalProperties" and read-only attributes that are introduced in the deserialization. Need this since we're not using SDK + _remove_additional_attributes(current_containerapp_def) + _remove_readonly_attributes(current_containerapp_def) + + try: + r = ContainerAppClient.create_or_update( + cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=current_containerapp_def, no_wait=no_wait) + + if "properties" in r and "provisioningState" in r["properties"] and r["properties"]["provisioningState"].lower() == "waiting" and not no_wait: + logger.warning('Containerapp creation in progress. Please monitor the creation using `az containerapp show -n {} -g {}`'.format( + name, resource_group_name + )) + + return r + except Exception as e: + handle_raw_exception(e) + + +def create_containerapp_yaml(cmd, name, resource_group_name, file_name, no_wait=False): + yaml_containerapp = process_loaded_yaml(load_yaml_file(file_name)) + if type(yaml_containerapp) != dict: # pylint: disable=unidiomatic-typecheck + raise ValidationError('Invalid YAML provided. Please see https://aka.ms/azure-container-apps-yaml for a valid containerapps YAML spec.') + + if not yaml_containerapp.get('name'): + yaml_containerapp['name'] = name + elif yaml_containerapp.get('name').lower() != name.lower(): + logger.warning('The app name provided in the --yaml file "{}" does not match the one provided in the --name flag "{}". The one provided in the --yaml file will be used.'.format( + yaml_containerapp.get('name'), name)) + name = yaml_containerapp.get('name') + + if not yaml_containerapp.get('type'): + yaml_containerapp['type'] = 'Microsoft.App/containerApps' + elif yaml_containerapp.get('type').lower() != "microsoft.app/containerapps": + raise ValidationError('Containerapp type must be \"Microsoft.App/ContainerApps\"') + + # Deserialize the yaml into a ContainerApp object. Need this since we're not using SDK + containerapp_def = None + try: + deserializer = create_deserializer() + + containerapp_def = deserializer('ContainerApp', yaml_containerapp) + except DeserializationError as ex: + raise ValidationError('Invalid YAML provided. Please see https://aka.ms/azure-container-apps-yaml for a valid containerapps YAML spec.') from ex + + # Remove tags before converting from snake case to camel case, then re-add tags. We don't want to change the case of the tags. Need this since we're not using SDK + tags = None + if yaml_containerapp.get('tags'): + tags = yaml_containerapp.get('tags') + del yaml_containerapp['tags'] + + containerapp_def = _convert_object_from_snake_to_camel_case(_object_to_dict(containerapp_def)) + containerapp_def['tags'] = tags + + # After deserializing, some properties may need to be moved under the "properties" attribute. Need this since we're not using SDK + containerapp_def = process_loaded_yaml(containerapp_def) + + # Remove "additionalProperties" and read-only attributes that are introduced in the deserialization. Need this since we're not using SDK + _remove_additional_attributes(containerapp_def) + _remove_readonly_attributes(containerapp_def) + + # Validate managed environment + if not containerapp_def["properties"].get('managedEnvironmentId'): + raise RequiredArgumentMissingError('managedEnvironmentId is required. Please see https://aka.ms/azure-container-apps-yaml for a valid containerapps YAML spec.') + + env_id = containerapp_def["properties"]['managedEnvironmentId'] + env_name = None + env_rg = None + env_info = None + + if is_valid_resource_id(env_id): + parsed_managed_env = parse_resource_id(env_id) + env_name = parsed_managed_env['name'] + env_rg = parsed_managed_env['resource_group'] + else: + raise ValidationError('Invalid managedEnvironmentId specified. Environment not found') + + try: + env_info = ManagedEnvironmentClient.show(cmd=cmd, resource_group_name=env_rg, name=env_name) + except: + pass + + if not env_info: + raise ValidationError("The environment '{}' in resource group '{}' was not found".format(env_name, env_rg)) + + # Validate location + if not containerapp_def.get('location'): + containerapp_def['location'] = env_info['location'] + + try: + r = ContainerAppClient.create_or_update( + cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) + + if "properties" in r and "provisioningState" in r["properties"] and r["properties"]["provisioningState"].lower() == "waiting" and not no_wait: + logger.warning('Containerapp creation in progress. Please monitor the creation using `az containerapp show -n {} -g {}`'.format( + name, resource_group_name + )) + + if "configuration" in r["properties"] and "ingress" in r["properties"]["configuration"] and "fqdn" in r["properties"]["configuration"]["ingress"]: + logger.warning("\nContainer app created. Access your app at https://{}/\n".format(r["properties"]["configuration"]["ingress"]["fqdn"])) + else: + logger.warning("\nContainer app created. To access it over HTTPS, enable ingress: az containerapp ingress enable --help\n") + + return r + except Exception as e: + handle_raw_exception(e) + + +def create_containerapp(cmd, + name, + resource_group_name, + yaml=None, + image=None, + container_name=None, + managed_env=None, + min_replicas=None, + max_replicas=None, + target_port=None, + transport="auto", + ingress=None, + revisions_mode="single", + secrets=None, + env_vars=None, + cpu=None, + memory=None, + registry_server=None, + registry_user=None, + registry_pass=None, + dapr_enabled=False, + dapr_app_port=None, + dapr_app_id=None, + dapr_app_protocol=None, + revision_suffix=None, + startup_command=None, + args=None, + tags=None, + no_wait=False): + _validate_subscription_registered(cmd, "Microsoft.App") + + if yaml: + if image or managed_env or min_replicas or max_replicas or target_port or ingress or\ + revisions_mode or secrets or env_vars or cpu or memory or registry_server or\ + registry_user or registry_pass or dapr_enabled or dapr_app_port or dapr_app_id or\ + startup_command or args or tags: + logger.warning('Additional flags were passed along with --yaml. These flags will be ignored, and the configuration defined in the yaml will be used instead') + return create_containerapp_yaml(cmd=cmd, name=name, resource_group_name=resource_group_name, file_name=yaml, no_wait=no_wait) + + if not image: + image = "mcr.microsoft.com/azuredocs/containerapps-helloworld:latest" + + if managed_env is None: + raise RequiredArgumentMissingError('Usage error: --environment is required if not using --yaml') + + # Validate managed environment + parsed_managed_env = parse_resource_id(managed_env) + managed_env_name = parsed_managed_env['name'] + managed_env_rg = parsed_managed_env['resource_group'] + managed_env_info = None + + try: + managed_env_info = ManagedEnvironmentClient.show(cmd=cmd, resource_group_name=managed_env_rg, name=managed_env_name) + except: + pass + + if not managed_env_info: + raise ValidationError("The environment '{}' does not exist. Specify a valid environment".format(managed_env)) + + location = managed_env_info["location"] + _ensure_location_allowed(cmd, location, "Microsoft.App", "containerApps") + + external_ingress = None + if ingress is not None: + if ingress.lower() == "internal": + external_ingress = False + elif ingress.lower() == "external": + external_ingress = True + + ingress_def = None + if target_port is not None and ingress is not None: + ingress_def = IngressModel + ingress_def["external"] = external_ingress + ingress_def["targetPort"] = target_port + ingress_def["transport"] = transport + + secrets_def = None + if secrets is not None: + secrets_def = parse_secret_flags(secrets) + + registries_def = None + if registry_server is not None: + registries_def = RegistryCredentialsModel + + # Infer credentials if not supplied and its azurecr + if registry_user is None or registry_pass is None: + registry_user, registry_pass = _infer_acr_credentials(cmd, registry_server) + + registries_def["server"] = registry_server + registries_def["username"] = registry_user + + if secrets_def is None: + secrets_def = [] + registries_def["passwordSecretRef"] = store_as_secret_and_return_secret_ref(secrets_def, registry_user, registry_server, registry_pass) + + dapr_def = None + if dapr_enabled: + dapr_def = DaprModel + dapr_def["enabled"] = True + dapr_def["appId"] = dapr_app_id + dapr_def["appPort"] = dapr_app_port + dapr_def["appProtocol"] = dapr_app_protocol + + config_def = ConfigurationModel + config_def["secrets"] = secrets_def + config_def["activeRevisionsMode"] = revisions_mode + config_def["ingress"] = ingress_def + config_def["registries"] = [registries_def] if registries_def is not None else None + config_def["dapr"] = dapr_def + + scale_def = None + if min_replicas is not None or max_replicas is not None: + scale_def = ScaleModel + scale_def["minReplicas"] = min_replicas + scale_def["maxReplicas"] = max_replicas + + resources_def = None + if cpu is not None or memory is not None: + resources_def = ContainerResourcesModel + resources_def["cpu"] = cpu + resources_def["memory"] = memory + + container_def = ContainerModel + container_def["name"] = container_name if container_name else name + container_def["image"] = image + if env_vars is not None: + container_def["env"] = parse_env_var_flags(env_vars) + if startup_command is not None: + container_def["command"] = startup_command + if args is not None: + container_def["args"] = args + if resources_def is not None: + container_def["resources"] = resources_def + + template_def = TemplateModel + template_def["containers"] = [container_def] + template_def["scale"] = scale_def + + if revision_suffix is not None: + template_def["revisionSuffix"] = revision_suffix + + containerapp_def = ContainerAppModel + containerapp_def["location"] = location + containerapp_def["properties"]["managedEnvironmentId"] = managed_env + containerapp_def["properties"]["configuration"] = config_def + containerapp_def["properties"]["template"] = template_def + containerapp_def["tags"] = tags + + try: + r = ContainerAppClient.create_or_update( + cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) + + if "properties" in r and "provisioningState" in r["properties"] and r["properties"]["provisioningState"].lower() == "waiting" and not no_wait: + logger.warning('Containerapp creation in progress. Please monitor the creation using `az containerapp show -n {} -g {}`'.format(name, resource_group_name)) + + if "configuration" in r["properties"] and "ingress" in r["properties"]["configuration"] and "fqdn" in r["properties"]["configuration"]["ingress"]: + logger.warning("\nContainer app created. Access your app at https://{}/\n".format(r["properties"]["configuration"]["ingress"]["fqdn"])) + else: + logger.warning("\nContainer app created. To access it over HTTPS, enable ingress: az containerapp ingress enable --help\n") + + return r + except Exception as e: + handle_raw_exception(e) + + +def update_containerapp(cmd, + name, + resource_group_name, + yaml=None, + image=None, + container_name=None, + min_replicas=None, + max_replicas=None, + set_env_vars=None, + remove_env_vars=None, + replace_env_vars=None, + remove_all_env_vars=False, + cpu=None, + memory=None, + revision_suffix=None, + startup_command=None, + args=None, + tags=None, + no_wait=False): + _validate_subscription_registered(cmd, "Microsoft.App") + + if yaml: + if image or min_replicas or max_replicas or\ + set_env_vars or remove_env_vars or replace_env_vars or remove_all_env_vars or cpu or memory or\ + startup_command or args or tags: + logger.warning('Additional flags were passed along with --yaml. These flags will be ignored, and the configuration defined in the yaml will be used instead') + return update_containerapp_yaml(cmd=cmd, name=name, resource_group_name=resource_group_name, file_name=yaml, no_wait=no_wait) + + containerapp_def = None + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + + # Doing this while API has bug. If env var is an empty string, API doesn't return "value" even though the "value" should be an empty string + if "properties" in containerapp_def and "template" in containerapp_def["properties"] and "containers" in containerapp_def["properties"]["template"]: + for container in containerapp_def["properties"]["template"]["containers"]: + if "env" in container: + for e in container["env"]: + if "value" not in e: + e["value"] = "" + + update_map = {} + update_map['scale'] = min_replicas or max_replicas + update_map['container'] = image or container_name or set_env_vars is not None or remove_env_vars is not None or replace_env_vars is not None or remove_all_env_vars or cpu or memory or startup_command is not None or args is not None + + if tags: + _add_or_update_tags(containerapp_def, tags) + + if revision_suffix is not None: + containerapp_def["properties"]["template"]["revisionSuffix"] = revision_suffix + + # Containers + if update_map["container"]: + if not container_name: + if len(containerapp_def["properties"]["template"]["containers"]) == 1: + container_name = containerapp_def["properties"]["template"]["containers"][0]["name"] + else: + raise ValidationError("Usage error: --image-name is required when adding or updating a container") + + # Check if updating existing container + updating_existing_container = False + for c in containerapp_def["properties"]["template"]["containers"]: + if c["name"].lower() == container_name.lower(): + updating_existing_container = True + + if image is not None: + c["image"] = image + + if set_env_vars is not None: + if "env" not in c or not c["env"]: + c["env"] = [] + # env vars + _add_or_update_env_vars(c["env"], parse_env_var_flags(set_env_vars), is_add=True) + + if replace_env_vars is not None: + if "env" not in c or not c["env"]: + c["env"] = [] + # env vars + _add_or_update_env_vars(c["env"], parse_env_var_flags(replace_env_vars)) + + if remove_env_vars is not None: + if "env" not in c or not c["env"]: + c["env"] = [] + # env vars + _remove_env_vars(c["env"], remove_env_vars) + + if remove_all_env_vars: + c["env"] = [] + + if startup_command is not None: + if isinstance(startup_command, list) and not startup_command: + c["command"] = None + else: + c["command"] = startup_command + if args is not None: + if isinstance(args, list) and not args: + c["args"] = None + else: + c["args"] = args + if cpu is not None or memory is not None: + if "resources" in c and c["resources"]: + if cpu is not None: + c["resources"]["cpu"] = cpu + if memory is not None: + c["resources"]["memory"] = memory + else: + c["resources"] = { + "cpu": cpu, + "memory": memory + } + + # If not updating existing container, add as new container + if not updating_existing_container: + if image is None: + raise ValidationError("Usage error: --image is required when adding a new container") + + resources_def = None + if cpu is not None or memory is not None: + resources_def = ContainerResourcesModel + resources_def["cpu"] = cpu + resources_def["memory"] = memory + + container_def = ContainerModel + container_def["name"] = container_name + container_def["image"] = image + container_def["env"] = [] + + if set_env_vars is not None: + # env vars + _add_or_update_env_vars(container_def["env"], parse_env_var_flags(set_env_vars), is_add=True) + + if replace_env_vars is not None: + # env vars + _add_or_update_env_vars(container_def["env"], parse_env_var_flags(replace_env_vars)) + + if remove_env_vars is not None: + # env vars + _remove_env_vars(container_def["env"], remove_env_vars) + + if remove_all_env_vars: + container_def["env"] = [] + + if startup_command is not None: + if isinstance(startup_command, list) and not startup_command: + container_def["command"] = None + else: + container_def["command"] = startup_command + if args is not None: + if isinstance(args, list) and not args: + container_def["args"] = None + else: + container_def["args"] = args + if resources_def is not None: + container_def["resources"] = resources_def + + containerapp_def["properties"]["template"]["containers"].append(container_def) + + # Scale + if update_map["scale"]: + if "scale" not in containerapp_def["properties"]["template"]: + containerapp_def["properties"]["template"]["scale"] = {} + if min_replicas is not None: + containerapp_def["properties"]["template"]["scale"]["minReplicas"] = min_replicas + if max_replicas is not None: + containerapp_def["properties"]["template"]["scale"]["maxReplicas"] = max_replicas + + _get_existing_secrets(cmd, resource_group_name, name, containerapp_def) + + try: + r = ContainerAppClient.create_or_update( + cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) + + if "properties" in r and "provisioningState" in r["properties"] and r["properties"]["provisioningState"].lower() == "waiting" and not no_wait: + logger.warning('Containerapp update in progress. Please monitor the update using `az containerapp show -n {} -g {}`'.format(name, resource_group_name)) + + return r + except Exception as e: + handle_raw_exception(e) + + +def show_containerapp(cmd, name, resource_group_name): + _validate_subscription_registered(cmd, "Microsoft.App") + + try: + return ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except CLIError as e: + handle_raw_exception(e) + + +def list_containerapp(cmd, resource_group_name=None): + _validate_subscription_registered(cmd, "Microsoft.App") + + try: + containerapps = [] + if resource_group_name is None: + containerapps = ContainerAppClient.list_by_subscription(cmd=cmd) + else: + containerapps = ContainerAppClient.list_by_resource_group(cmd=cmd, resource_group_name=resource_group_name) + + return containerapps + except CLIError as e: + handle_raw_exception(e) + + +def delete_containerapp(cmd, name, resource_group_name, no_wait=False): + _validate_subscription_registered(cmd, "Microsoft.App") + + try: + return ContainerAppClient.delete(cmd=cmd, name=name, resource_group_name=resource_group_name, no_wait=no_wait) + except CLIError as e: + handle_raw_exception(e) + + +def create_managed_environment(cmd, + name, + resource_group_name, + logs_customer_id=None, + logs_key=None, + location=None, + instrumentation_key=None, + infrastructure_subnet_resource_id=None, + docker_bridge_cidr=None, + platform_reserved_cidr=None, + platform_reserved_dns_ip=None, + internal_only=False, + tags=None, + no_wait=False): + + location = location or _get_location_from_resource_group(cmd.cli_ctx, resource_group_name) + + _validate_subscription_registered(cmd, "Microsoft.App") + _ensure_location_allowed(cmd, location, "Microsoft.App", "managedEnvironments") + + if logs_customer_id is None or logs_key is None: + logs_customer_id, logs_key = _generate_log_analytics_if_not_provided(cmd, logs_customer_id, logs_key, location, resource_group_name) + + log_analytics_config_def = LogAnalyticsConfigurationModel + log_analytics_config_def["customerId"] = logs_customer_id + log_analytics_config_def["sharedKey"] = logs_key + + app_logs_config_def = AppLogsConfigurationModel + app_logs_config_def["destination"] = "log-analytics" + app_logs_config_def["logAnalyticsConfiguration"] = log_analytics_config_def + + managed_env_def = ManagedEnvironmentModel + managed_env_def["location"] = location + managed_env_def["properties"]["internalLoadBalancerEnabled"] = False + managed_env_def["properties"]["appLogsConfiguration"] = app_logs_config_def + managed_env_def["tags"] = tags + + if instrumentation_key is not None: + managed_env_def["properties"]["daprAIInstrumentationKey"] = instrumentation_key + + if infrastructure_subnet_resource_id or docker_bridge_cidr or platform_reserved_cidr or platform_reserved_dns_ip: + vnet_config_def = VnetConfigurationModel + + if infrastructure_subnet_resource_id is not None: + vnet_config_def["infrastructureSubnetId"] = infrastructure_subnet_resource_id + + if docker_bridge_cidr is not None: + vnet_config_def["dockerBridgeCidr"] = docker_bridge_cidr + + if platform_reserved_cidr is not None: + vnet_config_def["platformReservedCidr"] = platform_reserved_cidr + + if platform_reserved_dns_ip is not None: + vnet_config_def["platformReservedDnsIP"] = platform_reserved_dns_ip + + managed_env_def["properties"]["vnetConfiguration"] = vnet_config_def + + if internal_only: + if not infrastructure_subnet_resource_id: + raise ValidationError('Infrastructure subnet resource ID needs to be supplied for internal only environments.') + managed_env_def["properties"]["internalLoadBalancerEnabled"] = True + + try: + r = ManagedEnvironmentClient.create( + cmd=cmd, resource_group_name=resource_group_name, name=name, managed_environment_envelope=managed_env_def, no_wait=no_wait) + + if "properties" in r and "provisioningState" in r["properties"] and r["properties"]["provisioningState"].lower() == "waiting" and not no_wait: + logger.warning('Containerapp environment creation in progress. Please monitor the creation using `az containerapp env show -n {} -g {}`'.format(name, resource_group_name)) + + logger.warning("\nContainer Apps environment created. To deploy a container app, use: az containerapp create --help\n") + + return r + except Exception as e: + handle_raw_exception(e) + + +def update_managed_environment(cmd, + name, + resource_group_name, + tags=None, + no_wait=False): + raise CLIInternalError('Containerapp env update is not yet supported.') + + +def show_managed_environment(cmd, name, resource_group_name): + _validate_subscription_registered(cmd, "Microsoft.App") + + try: + return ManagedEnvironmentClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except CLIError as e: + handle_raw_exception(e) + + +def list_managed_environments(cmd, resource_group_name=None): + _validate_subscription_registered(cmd, "Microsoft.App") + + try: + managed_envs = [] + if resource_group_name is None: + managed_envs = ManagedEnvironmentClient.list_by_subscription(cmd=cmd) + else: + managed_envs = ManagedEnvironmentClient.list_by_resource_group(cmd=cmd, resource_group_name=resource_group_name) + + return managed_envs + except CLIError as e: + handle_raw_exception(e) + + +def delete_managed_environment(cmd, name, resource_group_name, no_wait=False): + _validate_subscription_registered(cmd, "Microsoft.App") + + try: + return ManagedEnvironmentClient.delete(cmd=cmd, name=name, resource_group_name=resource_group_name, no_wait=no_wait) + except CLIError as e: + handle_raw_exception(e) + + +def assign_managed_identity(cmd, name, resource_group_name, identities=None, no_wait=False): + _validate_subscription_registered(cmd, "Microsoft.App") + + # if no identities, then assign system by default + if not identities: + identities = ['[system]'] + logger.warning('Identities not specified. Assigning managed system identity.') + + identities = [x.lower() for x in identities] + assign_system_identity = '[system]' in identities + assign_user_identities = [x for x in identities if x != '[system]'] + + containerapp_def = None + + # Get containerapp properties of CA we are updating + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + + _get_existing_secrets(cmd, resource_group_name, name, containerapp_def) + + # If identity not returned + try: + containerapp_def["identity"] + containerapp_def["identity"]["type"] + except: + containerapp_def["identity"] = {} + containerapp_def["identity"]["type"] = "None" + + if assign_system_identity and containerapp_def["identity"]["type"].__contains__("SystemAssigned"): + logger.warning("System identity is already assigned to containerapp") + + # Assign correct type + try: + if containerapp_def["identity"]["type"] != "None": + if containerapp_def["identity"]["type"] == "SystemAssigned" and assign_user_identities: + containerapp_def["identity"]["type"] = "SystemAssigned,UserAssigned" + if containerapp_def["identity"]["type"] == "UserAssigned" and assign_system_identity: + containerapp_def["identity"]["type"] = "SystemAssigned,UserAssigned" + else: + if assign_system_identity and assign_user_identities: + containerapp_def["identity"]["type"] = "SystemAssigned,UserAssigned" + elif assign_system_identity: + containerapp_def["identity"]["type"] = "SystemAssigned" + elif assign_user_identities: + containerapp_def["identity"]["type"] = "UserAssigned" + except: + # Always returns "type": "None" when CA has no previous identities + pass + + if assign_user_identities: + try: + containerapp_def["identity"]["userAssignedIdentities"] + except: + containerapp_def["identity"]["userAssignedIdentities"] = {} + + subscription_id = get_subscription_id(cmd.cli_ctx) + + for r in assign_user_identities: + old_id = r + r = _ensure_identity_resource_id(subscription_id, resource_group_name, r).replace("resourceGroup", "resourcegroup") + try: + containerapp_def["identity"]["userAssignedIdentities"][r] + logger.warning("User identity {} is already assigned to containerapp".format(old_id)) + except: + containerapp_def["identity"]["userAssignedIdentities"][r] = {} + + try: + r = ContainerAppClient.create_or_update(cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) + # If identity is not returned, do nothing + return r["identity"] + + except Exception as e: + handle_raw_exception(e) + + +def remove_managed_identity(cmd, name, resource_group_name, identities, no_wait=False): + _validate_subscription_registered(cmd, "Microsoft.App") + + identities = [x.lower() for x in identities] + remove_system_identity = '[system]' in identities + remove_user_identities = [x for x in identities if x != '[system]'] + remove_id_size = len(remove_user_identities) + + # Remove duplicate identities that are passed and notify + remove_user_identities = list(set(remove_user_identities)) + if remove_id_size != len(remove_user_identities): + logger.warning("At least one identity was passed twice.") + + containerapp_def = None + # Get containerapp properties of CA we are updating + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + + _get_existing_secrets(cmd, resource_group_name, name, containerapp_def) + + # If identity not returned + try: + containerapp_def["identity"] + containerapp_def["identity"]["type"] + except: + containerapp_def["identity"] = {} + containerapp_def["identity"]["type"] = "None" + + if containerapp_def["identity"]["type"] == "None": + raise InvalidArgumentValueError("The containerapp {} has no system or user assigned identities.".format(name)) + + if remove_system_identity: + if containerapp_def["identity"]["type"] == "UserAssigned": + raise InvalidArgumentValueError("The containerapp {} has no system assigned identities.".format(name)) + containerapp_def["identity"]["type"] = ("None" if containerapp_def["identity"]["type"] == "SystemAssigned" else "UserAssigned") + + if remove_user_identities: + subscription_id = get_subscription_id(cmd.cli_ctx) + try: + containerapp_def["identity"]["userAssignedIdentities"] + except: + containerapp_def["identity"]["userAssignedIdentities"] = {} + for remove_id in remove_user_identities: + given_id = remove_id + remove_id = _ensure_identity_resource_id(subscription_id, resource_group_name, remove_id) + wasRemoved = False + + for old_user_identity in containerapp_def["identity"]["userAssignedIdentities"]: + if old_user_identity.lower() == remove_id.lower(): + containerapp_def["identity"]["userAssignedIdentities"].pop(old_user_identity) + wasRemoved = True + break + + if not wasRemoved: + raise InvalidArgumentValueError("The containerapp does not have specified user identity '{}' assigned, so it cannot be removed.".format(given_id)) + + if containerapp_def["identity"]["userAssignedIdentities"] == {}: + containerapp_def["identity"]["userAssignedIdentities"] = None + containerapp_def["identity"]["type"] = ("None" if containerapp_def["identity"]["type"] == "UserAssigned" else "SystemAssigned") + + try: + r = ContainerAppClient.create_or_update(cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) + return r["identity"] + except Exception as e: + handle_raw_exception(e) + + +def show_managed_identity(cmd, name, resource_group_name): + _validate_subscription_registered(cmd, "Microsoft.App") + + try: + r = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except CLIError as e: + handle_raw_exception(e) + + try: + return r["identity"] + except: + r["identity"] = {} + r["identity"]["type"] = "None" + return r["identity"] + + +def create_or_update_github_action(cmd, + name, + resource_group_name, + repo_url, + registry_url=None, + registry_username=None, + registry_password=None, + branch=None, + token=None, + login_with_github=False, + docker_file_path=None, + service_principal_client_id=None, + service_principal_client_secret=None, + service_principal_tenant_id=None): + if not token and not login_with_github: + raise_missing_token_suggestion() + elif not token: + scopes = ["admin:repo_hook", "repo", "workflow"] + token = get_github_access_token(cmd, scopes) + elif token and login_with_github: + logger.warning("Both token and --login-with-github flag are provided. Will use provided token") + + try: + # Verify github repo + from github import Github, GithubException + from github.GithubException import BadCredentialsException + + repo = None + repo = repo_url.split('/') + if len(repo) >= 2: + repo = '/'.join(repo[-2:]) + + if repo: + g = Github(token) + github_repo = None + try: + github_repo = g.get_repo(repo) + if not github_repo.permissions.push or not github_repo.permissions.maintain: + raise ValidationError("The token does not have appropriate access rights to repository {}.".format(repo)) + try: + github_repo.get_branch(branch=branch) + except GithubException as e: + error_msg = "Encountered GitHub error when accessing {} branch in {} repo.".format(branch, repo) + if e.data and e.data['message']: + error_msg += " Error: {}".format(e.data['message']) + raise CLIInternalError(error_msg) from e + logger.warning('Verified GitHub repo and branch') + except BadCredentialsException as e: + raise ValidationError("Could not authenticate to the repository. Please create a Personal Access Token and use " + "the --token argument. Run 'az webapp deployment github-actions add --help' " + "for more information.") from e + except GithubException as e: + error_msg = "Encountered GitHub error when accessing {} repo".format(repo) + if e.data and e.data['message']: + error_msg += " Error: {}".format(e.data['message']) + raise CLIInternalError(error_msg) from e + except CLIError as clierror: + raise clierror + except Exception: + # If exception due to github package missing, etc just continue without validating the repo and rely on api validation + pass + + source_control_info = None + + try: + source_control_info = GitHubActionClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + + except Exception as ex: + if not service_principal_client_id or not service_principal_client_secret or not service_principal_tenant_id: + raise RequiredArgumentMissingError('Service principal client ID, secret and tenant ID are required to add github actions for the first time. Please create one using the command \"az ad sp create-for-rbac --name {{name}} --role contributor --scopes /subscriptions/{{subscription}}/resourceGroups/{{resourceGroup}} --sdk-auth\"') from ex + source_control_info = SourceControlModel + + source_control_info["properties"]["repoUrl"] = repo_url + + if branch: + source_control_info["properties"]["branch"] = branch + if not source_control_info["properties"]["branch"]: + source_control_info["properties"]["branch"] = "main" + + azure_credentials = None + + if service_principal_client_id or service_principal_client_secret or service_principal_tenant_id: + azure_credentials = AzureCredentialsModel + azure_credentials["clientId"] = service_principal_client_id + azure_credentials["clientSecret"] = service_principal_client_secret + azure_credentials["tenantId"] = service_principal_tenant_id + azure_credentials["subscriptionId"] = get_subscription_id(cmd.cli_ctx) + + # Registry + if registry_username is None or registry_password is None: + # If registry is Azure Container Registry, we can try inferring credentials + if not registry_url or '.azurecr.io' not in registry_url: + raise RequiredArgumentMissingError('Registry url is required if using Azure Container Registry, otherwise Registry username and password are required if using Dockerhub') + logger.warning('No credential was provided to access Azure Container Registry. Trying to look up...') + parsed = urlparse(registry_url) + registry_name = (parsed.netloc if parsed.scheme else parsed.path).split('.')[0] + + try: + registry_username, registry_password = _get_acr_cred(cmd.cli_ctx, registry_name) + except Exception as ex: + raise RequiredArgumentMissingError('Failed to retrieve credentials for container registry. Please provide the registry username and password') from ex + + registry_info = RegistryInfoModel + registry_info["registryUrl"] = registry_url + registry_info["registryUserName"] = registry_username + registry_info["registryPassword"] = registry_password + + github_action_configuration = GitHubActionConfiguration + github_action_configuration["registryInfo"] = registry_info + github_action_configuration["azureCredentials"] = azure_credentials + github_action_configuration["dockerfilePath"] = docker_file_path + + source_control_info["properties"]["githubActionConfiguration"] = github_action_configuration + + headers = ["x-ms-github-auxiliary={}".format(token)] + + try: + r = GitHubActionClient.create_or_update(cmd=cmd, resource_group_name=resource_group_name, name=name, github_action_envelope=source_control_info, headers=headers) + return r + except Exception as e: + handle_raw_exception(e) + + +def show_github_action(cmd, name, resource_group_name): + try: + return GitHubActionClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except Exception as e: + handle_raw_exception(e) + + +def delete_github_action(cmd, name, resource_group_name, token=None, login_with_github=False): + # Check if there is an existing source control to delete + try: + github_action_config = GitHubActionClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except Exception as e: + handle_raw_exception(e) + + repo_url = github_action_config["properties"]["repoUrl"] + + if not token and not login_with_github: + raise_missing_token_suggestion() + elif not token: + scopes = ["admin:repo_hook", "repo", "workflow"] + token = get_github_access_token(cmd, scopes) + elif token and login_with_github: + logger.warning("Both token and --login-with-github flag are provided. Will use provided token") + + # Check if PAT can access repo + try: + # Verify github repo + from github import Github, GithubException + from github.GithubException import BadCredentialsException + + repo = None + repo = repo_url.split('/') + if len(repo) >= 2: + repo = '/'.join(repo[-2:]) + + if repo: + g = Github(token) + github_repo = None + try: + github_repo = g.get_repo(repo) + if not github_repo.permissions.push or not github_repo.permissions.maintain: + raise ValidationError("The token does not have appropriate access rights to repository {}.".format(repo)) + except BadCredentialsException as e: + raise CLIInternalError("Could not authenticate to the repository. Please create a Personal Access Token and use " + "the --token argument. Run 'az webapp deployment github-actions add --help' " + "for more information.") from e + except GithubException as e: + error_msg = "Encountered GitHub error when accessing {} repo".format(repo) + if e.data and e.data['message']: + error_msg += " Error: {}".format(e.data['message']) + raise CLIInternalError(error_msg) from e + except CLIError as clierror: + raise clierror + except Exception: + # If exception due to github package missing, etc just continue without validating the repo and rely on api validation + pass + + headers = ["x-ms-github-auxiliary={}".format(token)] + + try: + return GitHubActionClient.delete(cmd=cmd, resource_group_name=resource_group_name, name=name, headers=headers) + except Exception as e: + handle_raw_exception(e) + + +def list_revisions(cmd, name, resource_group_name): + try: + return ContainerAppClient.list_revisions(cmd=cmd, resource_group_name=resource_group_name, name=name) + except CLIError as e: + handle_raw_exception(e) + + +def show_revision(cmd, resource_group_name, revision_name, name=None): + if not name: + name = _get_app_from_revision(revision_name) + + try: + return ContainerAppClient.show_revision(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, name=revision_name) + except CLIError as e: + handle_raw_exception(e) + + +def restart_revision(cmd, resource_group_name, revision_name, name=None): + if not name: + name = _get_app_from_revision(revision_name) + + try: + return ContainerAppClient.restart_revision(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, name=revision_name) + except CLIError as e: + handle_raw_exception(e) + + +def activate_revision(cmd, resource_group_name, revision_name, name=None): + if not name: + name = _get_app_from_revision(revision_name) + + try: + return ContainerAppClient.activate_revision(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, name=revision_name) + except CLIError as e: + handle_raw_exception(e) + + +def deactivate_revision(cmd, resource_group_name, revision_name, name=None): + if not name: + name = _get_app_from_revision(revision_name) + + try: + return ContainerAppClient.deactivate_revision(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, name=revision_name) + except CLIError as e: + handle_raw_exception(e) + + +def copy_revision(cmd, + resource_group_name, + from_revision=None, + # label=None, + name=None, + yaml=None, + image=None, + container_name=None, + min_replicas=None, + max_replicas=None, + set_env_vars=None, + replace_env_vars=None, + remove_env_vars=None, + remove_all_env_vars=False, + cpu=None, + memory=None, + revision_suffix=None, + startup_command=None, + args=None, + tags=None, + no_wait=False): + _validate_subscription_registered(cmd, "Microsoft.App") + + if not name and not from_revision: + raise RequiredArgumentMissingError('Usage error: --name is required if not using --from-revision.') + + if not name: + name = _get_app_from_revision(from_revision) + + if yaml: + if image or min_replicas or max_replicas or\ + set_env_vars or replace_env_vars or remove_env_vars or \ + remove_all_env_vars or cpu or memory or \ + startup_command or args or tags: + logger.warning('Additional flags were passed along with --yaml. These flags will be ignored, and the configuration defined in the yaml will be used instead') + return update_containerapp_yaml(cmd=cmd, name=name, resource_group_name=resource_group_name, file_name=yaml, from_revision=from_revision, no_wait=no_wait) + + containerapp_def = None + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + + if from_revision: + try: + r = ContainerAppClient.show_revision(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, name=from_revision) + except CLIError as e: + # Error handle the case where revision not found? + handle_raw_exception(e) + + _update_revision_env_secretrefs(r["properties"]["template"]["containers"], name) + containerapp_def["properties"]["template"] = r["properties"]["template"] + + # Doing this while API has bug. If env var is an empty string, API doesn't return "value" even though the "value" should be an empty string + if "properties" in containerapp_def and "template" in containerapp_def["properties"] and "containers" in containerapp_def["properties"]["template"]: + for container in containerapp_def["properties"]["template"]["containers"]: + if "env" in container: + for e in container["env"]: + if "value" not in e: + e["value"] = "" + + update_map = {} + update_map['scale'] = min_replicas or max_replicas + update_map['container'] = image or container_name or set_env_vars or replace_env_vars or remove_env_vars or remove_all_env_vars or cpu or memory or startup_command is not None or args is not None + + if tags: + _add_or_update_tags(containerapp_def, tags) + + if revision_suffix is not None: + containerapp_def["properties"]["template"]["revisionSuffix"] = revision_suffix + + # Containers + if update_map["container"]: + if not container_name: + if len(containerapp_def["properties"]["template"]["containers"]) == 1: + container_name = containerapp_def["properties"]["template"]["containers"][0]["name"] + else: + raise ValidationError("Usage error: --image-name is required when adding or updating a container") + + # Check if updating existing container + updating_existing_container = False + for c in containerapp_def["properties"]["template"]["containers"]: + if c["name"].lower() == container_name.lower(): + updating_existing_container = True + + if image is not None: + c["image"] = image + + if set_env_vars is not None: + if "env" not in c or not c["env"]: + c["env"] = [] + # env vars + _add_or_update_env_vars(c["env"], parse_env_var_flags(set_env_vars), is_add=True) + + if replace_env_vars is not None: + if "env" not in c or not c["env"]: + c["env"] = [] + # env vars + _add_or_update_env_vars(c["env"], parse_env_var_flags(replace_env_vars)) + + if remove_env_vars is not None: + if "env" not in c or not c["env"]: + c["env"] = [] + # env vars + _remove_env_vars(c["env"], remove_env_vars) + + if remove_all_env_vars: + c["env"] = [] + + if startup_command is not None: + if isinstance(startup_command, list) and not startup_command: + c["command"] = None + else: + c["command"] = startup_command + if args is not None: + if isinstance(args, list) and not args: + c["args"] = None + else: + c["args"] = args + if cpu is not None or memory is not None: + if "resources" in c and c["resources"]: + if cpu is not None: + c["resources"]["cpu"] = cpu + if memory is not None: + c["resources"]["memory"] = memory + else: + c["resources"] = { + "cpu": cpu, + "memory": memory + } + + # If not updating existing container, add as new container + if not updating_existing_container: + if image is None: + raise ValidationError("Usage error: --image is required when adding a new container") + + resources_def = None + if cpu is not None or memory is not None: + resources_def = ContainerResourcesModel + resources_def["cpu"] = cpu + resources_def["memory"] = memory + + container_def = ContainerModel + container_def["name"] = container_name + container_def["image"] = image + + if set_env_vars is not None: + # env vars + _add_or_update_env_vars(container_def["env"], parse_env_var_flags(set_env_vars), is_add=True) + + if replace_env_vars is not None: + # env vars + _add_or_update_env_vars(container_def["env"], parse_env_var_flags(replace_env_vars)) + + if remove_env_vars is not None: + # env vars + _remove_env_vars(container_def["env"], remove_env_vars) + + if remove_all_env_vars: + container_def["env"] = [] + + if startup_command is not None: + if isinstance(startup_command, list) and not startup_command: + container_def["command"] = None + else: + container_def["command"] = startup_command + if args is not None: + if isinstance(args, list) and not args: + container_def["args"] = None + else: + container_def["args"] = args + if resources_def is not None: + container_def["resources"] = resources_def + + containerapp_def["properties"]["template"]["containers"].append(container_def) + + # Scale + if update_map["scale"]: + if "scale" not in containerapp_def["properties"]["template"]: + containerapp_def["properties"]["template"]["scale"] = {} + if min_replicas is not None: + containerapp_def["properties"]["template"]["scale"]["minReplicas"] = min_replicas + if max_replicas is not None: + containerapp_def["properties"]["template"]["scale"]["maxReplicas"] = max_replicas + + _get_existing_secrets(cmd, resource_group_name, name, containerapp_def) + + try: + r = ContainerAppClient.create_or_update( + cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) + + if "properties" in r and "provisioningState" in r["properties"] and r["properties"]["provisioningState"].lower() == "waiting" and not no_wait: + logger.warning('Containerapp update in progress. Please monitor the update using `az containerapp show -n {} -g {}`'.format(name, resource_group_name)) + + return r + except Exception as e: + handle_raw_exception(e) + + +def set_revision_mode(cmd, resource_group_name, name, mode, no_wait=False): + _validate_subscription_registered(cmd, "Microsoft.App") + + containerapp_def = None + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + + containerapp_def["properties"]["configuration"]["activeRevisionsMode"] = mode.lower() + + _get_existing_secrets(cmd, resource_group_name, name, containerapp_def) + + try: + r = ContainerAppClient.create_or_update( + cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) + return r["properties"]["configuration"]["activeRevisionsMode"] + except Exception as e: + handle_raw_exception(e) + + +def show_ingress(cmd, name, resource_group_name): + _validate_subscription_registered(cmd, "Microsoft.App") + + containerapp_def = None + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + + try: + return containerapp_def["properties"]["configuration"]["ingress"] + except Exception as e: + raise ValidationError("The containerapp '{}' does not have ingress enabled.".format(name)) from e + + +def enable_ingress(cmd, name, resource_group_name, type, target_port, transport, allow_insecure=False, no_wait=False): # pylint: disable=redefined-builtin + _validate_subscription_registered(cmd, "Microsoft.App") + + containerapp_def = None + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + + external_ingress = None + if type is not None: + if type.lower() == "internal": + external_ingress = False + elif type.lower() == "external": + external_ingress = True + + ingress_def = None + if target_port is not None and type is not None: + ingress_def = IngressModel + ingress_def["external"] = external_ingress + ingress_def["targetPort"] = target_port + ingress_def["transport"] = transport + ingress_def["allowInsecure"] = allow_insecure + + containerapp_def["properties"]["configuration"]["ingress"] = ingress_def + + _get_existing_secrets(cmd, resource_group_name, name, containerapp_def) + + try: + r = ContainerAppClient.create_or_update( + cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) + logger.warning("\nIngress enabled. Access your app at https://{}/\n".format(r["properties"]["configuration"]["ingress"]["fqdn"])) + return r["properties"]["configuration"]["ingress"] + except Exception as e: + handle_raw_exception(e) + + +def disable_ingress(cmd, name, resource_group_name, no_wait=False): + _validate_subscription_registered(cmd, "Microsoft.App") + + containerapp_def = None + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + + containerapp_def["properties"]["configuration"]["ingress"] = None + + _get_existing_secrets(cmd, resource_group_name, name, containerapp_def) + + try: + ContainerAppClient.create_or_update( + cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) + logger.warning("Ingress has been disabled successfully.") + return + except Exception as e: + handle_raw_exception(e) + + +def set_ingress_traffic(cmd, name, resource_group_name, traffic_weights, no_wait=False): + _validate_subscription_registered(cmd, "Microsoft.App") + + containerapp_def = None + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + + try: + containerapp_def["properties"]["configuration"]["ingress"] + except Exception as e: + raise ValidationError("Ingress must be enabled to set ingress traffic. Try running `az containerapp ingress -h` for more info.") from e + + if traffic_weights is not None: + _update_traffic_weights(containerapp_def, traffic_weights) + + _get_existing_secrets(cmd, resource_group_name, name, containerapp_def) + + try: + r = ContainerAppClient.create_or_update( + cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) + return r["properties"]["configuration"]["ingress"]["traffic"] + except Exception as e: + handle_raw_exception(e) + + +def show_ingress_traffic(cmd, name, resource_group_name): + _validate_subscription_registered(cmd, "Microsoft.App") + + containerapp_def = None + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + + try: + return containerapp_def["properties"]["configuration"]["ingress"]["traffic"] + except Exception as e: + raise ValidationError("Ingress must be enabled to show ingress traffic. Try running `az containerapp ingress -h` for more info.") from e + + +def show_registry(cmd, name, resource_group_name, server): + _validate_subscription_registered(cmd, "Microsoft.App") + + containerapp_def = None + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + + try: + containerapp_def["properties"]["configuration"]["registries"] + except Exception as e: + raise ValidationError("The containerapp {} has no assigned registries.".format(name)) from e + + registries_def = containerapp_def["properties"]["configuration"]["registries"] + + for r in registries_def: + if r['server'].lower() == server.lower(): + return r + raise InvalidArgumentValueError("The containerapp {} does not have specified registry assigned.".format(name)) + + +def list_registry(cmd, name, resource_group_name): + _validate_subscription_registered(cmd, "Microsoft.App") + + containerapp_def = None + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + + try: + return containerapp_def["properties"]["configuration"]["registries"] + except Exception as e: + raise ValidationError("The containerapp {} has no assigned registries.".format(name)) from e + + +def set_registry(cmd, name, resource_group_name, server, username=None, password=None, no_wait=False): + _validate_subscription_registered(cmd, "Microsoft.App") + + containerapp_def = None + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + + _get_existing_secrets(cmd, resource_group_name, name, containerapp_def) + + registries_def = None + registry = None + + if "registries" not in containerapp_def["properties"]["configuration"]: + containerapp_def["properties"]["configuration"]["registries"] = [] + + registries_def = containerapp_def["properties"]["configuration"]["registries"] + + if not username or not password: + # If registry is Azure Container Registry, we can try inferring credentials + if '.azurecr.io' not in server: + raise RequiredArgumentMissingError('Registry username and password are required if you are not using Azure Container Registry.') + logger.warning('No credential was provided to access Azure Container Registry. Trying to look up...') + parsed = urlparse(server) + registry_name = (parsed.netloc if parsed.scheme else parsed.path).split('.')[0] + + try: + username, password = _get_acr_cred(cmd.cli_ctx, registry_name) + except Exception as ex: + raise RequiredArgumentMissingError('Failed to retrieve credentials for container registry. Please provide the registry username and password') from ex + + # Check if updating existing registry + updating_existing_registry = False + for r in registries_def: + if r['server'].lower() == server.lower(): + logger.warning("Updating existing registry.") + updating_existing_registry = True + if username: + r["username"] = username + if password: + r["passwordSecretRef"] = store_as_secret_and_return_secret_ref( + containerapp_def["properties"]["configuration"]["secrets"], + r["username"], + r["server"], + password, + update_existing_secret=True) + + # If not updating existing registry, add as new registry + if not updating_existing_registry: + registry = RegistryCredentialsModel + registry["server"] = server + registry["username"] = username + registry["passwordSecretRef"] = store_as_secret_and_return_secret_ref( + containerapp_def["properties"]["configuration"]["secrets"], + username, + server, + password, + update_existing_secret=True) + + registries_def.append(registry) + + try: + r = ContainerAppClient.create_or_update( + cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) + + return r["properties"]["configuration"]["registries"] + except Exception as e: + handle_raw_exception(e) + + +def remove_registry(cmd, name, resource_group_name, server, no_wait=False): + _validate_subscription_registered(cmd, "Microsoft.App") + + containerapp_def = None + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + + _get_existing_secrets(cmd, resource_group_name, name, containerapp_def) + + registries_def = None + + try: + containerapp_def["properties"]["configuration"]["registries"] + except Exception as e: + raise ValidationError("The containerapp {} has no assigned registries.".format(name)) from e + + registries_def = containerapp_def["properties"]["configuration"]["registries"] + + wasRemoved = False + for i, value in enumerate(registries_def): + r = value + if r['server'].lower() == server.lower(): + registries_def.pop(i) + _remove_registry_secret(containerapp_def=containerapp_def, server=server, username=r["username"]) + wasRemoved = True + break + + if not wasRemoved: + raise ValidationError("Containerapp does not have registry server {} assigned.".format(server)) + + if len(containerapp_def["properties"]["configuration"]["registries"]) == 0: + containerapp_def["properties"]["configuration"].pop("registries") + + try: + r = ContainerAppClient.create_or_update( + cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) + logger.warning("Registry successfully removed.") + return r["properties"]["configuration"]["registries"] + # No registries to return, so return nothing + except Exception: + pass + + +def list_secrets(cmd, name, resource_group_name): + _validate_subscription_registered(cmd, "Microsoft.App") + + containerapp_def = None + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + + try: + return ContainerAppClient.list_secrets(cmd=cmd, resource_group_name=resource_group_name, name=name)["value"] + except Exception as e: + raise ValidationError("The containerapp {} has no assigned secrets.".format(name)) from e + + +def show_secret(cmd, name, resource_group_name, secret_name): + _validate_subscription_registered(cmd, "Microsoft.App") + + containerapp_def = None + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + + r = ContainerAppClient.list_secrets(cmd=cmd, resource_group_name=resource_group_name, name=name) + for secret in r["value"]: + if secret["name"].lower() == secret_name.lower(): + return secret + raise ValidationError("The containerapp {} does not have a secret assigned with name {}.".format(name, secret_name)) + + +def remove_secrets(cmd, name, resource_group_name, secret_names, no_wait=False): + _validate_subscription_registered(cmd, "Microsoft.App") + + containerapp_def = None + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + + _get_existing_secrets(cmd, resource_group_name, name, containerapp_def) + + for secret_name in secret_names: + wasRemoved = False + for secret in containerapp_def["properties"]["configuration"]["secrets"]: + if secret["name"].lower() == secret_name.lower(): + _remove_secret(containerapp_def, secret_name=secret["name"]) + wasRemoved = True + break + if not wasRemoved: + raise ValidationError("The containerapp {} does not have a secret assigned with name {}.".format(name, secret_name)) + try: + r = ContainerAppClient.create_or_update( + cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) + logger.warning("Secret(s) successfully removed.") + try: + return r["properties"]["configuration"]["secrets"] + # No secrets to return + except: + pass + except Exception as e: + handle_raw_exception(e) + + +def set_secrets(cmd, name, resource_group_name, secrets, + # yaml=None, + no_wait=False): + _validate_subscription_registered(cmd, "Microsoft.App") + + # if not yaml and not secrets: + # raise RequiredArgumentMissingError('Usage error: --secrets is required if not using --yaml') + + # if not secrets: + # secrets = [] + + # if yaml: + # yaml_secrets = load_yaml_file(yaml).split(' ') + # try: + # parse_secret_flags(yaml_secrets) + # except: + # raise ValidationError("YAML secrets must be a list of secrets in key=value format, delimited by new line.") + # for secret in yaml_secrets: + # secrets.append(secret.strip()) + + containerapp_def = None + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + + _get_existing_secrets(cmd, resource_group_name, name, containerapp_def) + _add_or_update_secrets(containerapp_def, parse_secret_flags(secrets)) + + try: + r = ContainerAppClient.create_or_update( + cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) + return r["properties"]["configuration"]["secrets"] + except Exception as e: + handle_raw_exception(e) + + +def enable_dapr(cmd, name, resource_group_name, dapr_app_id=None, dapr_app_port=None, dapr_app_protocol=None, no_wait=False): + _validate_subscription_registered(cmd, "Microsoft.App") + + containerapp_def = None + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + + _get_existing_secrets(cmd, resource_group_name, name, containerapp_def) + + if 'configuration' not in containerapp_def['properties']: + containerapp_def['properties']['configuration'] = {} + + if 'dapr' not in containerapp_def['properties']['configuration']: + containerapp_def['properties']['configuration']['dapr'] = {} + + if dapr_app_id: + containerapp_def['properties']['configuration']['dapr']['appId'] = dapr_app_id + + if dapr_app_port: + containerapp_def['properties']['configuration']['dapr']['appPort'] = dapr_app_port + + if dapr_app_protocol: + containerapp_def['properties']['configuration']['dapr']['appProtocol'] = dapr_app_protocol + + containerapp_def['properties']['configuration']['dapr']['enabled'] = True + + try: + r = ContainerAppClient.create_or_update( + cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) + return r["properties"]['configuration']['dapr'] + except Exception as e: + handle_raw_exception(e) + + +def disable_dapr(cmd, name, resource_group_name, no_wait=False): + _validate_subscription_registered(cmd, "Microsoft.App") + + containerapp_def = None + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + + _get_existing_secrets(cmd, resource_group_name, name, containerapp_def) + + if 'configuration' not in containerapp_def['properties']: + containerapp_def['properties']['configuration'] = {} + + if 'dapr' not in containerapp_def['properties']['configuration']: + containerapp_def['properties']['configuration']['dapr'] = {} + + containerapp_def['properties']['configuration']['dapr']['enabled'] = False + + try: + r = ContainerAppClient.create_or_update( + cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) + return r["properties"]['configuration']['dapr'] + except Exception as e: + handle_raw_exception(e) + + +def list_dapr_components(cmd, resource_group_name, environment_name): + _validate_subscription_registered(cmd, "Microsoft.App") + + return DaprComponentClient.list(cmd, resource_group_name, environment_name) + + +def show_dapr_component(cmd, resource_group_name, dapr_component_name, environment_name): + _validate_subscription_registered(cmd, "Microsoft.App") + + return DaprComponentClient.show(cmd, resource_group_name, environment_name, name=dapr_component_name) + + +def create_or_update_dapr_component(cmd, resource_group_name, environment_name, dapr_component_name, yaml): + _validate_subscription_registered(cmd, "Microsoft.App") + + yaml_containerapp = load_yaml_file(yaml) + if type(yaml_containerapp) != dict: # pylint: disable=unidiomatic-typecheck + raise ValidationError('Invalid YAML provided. Please see https://aka.ms/azure-container-apps-yaml for a valid containerapps YAML spec.') + + # Deserialize the yaml into a DaprComponent object. Need this since we're not using SDK + daprcomponent_def = None + try: + deserializer = create_deserializer() + + daprcomponent_def = deserializer('DaprComponent', yaml_containerapp) + except DeserializationError as ex: + raise ValidationError('Invalid YAML provided. Please see https://aka.ms/azure-container-apps-yaml for a valid containerapps YAML spec.') from ex + + daprcomponent_def = _convert_object_from_snake_to_camel_case(_object_to_dict(daprcomponent_def)) + + # Remove "additionalProperties" and read-only attributes that are introduced in the deserialization. Need this since we're not using SDK + _remove_additional_attributes(daprcomponent_def) + _remove_dapr_readonly_attributes(daprcomponent_def) + + if not daprcomponent_def["ignoreErrors"]: + daprcomponent_def["ignoreErrors"] = False + + dapr_component_envelope = {} + + dapr_component_envelope["properties"] = daprcomponent_def + + try: + r = DaprComponentClient.create_or_update(cmd, resource_group_name=resource_group_name, environment_name=environment_name, dapr_component_envelope=dapr_component_envelope, name=dapr_component_name) + return r + except Exception as e: + handle_raw_exception(e) + + +def remove_dapr_component(cmd, resource_group_name, dapr_component_name, environment_name): + _validate_subscription_registered(cmd, "Microsoft.App") + + try: + DaprComponentClient.show(cmd, resource_group_name, environment_name, name=dapr_component_name) + except Exception as e: + raise ResourceNotFoundError("Dapr component not found.") from e + + try: + r = DaprComponentClient.delete(cmd, resource_group_name, environment_name, name=dapr_component_name) + logger.warning("Dapr componenet successfully deleted.") + return r + except Exception as e: + handle_raw_exception(e) diff --git a/src/containerapp/azext_containerapp/tests/__init__.py b/src/containerapp/azext_containerapp/tests/__init__.py new file mode 100644 index 00000000000..2dcf9bb68b3 --- /dev/null +++ b/src/containerapp/azext_containerapp/tests/__init__.py @@ -0,0 +1,5 @@ +# ----------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# ----------------------------------------------------------------------------- \ No newline at end of file diff --git a/src/containerapp/azext_containerapp/tests/latest/__init__.py b/src/containerapp/azext_containerapp/tests/latest/__init__.py new file mode 100644 index 00000000000..2dcf9bb68b3 --- /dev/null +++ b/src/containerapp/azext_containerapp/tests/latest/__init__.py @@ -0,0 +1,5 @@ +# ----------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# ----------------------------------------------------------------------------- \ No newline at end of file diff --git a/src/containerapp/azext_containerapp/tests/latest/test_containerapp_scenario.py b/src/containerapp/azext_containerapp/tests/latest/test_containerapp_scenario.py new file mode 100644 index 00000000000..9a89dcc55c9 --- /dev/null +++ b/src/containerapp/azext_containerapp/tests/latest/test_containerapp_scenario.py @@ -0,0 +1,42 @@ +# -------------------------------------------------------------------------------------------- +# 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 time +import unittest + +from azure.cli.testsdk.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, JMESPathCheck) + + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +@unittest.skip("Managed environment flaky") +class ContainerappScenarioTest(ScenarioTest): + @AllowLargeResponse(8192) + @ResourceGroupPreparer(location="centraluseuap") + def test_containerapp_e2e(self, resource_group): + containerapp_name = self.create_random_name(prefix='containerapp-e2e', length=24) + env_name = self.create_random_name(prefix='containerapp-e2e-env', length=24) + + self.cmd('containerapp env create -g {} -n {}'.format(resource_group, env_name)) + + # Sleep in case env create takes a while + time.sleep(60) + self.cmd('containerapp env list -g {}'.format(resource_group), checks=[ + JMESPathCheck('length(@)', 1), + JMESPathCheck('[0].name', env_name), + ]) + + self.cmd('containerapp create -g {} -n {} --environment {}'.format(resource_group, containerapp_name, env_name), checks=[ + JMESPathCheck('name', containerapp_name) + ]) + + # Sleep in case containerapp create takes a while + time.sleep(60) + self.cmd('containerapp show -g {} -n {}'.format(resource_group, containerapp_name), checks=[ + JMESPathCheck('name', containerapp_name) + ]) diff --git a/src/containerapp/setup.cfg b/src/containerapp/setup.cfg new file mode 100644 index 00000000000..3c6e79cf31d --- /dev/null +++ b/src/containerapp/setup.cfg @@ -0,0 +1,2 @@ +[bdist_wheel] +universal=1 diff --git a/src/containerapp/setup.py b/src/containerapp/setup.py new file mode 100644 index 00000000000..e23b0011367 --- /dev/null +++ b/src/containerapp/setup.py @@ -0,0 +1,62 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.1.0' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = [ + 'azure-cli-core' +] + +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='containerapp', + version=VERSION, + description='Microsoft Azure Command-Line Tools Containerapp Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_containerapp': ['azext_metadata.json']}, +) diff --git a/src/service_name.json b/src/service_name.json index e8ab509ca95..20147066339 100644 --- a/src/service_name.json +++ b/src/service_name.json @@ -99,6 +99,11 @@ "AzureServiceName": "Azure Arc", "URL": "https://docs.microsoft.com/azure/azure-arc/servers/overview" }, + { + "Command": "az containerapp", + "AzureServiceName": "Azure Container Apps", + "URL": "https://docs.microsoft.com/en-us/azure/container-apps/" + }, { "Command": "az costmanagement", "AzureServiceName": "Azure Cost Management + Billing", From d9d41d90bf1bb4a031acd95da29285cb17c619e8 Mon Sep 17 00:00:00 2001 From: Bin Xia Date: Fri, 25 Mar 2022 17:10:56 +0800 Subject: [PATCH 03/70] fix test cases for kms (#4573) --- .../azext_aks_preview/tests/latest/test_aks_commands.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py index c42f00c4539..f89f7ee595a 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py @@ -3695,7 +3695,7 @@ def test_aks_update_with_azurekeyvaultkms(self, resource_group, resource_group_l '--ssh-key-value={ssh_key_value} -o json' self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded'), - self.check('securityProfile', None) + self.not_exists('securityProfile.azureKeyVaultKms') ]) update_cmd = 'aks update --resource-group={resource_group} --name={name} ' \ From 303944170dbffd0002ae7226c3bb40c2e538765e Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Sat, 26 Mar 2022 09:28:21 +0800 Subject: [PATCH 04/70] [Release] Update index.json for extension [ containerapp ] (#4574) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=1460208 Last commit: https://github.com/Azure/azure-cli-extensions/commit/2d5b0716133f5e4a96afa497bb2ee88ab231ab03 --- src/index.json | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/src/index.json b/src/index.json index 99a9d4d7594..549b2f4d3be 100644 --- a/src/index.json +++ b/src/index.json @@ -12324,6 +12324,61 @@ "sha256Digest": "9a796d5187571990d27feb9efeedde38c194f13ea21cbf9ec06131196bfd821d" } ], + "containerapp": [ + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/containerapp-0.1.0-py2.py3-none-any.whl", + "filename": "containerapp-0.1.0-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.15.0", + "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", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "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" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "containerapp", + "run_requires": [ + { + "requires": [ + "azure-cli-core" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools Containerapp Extension", + "version": "0.1.0" + }, + "sha256Digest": "3731c1d2222805059ca37e31cf85e9bc4af7981295e478d22a925d9ff4ce3a68" + } + ], "cosmosdb-preview": [ { "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/cosmosdb_preview-0.1.0-py2.py3-none-any.whl", From 988bd77d77b05cc548ae05aa745c18a7293d8961 Mon Sep 17 00:00:00 2001 From: ZelinWang Date: Mon, 28 Mar 2022 14:54:22 +0800 Subject: [PATCH 05/70] [desktopvirtualization] Bump version to 2021-07-12 (#4526) * onboarding desktop virtualization 2021-07-12 * update test * fix test * delete msix and scalling plan * upgrade version * modify generated * Update report.md * Update test_desktopvirtualization_Scenario.yaml * update * Update HISTORY.rst * fix linter * update history.rst and setup.py * remove experimental * remove type=str * remove required=False * remove confirmation=True * remove CLIError * update recording file --- src/desktopvirtualization/HISTORY.rst | 27 + ...icommon-000010-prename-pre-simplified.yaml | 674 - .../clicommon-000010-prename-pre.yaml | 8235 ------------ ...common-000020-prename-post-simplified.yaml | 1708 --- .../clicommon-000020-prename-post.yaml | 9037 ------------- ...-000030-complex-marker-pre-simplified.yaml | 1708 --- .../clicommon-000030-complex-marker-pre.yaml | 9037 ------------- ...000040-complex-marker-post-simplified.yaml | 1978 --- .../clicommon-000040-complex-marker-post.yaml | 9346 ------------- ...mon-000050-flatten-set-pre-simplified.yaml | 1978 --- .../clicommon-000050-flatten-set-pre.yaml | 9346 ------------- ...on-000060-flatten-set-post-simplified.yaml | 1989 --- .../clicommon-000060-flatten-set-post.yaml | 9368 ------------- ...common-000070-modifier-pre-simplified.yaml | 1994 --- .../clicommon-000070-modifier-pre.yaml | 10094 -------------- ...ommon-000080-modifier-post-simplified.yaml | 2002 --- .../clicommon-000080-modifier-post.yaml | 10102 -------------- ...licommon-000090-namer-post-simplified.yaml | 2383 ---- .../clicommon-000090-namer-post.yaml | 11138 ---------------- ...00100-poly-as-resource-pre-simplified.yaml | 2383 ---- ...clicommon-000100-poly-as-resource-pre.yaml | 11138 ---------------- ...0110-poly-as-resource-post-simplified.yaml | 2383 ---- ...licommon-000110-poly-as-resource-post.yaml | 11138 ---------------- ...-000120-complex-marker-pre-simplified.yaml | 2383 ---- .../clicommon-000120-complex-marker-pre.yaml | 11138 ---------------- ...000130-complex-marker-post-simplified.yaml | 2383 ---- .../clicommon-000130-complex-marker-post.yaml | 11138 ---------------- .../clicommon-flatten-object-map.txt | 31 - .../azext_desktopvirtualization/__init__.py | 24 +- .../azext_desktopvirtualization/_help.py | 20 + .../azext_desktopvirtualization/action.py | 7 +- .../azext_metadata.json | 3 +- .../azext_desktopvirtualization/custom.py | 7 +- .../generated/_client_factory.py | 6 +- .../generated/_help.py | 41 +- .../generated/_params.py | 110 +- .../generated/action.py | 34 +- .../generated/commands.py | 64 +- .../generated/custom.py | 192 +- .../tests/__init__.py | 67 +- .../tests/latest/example_steps.py | 260 + .../test_desktopvirtualization.yaml | 1088 -- .../test_desktopvirtualization_Scenario.yaml | 1293 ++ .../test_desktopvirtualization_scenario.py | 381 +- .../desktopvirtualization/__init__.py | 5 +- .../desktopvirtualization/_configuration.py | 12 +- .../_desktop_virtualization_api_client.py | 95 +- .../desktopvirtualization/_version.py | 2 +- .../desktopvirtualization/aio/__init__.py | 2 +- ...nfiguration_async.py => _configuration.py} | 12 +- .../aio/_desktop_virtualization_api_client.py | 118 + ...desktop_virtualization_api_client_async.py | 113 - .../aio/operations/__init__.py | 35 + .../_application_groups_operations.py} | 151 +- .../_applications_operations.py} | 160 +- .../_desktops_operations.py} | 67 +- .../_host_pools_operations.py} | 253 +- .../_msix_images_operations.py} | 68 +- .../operations/_msix_packages_operations.py | 388 + .../_operations.py} | 16 +- .../operations/_scaling_plans_operations.py | 504 + .../_session_hosts_operations.py} | 86 +- .../_start_menu_items_operations.py} | 29 +- .../_user_sessions_operations.py} | 123 +- .../_workspaces_operations.py} | 149 +- .../aio/operations_async/__init__.py | 33 - ...ation_group_assignment_operations_async.py | 119 - .../desktopvirtualization/models/__init__.py | 104 +- ...desktop_virtualization_api_client_enums.py | 210 +- .../desktopvirtualization/models/_models.py | 1764 ++- .../models/_models_py3.py | 1940 ++- .../operations/__init__.py | 46 +- ...application_group_assignment_operations.py | 124 - ...s.py => _application_groups_operations.py} | 151 +- ...rations.py => _applications_operations.py} | 160 +- ..._operations.py => _desktops_operations.py} | 67 +- ...perations.py => _host_pools_operations.py} | 254 +- ...erations.py => _msix_images_operations.py} | 68 +- .../operations/_msix_packages_operations.py | 397 + ...operation_operations.py => _operations.py} | 16 +- .../operations/_scaling_plans_operations.py | 515 + ...ations.py => _session_hosts_operations.py} | 86 +- ...ons.py => _start_menu_items_operations.py} | 29 +- ...ations.py => _user_sessions_operations.py} | 123 +- ...perations.py => _workspaces_operations.py} | 149 +- .../desktopvirtualization/setup.py | 37 - src/desktopvirtualization/report.md | 504 +- src/desktopvirtualization/setup.py | 10 +- 88 files changed, 9183 insertions(+), 159967 deletions(-) delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000010-prename-pre-simplified.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000010-prename-pre.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000020-prename-post-simplified.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000020-prename-post.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000030-complex-marker-pre-simplified.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000030-complex-marker-pre.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000040-complex-marker-post-simplified.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000040-complex-marker-post.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000050-flatten-set-pre-simplified.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000050-flatten-set-pre.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000060-flatten-set-post-simplified.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000060-flatten-set-post.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000070-modifier-pre-simplified.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000070-modifier-pre.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000080-modifier-post-simplified.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000080-modifier-post.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000090-namer-post-simplified.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000090-namer-post.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000100-poly-as-resource-pre-simplified.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000100-poly-as-resource-pre.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000110-poly-as-resource-post-simplified.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000110-poly-as-resource-post.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000120-complex-marker-pre-simplified.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000120-complex-marker-pre.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000130-complex-marker-post-simplified.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-000130-complex-marker-post.yaml delete mode 100644 src/desktopvirtualization/_az_debug/clicommon-flatten-object-map.txt create mode 100644 src/desktopvirtualization/azext_desktopvirtualization/_help.py create mode 100644 src/desktopvirtualization/azext_desktopvirtualization/tests/latest/example_steps.py delete mode 100644 src/desktopvirtualization/azext_desktopvirtualization/tests/latest/recordings/test_desktopvirtualization.yaml create mode 100644 src/desktopvirtualization/azext_desktopvirtualization/tests/latest/recordings/test_desktopvirtualization_Scenario.yaml rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/{_configuration_async.py => _configuration.py} (86%) create mode 100644 src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/_desktop_virtualization_api_client.py delete mode 100644 src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/_desktop_virtualization_api_client_async.py create mode 100644 src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/__init__.py rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/{operations_async/_application_group_operations_async.py => operations/_application_groups_operations.py} (82%) rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/{operations_async/_application_operations_async.py => operations/_applications_operations.py} (75%) rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/{operations_async/_desktop_operations_async.py => operations/_desktops_operations.py} (85%) rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/{operations_async/_host_pool_operations_async.py => operations/_host_pools_operations.py} (70%) rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/{operations_async/_active_application_operations_async.py => operations/_msix_images_operations.py} (64%) create mode 100644 src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_msix_packages_operations.py rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/{operations_async/_operation_operations_async.py => operations/_operations.py} (87%) create mode 100644 src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_scaling_plans_operations.py rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/{operations_async/_session_host_operations_async.py => operations/_session_hosts_operations.py} (86%) rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/{operations_async/_start_menu_item_operations_async.py => operations/_start_menu_items_operations.py} (87%) rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/{operations_async/_user_session_operations_async.py => operations/_user_sessions_operations.py} (87%) rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/{operations_async/_workspace_operations_async.py => operations/_workspaces_operations.py} (82%) delete mode 100644 src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/__init__.py delete mode 100644 src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_application_group_assignment_operations_async.py delete mode 100644 src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_group_assignment_operations.py rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/{_application_group_operations.py => _application_groups_operations.py} (82%) rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/{_application_operations.py => _applications_operations.py} (75%) rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/{_desktop_operations.py => _desktops_operations.py} (85%) rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/{_host_pool_operations.py => _host_pools_operations.py} (71%) rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/{_active_application_operations.py => _msix_images_operations.py} (64%) create mode 100644 src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_msix_packages_operations.py rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/{_operation_operations.py => _operations.py} (88%) create mode 100644 src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_scaling_plans_operations.py rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/{_session_host_operations.py => _session_hosts_operations.py} (86%) rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/{_start_menu_item_operations.py => _start_menu_items_operations.py} (87%) rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/{_user_session_operations.py => _user_sessions_operations.py} (87%) rename src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/{_workspace_operations.py => _workspaces_operations.py} (81%) delete mode 100644 src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/setup.py diff --git a/src/desktopvirtualization/HISTORY.rst b/src/desktopvirtualization/HISTORY.rst index 1c139576ba0..4b1f817e8fc 100644 --- a/src/desktopvirtualization/HISTORY.rst +++ b/src/desktopvirtualization/HISTORY.rst @@ -3,6 +3,33 @@ Release History =============== +0.2.0 +++++++ +* Bump version to 2021-07-12. +* Fix #19298: `az desktopvirtualization hostPool show`: Support the maximum length of the host pool name to 64 characters +* `az desktopvirtualization workspace create` Change the argument `--location` from required to optional +* `az desktopvirtualization applicationgroup create` Change the argument `--location` from required to optional +* `az desktopvirtualization hostpool create` Change the argument `--preferred-app-group-type` from optional to required +* `az desktopvirtualization hostpool create` Change the argument `--personal-desktop-assignment-type` from required to optional +* `az desktopvirtualization hostpool create` Change the argument `--location` from required to optional +* `az desktopvirtualization hostpool create` Add value `BYODesktop` to `--host-pool-type` +* `az desktopvirtualization hostpool create` Deprecate argument `-sso-context` in version 2020-11-10-preview +* `az desktopvirtualization hostpool create` Add new argument `--ssoadfs-authority` to support WVD SSO certificates +* `az desktopvirtualization hostpool create` Add new argument `--sso-client-id` to support WVD SSO certificates +* `az desktopvirtualization hostpool create` Add new argument `--sso-client-secret-key-vault-path` to support WVD SSO certificates +* `az desktopvirtualization hostpool create` Add new argument `--sso-secret-type` to support WVD SSO certificates +* `az desktopvirtualization hostpool create` Add new argument `--preferred-app-group-type` to support choosing the type of preferred application group type +* `az desktopvirtualization hostpool create` Add new argument `--start-vm-on-connect` to support turning on/off StartVMOnConnect feature +* `az desktopvirtualization hostpool update` Support argument `--vm-template` +* `az desktopvirtualization hostpool update` Deprecate argument `-sso-context` in version 2020-11-10-preview +* `az desktopvirtualization hostpool update` Add new argument `--ssoadfs-authority` to support WVD SSO certificates +* `az desktopvirtualization hostpool update` Add new argument `--sso-client-id` to support WVD SSO certificates +* `az desktopvirtualization hostpool update` Add new argument `--sso-client-secret-key-vault-path` to support WVD SSO certificates +* `az desktopvirtualization hostpool update` Add new argument `--sso-secret-type` to support WVD SSO certificates +* `az desktopvirtualization hostpool update` Add new argument `--preferred-app-group-type` to support choosing the type of preferred application group type +* `az desktopvirtualization hostpool update` Add new argument `--start-vm-on-connect` to support turning on/off StartVMOnConnect feature +* `az desktopvirtualization hostpool` Add command `retrieve-registration-token` to retrieve registration token + 0.1.0 ++++++ * Initial release. diff --git a/src/desktopvirtualization/_az_debug/clicommon-000010-prename-pre-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000010-prename-pre-simplified.yaml deleted file mode 100644 index 62a31682dae..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000010-prename-pre-simplified.yaml +++ /dev/null @@ -1,674 +0,0 @@ -operationGroups: - all: - - operationGroupName: Operations - operations: - - operationName: List - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - operationGroupName: Workspaces - operations: - - operationName: Get - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: workspaceName(string^string) - - operationName: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: workspaceName(string^string) - - parameterName[0]: content-type(application/json^constant) - - parameterName[0]: workspace(Workspace^object) - bodySchema: Workspace - - operationName: Delete - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: workspaceName(string^string) - - operationName: Update - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: workspaceName(string^string) - - parameterName[0]: content-type(application/json^constant) - - parameterName[0]: workspace(WorkspacePatch^object) - bodySchema: WorkspacePatch - - operationName: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - operationName: ListBySubscription - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - operationGroupName: ApplicationGroupAssignments - operations: - - operationName: WorkspaceLevelList - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: workspaceName(string^string) - - parameterName: $filter(string^string) - - operationGroupName: ApplicationGroups - operations: - - operationName: Get - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: applicationGroupName(string^string) - - operationName: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: applicationGroupName(string^string) - - parameterName[0]: content-type(application/json^constant) - - parameterName[0]: applicationGroup(ApplicationGroup^object) - bodySchema: ApplicationGroup - - operationName: Delete - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: applicationGroupName(string^string) - - operationName: Update - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: applicationGroupName(string^string) - - parameterName[0]: content-type(application/json^constant) - - parameterName[0]: applicationGroup(ApplicationGroupPatch^object) - bodySchema: ApplicationGroupPatch - - operationName: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: $filter(string^string) - - operationName: ListBySubscription - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: $filter(string^string) - - operationGroupName: StartMenuItems - operations: - - operationName: List - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: applicationGroupName(string^string) - - operationGroupName: Applications - operations: - - operationName: Get - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: applicationGroupName(string^string) - - parameterName: applicationName(string^string) - - operationName: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: applicationGroupName(string^string) - - parameterName: applicationName(string^string) - - parameterName[0]: content-type(application/json^constant) - - parameterName[0]: application(Application^object) - bodySchema: Application - - operationName: Delete - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: applicationGroupName(string^string) - - parameterName: applicationName(string^string) - - operationName: Update - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: applicationGroupName(string^string) - - parameterName: applicationName(string^string) - - parameterName[0]: content-type(application/json^constant) - - parameterName[0]: application(ApplicationPatch^object) - bodySchema: ApplicationPatch - - operationName: List - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: applicationGroupName(string^string) - - operationGroupName: Desktops - operations: - - operationName: Get - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: applicationGroupName(string^string) - - parameterName: desktopName(string^string) - - operationName: Update - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: applicationGroupName(string^string) - - parameterName: desktopName(string^string) - - parameterName[0]: content-type(application/json^constant) - - parameterName[0]: desktop(DesktopPatch^object) - bodySchema: DesktopPatch - - operationName: List - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: applicationGroupName(string^string) - - operationGroupName: HostPools - operations: - - operationName: Get - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: hostPoolName(string^string) - - operationName: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: hostPoolName(string^string) - - parameterName[0]: content-type(application/json^constant) - - parameterName[0]: hostPool(HostPool^object) - bodySchema: HostPool - - operationName: Delete - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: hostPoolName(string^string) - - parameterName: force(boolean^boolean) - - operationName: Update - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: hostPoolName(string^string) - - parameterName[0]: content-type(application/json^constant) - - parameterName[0]: hostPool(HostPoolPatch^object) - bodySchema: HostPoolPatch - - operationName: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - operationName: List - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - operationGroupName: UserSessions - operations: - - operationName: ListByHostPool - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: hostPoolName(string^string) - - parameterName: $filter(string^string) - - operationName: Get - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: hostPoolName(string^string) - - parameterName: sessionHostName(string^string) - - parameterName: userSessionId(string^string) - - operationName: Delete - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: hostPoolName(string^string) - - parameterName: sessionHostName(string^string) - - parameterName: userSessionId(string^string) - - parameterName: force(boolean^boolean) - - operationName: List - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: hostPoolName(string^string) - - parameterName: sessionHostName(string^string) - - operationName: Disconnect - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: hostPoolName(string^string) - - parameterName: sessionHostName(string^string) - - parameterName: userSessionId(string^string) - - operationName: SendMessage - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: hostPoolName(string^string) - - parameterName: sessionHostName(string^string) - - parameterName: userSessionId(string^string) - - parameterName[0]: content-type(application/json^constant) - - parameterName[0]: sendMessage(SendMessage^object) - bodySchema: SendMessage - - operationGroupName: SessionHosts - operations: - - operationName: Get - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: hostPoolName(string^string) - - parameterName: sessionHostName(string^string) - - operationName: Delete - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: hostPoolName(string^string) - - parameterName: sessionHostName(string^string) - - parameterName: force(boolean^boolean) - - operationName: Update - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: hostPoolName(string^string) - - parameterName: sessionHostName(string^string) - - parameterName[0]: content-type(application/json^constant) - - parameterName[0]: sessionHost(SessionHostPatch^object) - bodySchema: SessionHostPatch - - operationName: List - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: hostPoolName(string^string) - - operationGroupName: ActiveApplications - operations: - - operationName: ListBySessionHost - parameters: - - parameterName: $host(string^string) - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - - parameterName: subscriptionId(string^string) - - parameterName: resourceGroupName(string^string) - - parameterName: hostPoolName(string^string) - - parameterName: sessionHostName(string^string) - - parameterName: $filter(string^string) -schemas: - objects: - all: - - schemaName: ResourceProviderOperationList - properties: - - propertyName: value(ResourceProviderOperationList-value^array) - - schemaName: ResourceProviderOperation - properties: - - propertyName: name(ResourceProviderOperation-name^string) - - propertyName: display(ResourceProviderOperation-display^object) - - schemaName: ResourceProviderOperation-display - properties: - - propertyName: provider(ResourceProviderOperation-display-provider^string) - - propertyName: resource(ResourceProviderOperation-display-resource^string) - - propertyName: operation(ResourceProviderOperation-display-operation^string) - - propertyName: description(ResourceProviderOperation-display-description^string) - - schemaName: Resource - properties: - - propertyName: id(Resource-id^string) - readOnly: true - - propertyName: name(Resource-name^string) - readOnly: true - - propertyName: type(Resource-type^string) - readOnly: true - - schemaName: TrackedResource - properties: - - propertyName: tags(TrackedResource-tags^dictionary) - - propertyName: location(TrackedResource-location^string) - - schemaName: Workspace - properties: - - propertyName: properties(WorkspaceProperties^object) - x-ms-client-flatten: true - - schemaName: WorkspaceProperties - properties: - - propertyName: description(WorkspaceProperties-description^string) - - propertyName: friendlyName(WorkspaceProperties-friendlyName^string) - - propertyName: applicationGroupReferences(WorkspaceProperties-applicationGroupReferences^array) - - schemaName: CloudError - properties: - - propertyName: code(CloudError-code^string) - - propertyName: message(CloudError-message^string) - - schemaName: WorkspacePatch - properties: - - propertyName: tags(any^any) - - propertyName: properties(WorkspacePatchProperties^object) - x-ms-client-flatten: true - - schemaName: WorkspacePatchProperties - properties: - - propertyName: description(WorkspacePatchProperties-description^string) - - propertyName: friendlyName(WorkspacePatchProperties-friendlyName^string) - - propertyName: applicationGroupReferences(WorkspacePatchProperties-applicationGroupReferences^array) - - schemaName: WorkspaceList - properties: - - propertyName: value(WorkspaceList-value^array) - - propertyName: nextLink(WorkspaceList-nextLink^string) - readOnly: true - - schemaName: ApplicationGroupList - properties: - - propertyName: value(ApplicationGroupList-value^array) - - propertyName: nextLink(ApplicationGroupList-nextLink^string) - readOnly: true - - schemaName: ApplicationGroup - properties: - - propertyName: properties(ApplicationGroupProperties^object) - x-ms-client-flatten: true - - schemaName: ApplicationGroupProperties - properties: - - propertyName: description(ApplicationGroupProperties-description^string) - - propertyName: friendlyName(ApplicationGroupProperties-friendlyName^string) - - propertyName: hostPoolArmPath(ApplicationGroupProperties-hostPoolArmPath^string) - - propertyName: workspaceArmPath(ApplicationGroupProperties-workspaceArmPath^string) - readOnly: true - - propertyName: applicationGroupType(ApplicationGroupType^choice) - - schemaName: ApplicationGroupPatch - properties: - - propertyName: tags(any^any) - - propertyName: properties(ApplicationGroupPatchProperties^object) - x-ms-client-flatten: true - - schemaName: ApplicationGroupPatchProperties - properties: - - propertyName: description(ApplicationGroupPatchProperties-description^string) - - propertyName: friendlyName(ApplicationGroupPatchProperties-friendlyName^string) - - schemaName: StartMenuItemList - properties: - - propertyName: value(StartMenuItemList-value^array) - - propertyName: nextLink(StartMenuItemList-nextLink^string) - readOnly: true - - schemaName: StartMenuItem - properties: - - propertyName: properties(StartMenuItemProperties^object) - x-ms-client-flatten: true - - schemaName: StartMenuItemProperties - properties: - - propertyName: appAlias(StartMenuItemProperties-appAlias^string) - - propertyName: friendlyName(StartMenuItemProperties-friendlyName^string) - - propertyName: filePath(StartMenuItemProperties-filePath^string) - - propertyName: commandLineArguments(StartMenuItemProperties-commandLineArguments^string) - - propertyName: iconPath(StartMenuItemProperties-iconPath^string) - - propertyName: iconIndex(integer^integer) - - schemaName: Application - properties: - - propertyName: properties(ApplicationProperties^object) - x-ms-client-flatten: true - - schemaName: ApplicationProperties - properties: - - propertyName: description(ApplicationProperties-description^string) - - propertyName: friendlyName(ApplicationProperties-friendlyName^string) - - propertyName: filePath(ApplicationProperties-filePath^string) - - propertyName: commandLineSetting(CommandLineSetting^choice) - - propertyName: commandLineArguments(ApplicationProperties-commandLineArguments^string) - - propertyName: showInPortal(boolean^boolean) - - propertyName: iconPath(ApplicationProperties-iconPath^string) - - propertyName: iconIndex(integer^integer) - - propertyName: iconHash(ApplicationProperties-iconHash^string) - readOnly: true - - propertyName: iconContent(ApplicationProperties-iconContent^byte-array) - readOnly: true - - schemaName: ApplicationPatch - properties: - - propertyName: tags(any^any) - - propertyName: properties(ApplicationPatchProperties^object) - x-ms-client-flatten: true - - schemaName: ApplicationPatchProperties - properties: - - propertyName: description(ApplicationPatchProperties-description^string) - - propertyName: friendlyName(ApplicationPatchProperties-friendlyName^string) - - propertyName: filePath(ApplicationPatchProperties-filePath^string) - - propertyName: commandLineSetting(CommandLineSetting^choice) - - propertyName: commandLineArguments(ApplicationPatchProperties-commandLineArguments^string) - - propertyName: showInPortal(boolean^boolean) - - propertyName: iconPath(ApplicationPatchProperties-iconPath^string) - - propertyName: iconIndex(integer^integer) - - schemaName: ApplicationList - properties: - - propertyName: value(ApplicationList-value^array) - - propertyName: nextLink(ApplicationList-nextLink^string) - readOnly: true - - schemaName: Desktop - properties: - - propertyName: properties(DesktopProperties^object) - x-ms-client-flatten: true - - schemaName: DesktopProperties - properties: - - propertyName: description(DesktopProperties-description^string) - - propertyName: friendlyName(DesktopProperties-friendlyName^string) - - propertyName: iconHash(DesktopProperties-iconHash^string) - readOnly: true - - propertyName: iconContent(DesktopProperties-iconContent^byte-array) - readOnly: true - - schemaName: DesktopPatch - properties: - - propertyName: tags(any^any) - - propertyName: properties(DesktopPatchProperties^object) - x-ms-client-flatten: true - - schemaName: DesktopPatchProperties - properties: - - propertyName: description(DesktopPatchProperties-description^string) - - propertyName: friendlyName(DesktopPatchProperties-friendlyName^string) - - schemaName: DesktopList - properties: - - propertyName: value(DesktopList-value^array) - - propertyName: nextLink(DesktopList-nextLink^string) - readOnly: true - - schemaName: HostPool - properties: - - propertyName: properties(HostPoolProperties^object) - x-ms-client-flatten: true - - schemaName: HostPoolProperties - properties: - - propertyName: friendlyName(HostPoolProperties-friendlyName^string) - - propertyName: description(HostPoolProperties-description^string) - - propertyName: hostPoolType(HostPoolType^choice) - - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) - - propertyName: customRdpProperty(HostPoolProperties-customRdpProperty^string) - - propertyName: maxSessionLimit(integer^integer) - - propertyName: loadBalancerType(LoadBalancerType^choice) - - propertyName: ring(integer^integer) - - propertyName: validationEnvironment(boolean^boolean) - - propertyName: registrationInfo(RegistrationInfo^object) - - propertyName: vmTemplate(HostPoolProperties-vmTemplate^string) - - propertyName: applicationGroupReferences(HostPoolProperties-applicationGroupReferences^array) - readOnly: true - - propertyName: ssoContext(HostPoolProperties-ssoContext^string) - - schemaName: RegistrationInfo - properties: - - propertyName: expirationTime(RegistrationInfo-expirationTime^date-time) - - propertyName: token(RegistrationInfo-token^string) - - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) - - schemaName: HostPoolPatch - properties: - - propertyName: tags(any^any) - - propertyName: properties(HostPoolPatchProperties^object) - x-ms-client-flatten: true - - schemaName: HostPoolPatchProperties - properties: - - propertyName: friendlyName(HostPoolPatchProperties-friendlyName^string) - - propertyName: description(HostPoolPatchProperties-description^string) - - propertyName: customRdpProperty(HostPoolPatchProperties-customRdpProperty^string) - - propertyName: maxSessionLimit(integer^integer) - - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) - - propertyName: loadBalancerType(LoadBalancerType^choice) - - propertyName: ring(integer^integer) - - propertyName: validationEnvironment(boolean^boolean) - - propertyName: registrationInfo(RegistrationInfoPatch^object) - - propertyName: ssoContext(HostPoolPatchProperties-ssoContext^string) - - schemaName: RegistrationInfoPatch - properties: - - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) - - schemaName: HostPoolList - properties: - - propertyName: value(HostPoolList-value^array) - - propertyName: nextLink(HostPoolList-nextLink^string) - readOnly: true - - schemaName: UserSessionList - properties: - - propertyName: value(UserSessionList-value^array) - - propertyName: nextLink(UserSessionList-nextLink^string) - readOnly: true - - schemaName: UserSession - properties: - - propertyName: properties(UserSessionProperties^object) - x-ms-client-flatten: true - - schemaName: UserSessionProperties - properties: - - propertyName: userPrincipalName(UserSessionProperties-userPrincipalName^string) - - propertyName: applicationType(ApplicationType^choice) - - propertyName: sessionState(SessionState^choice) - - propertyName: activeDirectoryUserName(UserSessionProperties-activeDirectoryUserName^string) - - propertyName: createTime(UserSessionProperties-createTime^date-time) - - schemaName: SessionHost - properties: - - propertyName: properties(SessionHostProperties^object) - x-ms-client-flatten: true - - schemaName: SessionHostProperties - properties: - - propertyName: lastHeartBeat(SessionHostProperties-lastHeartBeat^date-time) - - propertyName: sessions(integer^integer) - - propertyName: agentVersion(SessionHostProperties-agentVersion^string) - - propertyName: allowNewSession(boolean^boolean) - - propertyName: assignedUser(SessionHostProperties-assignedUser^string) - - propertyName: status(Status^choice) - - propertyName: statusTimestamp(SessionHostProperties-statusTimestamp^date-time) - readOnly: true - - propertyName: osVersion(SessionHostProperties-osVersion^string) - - propertyName: sxSStackVersion(SessionHostProperties-sxSStackVersion^string) - - propertyName: updateState(UpdateState^choice) - - propertyName: lastUpdateTime(SessionHostProperties-lastUpdateTime^date-time) - readOnly: true - - propertyName: updateErrorMessage(SessionHostProperties-updateErrorMessage^string) - - schemaName: SessionHostPatch - properties: - - propertyName: properties(SessionHostPatchProperties^object) - x-ms-client-flatten: true - - schemaName: SessionHostPatchProperties - properties: - - propertyName: allowNewSession(boolean^boolean) - - propertyName: assignedUser(SessionHostPatchProperties-assignedUser^string) - - schemaName: SessionHostList - properties: - - propertyName: value(SessionHostList-value^array) - - propertyName: nextLink(SessionHostList-nextLink^string) - readOnly: true - - schemaName: SendMessage - properties: - - propertyName: messageTitle(SendMessage-messageTitle^string) - - propertyName: messageBody(SendMessage-messageBody^string) - choices: - all: - - choiceName: ApplicationGroupType - choiceValues: - - choiceValue: RemoteApp - - choiceValue: Desktop - - choiceName: CommandLineSetting - choiceValues: - - choiceValue: DoNotAllow - - choiceValue: Allow - - choiceValue: Require - - choiceName: HostPoolType - choiceValues: - - choiceValue: Personal - - choiceValue: Pooled - - choiceName: PersonalDesktopAssignmentType - choiceValues: - - choiceValue: Automatic - - choiceValue: Direct - - choiceName: LoadBalancerType - choiceValues: - - choiceValue: BreadthFirst - - choiceValue: DepthFirst - - choiceValue: Persistent - - choiceName: RegistrationTokenOperation - choiceValues: - - choiceValue: Delete - - choiceValue: None - - choiceValue: Update - - choiceName: ApplicationType - choiceValues: - - choiceValue: RemoteApp - - choiceValue: Desktop - - choiceName: SessionState - choiceValues: - - choiceValue: Unknown - - choiceValue: Active - - choiceValue: Disconnected - - choiceValue: Pending - - choiceValue: LogOff - - choiceValue: UserProfileDiskMounted - - choiceName: Status - choiceValues: - - choiceValue: Available - - choiceValue: Unavailable - - choiceValue: Shutdown - - choiceValue: Disconnected - - choiceValue: Upgrading - - choiceValue: UpgradeFailed - - choiceName: UpdateState - choiceValues: - - choiceValue: Initial - - choiceValue: Pending - - choiceValue: Started - - choiceValue: Succeeded - - choiceValue: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000010-prename-pre.yaml b/src/desktopvirtualization/_az_debug/clicommon-000010-prename-pre.yaml deleted file mode 100644 index a6c94be96e7..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000010-prename-pre.yaml +++ /dev/null @@ -1,8235 +0,0 @@ -info: - title: Desktop Virtualization API Client - extensions: - cli-dump-index: 10 -schemas: - booleans: - - &ref_53 - type: boolean - language: - default: - name: boolean - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - protocol: {} - - &ref_27 - type: boolean - language: - default: - name: boolean - description: Is validation environment. - protocol: {} - - &ref_222 - type: boolean - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: boolean - description: '' - protocol: {} - - &ref_73 - type: boolean - language: - default: - name: boolean - description: Allow a new session. - protocol: {} - numbers: - - &ref_47 - type: integer - precision: 32 - language: - default: - name: integer - description: Index of the icon. - protocol: {} - - &ref_24 - type: integer - precision: 32 - language: - default: - name: integer - description: The max session limit of HostPool. - protocol: {} - - &ref_26 - type: integer - precision: 32 - language: - default: - name: integer - description: The ring number of HostPool. - protocol: {} - - &ref_71 - type: integer - precision: 32 - language: - default: - name: integer - description: Number of sessions on SessionHost. - protocol: {} - strings: - - &ref_0 - type: string - language: - default: - name: string - description: simple string - protocol: {} - - &ref_2 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - protocol: {} - - &ref_3 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - protocol: {} - - &ref_4 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-resource - description: Resource on which the operation is performed. - protocol: {} - - &ref_5 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-operation - description: 'Type of operation: get, read, delete, etc.' - protocol: {} - - &ref_6 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-description - description: Description of this operation. - protocol: {} - - &ref_144 - type: string - apiVersions: - - version: '1.0' - minLength: 1 - language: - default: - name: string - description: '' - protocol: {} - - &ref_150 - type: string - apiVersions: - - version: '1.0' - maxLength: 90 - minLength: 1 - pattern: '^[-\w\._\(\)]+$' - language: - default: - name: string - description: '' - protocol: {} - - &ref_151 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 3 - language: - default: - name: string - description: '' - protocol: {} - - &ref_91 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: Resource-id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - protocol: {} - - &ref_92 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: Resource-name - description: The name of the resource - protocol: {} - - &ref_93 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: Resource-type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - protocol: {} - - &ref_1 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: string - description: '' - protocol: {} - - &ref_38 - type: string - apiVersions: - - version: '1.0' - extensions: - x-ms-mutability: - - read - - create - language: - default: - name: TrackedResource-location - description: The geo-location where the resource lives - protocol: {} - - &ref_11 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceProperties-description - description: Description of Workspace. - protocol: {} - - &ref_12 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceProperties-friendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_13 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceProperties-applicationGroupReferencesItem - description: '' - protocol: {} - - &ref_95 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudError-code - description: Error code - protocol: {} - - &ref_96 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudError-message - description: Error message indicating why the operation failed. - protocol: {} - - &ref_97 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchProperties-description - description: Description of Workspace. - protocol: {} - - &ref_98 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchProperties-friendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_99 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchProperties-applicationGroupReferencesItem - description: '' - protocol: {} - - &ref_101 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_167 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: string - description: '' - protocol: {} - - &ref_14 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-description - description: Description of ApplicationGroup. - protocol: {} - - &ref_15 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-friendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_16 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-hostPoolArmPath - description: HostPool arm path of ApplicationGroup. - protocol: {} - - &ref_17 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-workspaceArmPath - description: Workspace arm path of ApplicationGroup. - protocol: {} - - &ref_102 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_40 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchProperties-description - description: Description of ApplicationGroup. - protocol: {} - - &ref_41 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchProperties-friendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_42 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-appAlias - description: Alias of StartMenuItem. - protocol: {} - - &ref_43 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-friendlyName - description: Friendly name of StartMenuItem. - protocol: {} - - &ref_44 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-filePath - description: Path to the file of StartMenuItem. - protocol: {} - - &ref_45 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-commandLineArguments - description: Command line arguments for StartMenuItem. - protocol: {} - - &ref_46 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-iconPath - description: Path to the icon. - protocol: {} - - &ref_105 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_48 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-description - description: Description of Application. - protocol: {} - - &ref_49 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-friendlyName - description: Friendly name of Application. - protocol: {} - - &ref_50 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-filePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_52 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-commandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_54 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-iconPath - description: Path to icon. - protocol: {} - - &ref_55 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-iconHash - description: Hash of the icon. - protocol: {} - - &ref_108 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-description - description: Description of Application. - protocol: {} - - &ref_109 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-friendlyName - description: Friendly name of Application. - protocol: {} - - &ref_110 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-filePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_111 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-commandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_112 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-iconPath - description: Path to icon. - protocol: {} - - &ref_114 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_57 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-description - description: Description of Desktop. - protocol: {} - - &ref_58 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-friendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_59 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-iconHash - description: Hash of the icon. - protocol: {} - - &ref_116 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchProperties-description - description: Description of Desktop. - protocol: {} - - &ref_117 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchProperties-friendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_119 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_19 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-friendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_20 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-description - description: Description of HostPool. - protocol: {} - - &ref_23 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-customRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_29 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: RegistrationInfo-token - description: The registration token base64 encoded string. - protocol: {} - - &ref_31 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-vmTemplate - description: VM template for sessionhosts configuration within hostpool. - protocol: {} - - &ref_32 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-applicationGroupReferencesItem - description: '' - protocol: {} - - &ref_33 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-ssoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_61 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-friendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_62 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-description - description: Description of HostPool. - protocol: {} - - &ref_63 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-customRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_64 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-ssoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_124 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_65 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionProperties-userPrincipalName - description: The user principal name. - protocol: {} - - &ref_68 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionProperties-activeDirectoryUserName - description: The active directory user name. - protocol: {} - - &ref_125 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_235 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 48 - minLength: 3 - language: - default: - name: string - description: '' - protocol: {} - - &ref_72 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-agentVersion - description: Version of agent on SessionHost. - protocol: {} - - &ref_74 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-assignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_77 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-osVersion - description: The version of the OS on the session host. - protocol: {} - - &ref_78 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-sxSStackVersion - description: The version of the side by side stack on the session host. - protocol: {} - - &ref_81 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-updateErrorMessage - description: The error message. - protocol: {} - - &ref_82 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPatchProperties-assignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_129 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_236 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 1 - language: - default: - name: string - description: '' - protocol: {} - - &ref_130 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessage-messageTitle - description: Title of message. - protocol: {} - - &ref_131 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessage-messageBody - description: Body of message. - protocol: {} - choices: - - &ref_18 - choices: - - value: RemoteApp - language: - default: - name: RemoteApp - description: '' - - value: Desktop - language: - default: - name: Desktop - description: '' - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationGroupType - description: Resource Type of ApplicationGroup. - protocol: {} - - &ref_51 - choices: - - value: DoNotAllow - language: - default: - name: DoNotAllow - description: '' - - value: Allow - language: - default: - name: Allow - description: '' - - value: Require - language: - default: - name: Require - description: '' - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: CommandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - protocol: {} - - &ref_21 - choices: - - value: Personal - language: - default: - name: Personal - description: '' - - value: Pooled - language: - default: - name: Pooled - description: '' - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: HostPoolType - description: HostPool type for desktop. - protocol: {} - - &ref_22 - choices: - - value: Automatic - language: - default: - name: Automatic - description: '' - - value: Direct - language: - default: - name: Direct - description: '' - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: PersonalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - protocol: {} - - &ref_25 - choices: - - value: BreadthFirst - language: - default: - name: BreadthFirst - description: '' - - value: DepthFirst - language: - default: - name: DepthFirst - description: '' - - value: Persistent - language: - default: - name: Persistent - description: '' - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: LoadBalancerType - description: The type of the load balancer. - protocol: {} - - &ref_30 - choices: - - value: Delete - language: - default: - name: Delete - description: '' - - value: None - language: - default: - name: None - description: '' - - value: Update - language: - default: - name: Update - description: '' - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: RegistrationTokenOperation - description: The type of resetting the token. - protocol: {} - - &ref_66 - choices: - - value: RemoteApp - language: - default: - name: RemoteApp - description: '' - - value: Desktop - language: - default: - name: Desktop - description: '' - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationType - description: Application type of application. - protocol: {} - - &ref_67 - choices: - - value: Unknown - language: - default: - name: Unknown - description: '' - - value: Active - language: - default: - name: Active - description: '' - - value: Disconnected - language: - default: - name: Disconnected - description: '' - - value: Pending - language: - default: - name: Pending - description: '' - - value: LogOff - language: - default: - name: LogOff - description: '' - - value: UserProfileDiskMounted - language: - default: - name: UserProfileDiskMounted - description: '' - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: SessionState - description: State of user session. - protocol: {} - - &ref_75 - choices: - - value: Available - language: - default: - name: Available - description: '' - - value: Unavailable - language: - default: - name: Unavailable - description: '' - - value: Shutdown - language: - default: - name: Shutdown - description: '' - - value: Disconnected - language: - default: - name: Disconnected - description: '' - - value: Upgrading - language: - default: - name: Upgrading - description: '' - - value: UpgradeFailed - language: - default: - name: UpgradeFailed - description: '' - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: Status - description: Status for a SessionHost. - protocol: {} - - &ref_79 - choices: - - value: Initial - language: - default: - name: Initial - description: '' - - value: Pending - language: - default: - name: Pending - description: '' - - value: Started - language: - default: - name: Started - description: '' - - value: Succeeded - language: - default: - name: Succeeded - description: '' - - value: Failed - language: - default: - name: Failed - description: '' - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: UpdateState - description: Update state of a SessionHost. - protocol: {} - constants: - - &ref_145 - type: constant - value: - value: 2019-12-10-preview - valueType: *ref_0 - language: - default: - name: ApiVersion-2019-12-10-preview - description: Api Version (2019-12-10-preview) - protocol: {} - - &ref_155 - type: constant - value: - value: application/json - valueType: *ref_0 - language: - default: - name: application/json - description: Content Type 'application/json' - protocol: {} - dictionaries: - - &ref_37 - type: dictionary - elementType: *ref_1 - language: - default: - name: TrackedResource-tags - description: Resource tags. - protocol: {} - any: - - &ref_39 - type: any - language: - default: - name: any - description: Any object - protocol: {} - byteArrays: - - &ref_56 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-iconContent - description: the icon a 64 bit string as a byte array. - protocol: {} - - &ref_60 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-iconContent - description: The icon a 64 bit string as a byte array. - protocol: {} - dateTimes: - - &ref_28 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: RegistrationInfo-expirationTime - description: Expiration time of registration token. - protocol: {} - - &ref_69 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionProperties-createTime - description: The timestamp of the user session create. - protocol: {} - - &ref_70 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-lastHeartBeat - description: Last heart beat from SessionHost. - protocol: {} - - &ref_76 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-statusTimestamp - description: The timestamp of the status. - protocol: {} - - &ref_80 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-lastUpdateTime - description: The timestamp of the last update. - protocol: {} - objects: - - &ref_148 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_132 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: &ref_7 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_2 - serializedName: name - language: - default: - name: name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - protocol: {} - - schema: &ref_8 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_3 - serializedName: provider - language: - default: - name: provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - protocol: {} - - schema: *ref_4 - serializedName: resource - language: - default: - name: resource - description: Resource on which the operation is performed. - protocol: {} - - schema: *ref_5 - serializedName: operation - language: - default: - name: operation - description: 'Type of operation: get, read, delete, etc.' - protocol: {} - - schema: *ref_6 - serializedName: description - language: - default: - name: description - description: Description of this operation. - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperation-display - description: Display metadata associated with the operation. - namespace: '' - protocol: {} - serializedName: display - language: - default: - name: display - description: Display metadata associated with the operation. - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperation - description: Supported operation of this resource provider. - namespace: '' - protocol: {} - language: - default: - name: ResourceProviderOperationList-value - description: List of operations supported by this resource provider. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of operations supported by this resource provider. - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperationList - description: Result of the request to list operations. - namespace: '' - protocol: {} - - *ref_7 - - *ref_8 - - &ref_10 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_9 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_34 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - schema: &ref_94 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_11 - serializedName: description - language: - default: - name: description - description: Description of Workspace. - protocol: {} - - schema: *ref_12 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Workspace. - protocol: {} - - schema: &ref_133 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_13 - language: - default: - name: WorkspaceProperties-applicationGroupReferences - description: List of applicationGroup resource Ids. - protocol: {} - serializedName: applicationGroupReferences - language: - default: - name: applicationGroupReferences - description: List of applicationGroup resource Ids. - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: WorkspaceProperties - description: Schema for Workspace properties. - namespace: '' - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Workspace - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Workspace - description: Represents a Workspace definition. - namespace: '' - protocol: {} - - &ref_35 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - schema: &ref_103 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_14 - required: false - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - protocol: {} - - schema: *ref_15 - required: false - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - schema: *ref_16 - required: true - serializedName: hostPoolArmPath - language: - default: - name: hostPoolArmPath - description: HostPool arm path of ApplicationGroup. - protocol: {} - - schema: *ref_17 - readOnly: true - required: false - serializedName: workspaceArmPath - language: - default: - name: workspaceArmPath - description: Workspace arm path of ApplicationGroup. - protocol: {} - - schema: *ref_18 - required: true - serializedName: applicationGroupType - language: - default: - name: applicationGroupType - description: Resource Type of ApplicationGroup. - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationGroupProperties - description: Schema for ApplicationGroup properties. - namespace: '' - protocol: {} - required: true - serializedName: properties - extensions: - x-ms-client-flatten: true - x-nullable: false - language: - default: - name: properties - description: Detailed properties for ApplicationGroup - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationGroup - description: Represents a ApplicationGroup definition. - namespace: '' - protocol: {} - - &ref_36 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - schema: &ref_120 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_19 - required: false - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of HostPool. - protocol: {} - - schema: *ref_20 - required: false - serializedName: description - language: - default: - name: description - description: Description of HostPool. - protocol: {} - - schema: *ref_21 - required: true - serializedName: hostPoolType - language: - default: - name: hostPoolType - description: HostPool type for desktop. - protocol: {} - - schema: *ref_22 - required: true - serializedName: personalDesktopAssignmentType - language: - default: - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - protocol: {} - - schema: *ref_23 - required: false - serializedName: customRdpProperty - language: - default: - name: customRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - schema: *ref_24 - required: false - serializedName: maxSessionLimit - language: - default: - name: maxSessionLimit - description: The max session limit of HostPool. - protocol: {} - - schema: *ref_25 - required: true - serializedName: loadBalancerType - language: - default: - name: loadBalancerType - description: The type of the load balancer. - protocol: {} - - schema: *ref_26 - required: false - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - protocol: {} - - schema: *ref_27 - required: false - serializedName: validationEnvironment - language: - default: - name: validationEnvironment - description: Is validation environment. - protocol: {} - - schema: &ref_121 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_28 - serializedName: expirationTime - language: - default: - name: expirationTime - description: Expiration time of registration token. - protocol: {} - - schema: *ref_29 - serializedName: token - language: - default: - name: token - description: The registration token base64 encoded string. - protocol: {} - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registrationTokenOperation - description: The type of resetting the token. - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: RegistrationInfo - description: Represents a RegistrationInfo definition. - namespace: '' - protocol: {} - required: false - serializedName: registrationInfo - language: - default: - name: registrationInfo - description: The registration info of HostPool. - protocol: {} - - schema: *ref_31 - required: false - serializedName: vmTemplate - language: - default: - name: vmTemplate - description: VM template for sessionhosts configuration within hostpool. - protocol: {} - - schema: &ref_140 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_32 - language: - default: - name: HostPoolProperties-applicationGroupReferences - description: List of applicationGroup links. - protocol: {} - readOnly: true - required: false - serializedName: applicationGroupReferences - language: - default: - name: applicationGroupReferences - description: List of applicationGroup links. - protocol: {} - - schema: *ref_33 - required: false - serializedName: ssoContext - language: - default: - name: ssoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: HostPoolProperties - description: Properties of HostPool. - namespace: '' - protocol: {} - required: true - serializedName: properties - extensions: - x-ms-client-flatten: true - x-nullable: false - language: - default: - name: properties - description: Detailed properties for HostPool - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: HostPool - description: Represents a HostPool definition. - namespace: '' - protocol: {} - immediate: - - *ref_34 - - *ref_35 - - *ref_36 - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_37 - required: false - serializedName: tags - language: - default: - name: tags - description: Resource tags. - protocol: {} - - schema: *ref_38 - required: true - serializedName: location - language: - default: - name: location - description: The geo-location where the resource lives - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: TrackedResource - description: The resource model definition for a ARM tracked top level resource - namespace: '' - protocol: {} - - *ref_34 - - *ref_35 - - &ref_83 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - protocol: {} - - schema: &ref_104 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_40 - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - protocol: {} - - schema: *ref_41 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: ApplicationGroupPatchProperties - description: ApplicationGroup properties that can be patched. - namespace: '' - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: ApplicationGroup properties that can be patched. - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: ApplicationGroupPatch - description: ApplicationGroup properties that can be patched. - namespace: '' - protocol: {} - - &ref_84 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_106 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_42 - serializedName: appAlias - language: - default: - name: appAlias - description: Alias of StartMenuItem. - protocol: {} - - schema: *ref_43 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of StartMenuItem. - protocol: {} - - schema: *ref_44 - serializedName: filePath - language: - default: - name: filePath - description: Path to the file of StartMenuItem. - protocol: {} - - schema: *ref_45 - serializedName: commandLineArguments - language: - default: - name: commandLineArguments - description: Command line arguments for StartMenuItem. - protocol: {} - - schema: *ref_46 - serializedName: iconPath - language: - default: - name: iconPath - description: Path to the icon. - protocol: {} - - schema: *ref_47 - serializedName: iconIndex - language: - default: - name: iconIndex - description: Index of the icon. - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: StartMenuItemProperties - description: Schema for StartMenuItem properties. - namespace: '' - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for StartMenuItem - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: StartMenuItem - description: Represents a StartMenuItem definition. - namespace: '' - protocol: {} - - &ref_85 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_107 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_48 - required: false - serializedName: description - language: - default: - name: description - description: Description of Application. - protocol: {} - - schema: *ref_49 - required: false - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Application. - protocol: {} - - schema: *ref_50 - required: false - serializedName: filePath - language: - default: - name: filePath - description: Specifies a path for the executable file for the application. - protocol: {} - - schema: *ref_51 - required: true - serializedName: commandLineSetting - language: - default: - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - protocol: {} - - schema: *ref_52 - required: false - serializedName: commandLineArguments - language: - default: - name: commandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - schema: *ref_53 - required: false - serializedName: showInPortal - language: - default: - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - protocol: {} - - schema: *ref_54 - required: false - serializedName: iconPath - language: - default: - name: iconPath - description: Path to icon. - protocol: {} - - schema: *ref_47 - required: false - serializedName: iconIndex - language: - default: - name: iconIndex - description: Index of the icon. - protocol: {} - - schema: *ref_55 - readOnly: true - required: false - serializedName: iconHash - language: - default: - name: iconHash - description: Hash of the icon. - protocol: {} - - schema: *ref_56 - readOnly: true - required: false - serializedName: iconContent - language: - default: - name: iconContent - description: the icon a 64 bit string as a byte array. - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationProperties - description: Schema for Application properties. - namespace: '' - protocol: {} - required: true - serializedName: properties - extensions: - x-ms-client-flatten: true - x-nullable: false - language: - default: - name: properties - description: Detailed properties for Application - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Application - description: Schema for Application properties. - namespace: '' - protocol: {} - - &ref_86 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_115 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_57 - serializedName: description - language: - default: - name: description - description: Description of Desktop. - protocol: {} - - schema: *ref_58 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Desktop. - protocol: {} - - schema: *ref_59 - readOnly: true - serializedName: iconHash - language: - default: - name: iconHash - description: Hash of the icon. - protocol: {} - - schema: *ref_60 - readOnly: true - serializedName: iconContent - language: - default: - name: iconContent - description: The icon a 64 bit string as a byte array. - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: DesktopProperties - description: Schema for Desktop properties. - namespace: '' - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Desktop - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Desktop - description: Schema for Desktop properties. - namespace: '' - protocol: {} - - *ref_36 - - &ref_87 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - protocol: {} - - schema: &ref_122 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_61 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of HostPool. - protocol: {} - - schema: *ref_62 - serializedName: description - language: - default: - name: description - description: Description of HostPool. - protocol: {} - - schema: *ref_63 - serializedName: customRdpProperty - language: - default: - name: customRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - schema: *ref_24 - serializedName: maxSessionLimit - language: - default: - name: maxSessionLimit - description: The max session limit of HostPool. - protocol: {} - - schema: *ref_22 - serializedName: personalDesktopAssignmentType - language: - default: - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - protocol: {} - - schema: *ref_25 - serializedName: loadBalancerType - language: - default: - name: loadBalancerType - description: The type of the load balancer. - protocol: {} - - schema: *ref_26 - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - protocol: {} - - schema: *ref_27 - serializedName: validationEnvironment - language: - default: - name: validationEnvironment - description: Is validation environment. - protocol: {} - - schema: &ref_123 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registrationTokenOperation - description: The type of resetting the token. - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: RegistrationInfoPatch - description: Represents a RegistrationInfo definition. - namespace: '' - protocol: {} - serializedName: registrationInfo - language: - default: - name: registrationInfo - description: The registration info of HostPool. - protocol: {} - - schema: *ref_64 - serializedName: ssoContext - language: - default: - name: ssoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: HostPoolPatchProperties - description: Properties of HostPool. - namespace: '' - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: HostPool properties that can be patched. - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: HostPoolPatch - description: HostPool properties that can be patched. - namespace: '' - protocol: {} - - &ref_88 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_126 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_65 - serializedName: userPrincipalName - language: - default: - name: userPrincipalName - description: The user principal name. - protocol: {} - - schema: *ref_66 - serializedName: applicationType - language: - default: - name: applicationType - description: Application type of application. - protocol: {} - - schema: *ref_67 - serializedName: sessionState - language: - default: - name: sessionState - description: State of user session. - protocol: {} - - schema: *ref_68 - serializedName: activeDirectoryUserName - language: - default: - name: activeDirectoryUserName - description: The active directory user name. - protocol: {} - - schema: *ref_69 - serializedName: createTime - language: - default: - name: createTime - description: The timestamp of the user session create. - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: UserSessionProperties - description: Schema for UserSession properties. - namespace: '' - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for UserSession - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: UserSession - description: Represents a UserSession definition. - namespace: '' - protocol: {} - - &ref_89 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_127 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_70 - serializedName: lastHeartBeat - language: - default: - name: lastHeartBeat - description: Last heart beat from SessionHost. - protocol: {} - - schema: *ref_71 - serializedName: sessions - language: - default: - name: sessions - description: Number of sessions on SessionHost. - protocol: {} - - schema: *ref_72 - serializedName: agentVersion - language: - default: - name: agentVersion - description: Version of agent on SessionHost. - protocol: {} - - schema: *ref_73 - serializedName: allowNewSession - language: - default: - name: allowNewSession - description: Allow a new session. - protocol: {} - - schema: *ref_74 - serializedName: assignedUser - language: - default: - name: assignedUser - description: User assigned to SessionHost. - protocol: {} - - schema: *ref_75 - serializedName: status - language: - default: - name: status - description: Status for a SessionHost. - protocol: {} - - schema: *ref_76 - readOnly: true - serializedName: statusTimestamp - language: - default: - name: statusTimestamp - description: The timestamp of the status. - protocol: {} - - schema: *ref_77 - serializedName: osVersion - language: - default: - name: osVersion - description: The version of the OS on the session host. - protocol: {} - - schema: *ref_78 - serializedName: sxSStackVersion - language: - default: - name: sxSStackVersion - description: The version of the side by side stack on the session host. - protocol: {} - - schema: *ref_79 - serializedName: updateState - language: - default: - name: updateState - description: Update state of a SessionHost. - protocol: {} - - schema: *ref_80 - readOnly: true - serializedName: lastUpdateTime - language: - default: - name: lastUpdateTime - description: The timestamp of the last update. - protocol: {} - - schema: *ref_81 - serializedName: updateErrorMessage - language: - default: - name: updateErrorMessage - description: The error message. - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: SessionHostProperties - description: Schema for SessionHost properties. - namespace: '' - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for SessionHost - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: SessionHost - description: Represents a SessionHost definition. - namespace: '' - protocol: {} - - &ref_90 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_128 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_73 - serializedName: allowNewSession - language: - default: - name: allowNewSession - description: Allow a new session. - protocol: {} - - schema: *ref_82 - serializedName: assignedUser - language: - default: - name: assignedUser - description: User assigned to SessionHost. - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: SessionHostPatchProperties - description: SessionHost properties that can be patched. - namespace: '' - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for SessionHost - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: SessionHostPatch - description: SessionHost properties that can be patched. - namespace: '' - protocol: {} - immediate: - - *ref_9 - - *ref_83 - - *ref_84 - - *ref_85 - - *ref_86 - - *ref_87 - - *ref_88 - - *ref_89 - - *ref_90 - properties: - - schema: *ref_91 - readOnly: true - serializedName: id - language: - default: - name: id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - protocol: {} - - schema: *ref_92 - readOnly: true - serializedName: name - language: - default: - name: name - description: The name of the resource - protocol: {} - - schema: *ref_93 - readOnly: true - serializedName: type - language: - default: - name: type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - protocol: {} - serializationFormats: - - json - usage: - - output - - input - extensions: - x-ms-azure-resource: true - language: - default: - name: Resource - description: '' - namespace: '' - protocol: {} - - *ref_9 - - *ref_34 - - *ref_94 - - &ref_154 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_95 - serializedName: code - language: - default: - name: code - description: Error code - protocol: {} - - schema: *ref_96 - serializedName: message - language: - default: - name: message - description: Error message indicating why the operation failed. - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: CloudError - description: Error response of an operation failure - namespace: '' - protocol: {} - - &ref_161 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - protocol: {} - - schema: &ref_100 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_97 - serializedName: description - language: - default: - name: description - description: Description of Workspace. - protocol: {} - - schema: *ref_98 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Workspace. - protocol: {} - - schema: &ref_134 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_99 - language: - default: - name: WorkspacePatchProperties-applicationGroupReferences - description: List of applicationGroup links. - protocol: {} - serializedName: applicationGroupReferences - language: - default: - name: applicationGroupReferences - description: List of applicationGroup links. - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: WorkspacePatchProperties - description: Workspace properties that can be patched. - namespace: '' - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Workspace - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: WorkspacePatch - description: Workspace properties that can be patched. - namespace: '' - protocol: {} - - *ref_100 - - &ref_166 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_135 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_34 - language: - default: - name: WorkspaceList-value - description: List of Workspace definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Workspace definitions. - protocol: {} - - schema: *ref_101 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - protocol: {} - serializationFormats: - - json - summary: WorkspaceList - usage: - - output - language: - default: - name: WorkspaceList - description: List of Workspace definitions. - namespace: '' - summary: WorkspaceList - protocol: {} - - &ref_171 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_136 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_35 - language: - default: - name: ApplicationGroupList-value - description: List of ApplicationGroup definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of ApplicationGroup definitions. - protocol: {} - - schema: *ref_102 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - protocol: {} - serializationFormats: - - json - summary: ApplicationGroupList - usage: - - output - language: - default: - name: ApplicationGroupList - description: List of ApplicationGroup definitions. - namespace: '' - summary: ApplicationGroupList - protocol: {} - - *ref_35 - - *ref_103 - - *ref_83 - - *ref_104 - - &ref_187 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_137 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_84 - language: - default: - name: StartMenuItemList-value - description: List of StartMenuItem definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of StartMenuItem definitions. - protocol: {} - - schema: *ref_105 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - protocol: {} - serializationFormats: - - json - summary: StartMenuItemList - usage: - - output - language: - default: - name: StartMenuItemList - description: List of StartMenuItem definitions. - namespace: '' - summary: StartMenuItemList - protocol: {} - - *ref_84 - - *ref_106 - - *ref_85 - - *ref_107 - - &ref_198 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - protocol: {} - - schema: &ref_113 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_108 - serializedName: description - language: - default: - name: description - description: Description of Application. - protocol: {} - - schema: *ref_109 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Application. - protocol: {} - - schema: *ref_110 - serializedName: filePath - language: - default: - name: filePath - description: Specifies a path for the executable file for the application. - protocol: {} - - schema: *ref_51 - serializedName: commandLineSetting - language: - default: - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - protocol: {} - - schema: *ref_111 - serializedName: commandLineArguments - language: - default: - name: commandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - schema: *ref_53 - serializedName: showInPortal - language: - default: - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - protocol: {} - - schema: *ref_112 - serializedName: iconPath - language: - default: - name: iconPath - description: Path to icon. - protocol: {} - - schema: *ref_47 - serializedName: iconIndex - language: - default: - name: iconIndex - description: Index of the icon. - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: ApplicationPatchProperties - description: Application properties that can be patched. - namespace: '' - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Application - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: ApplicationPatch - description: Application properties that can be patched. - namespace: '' - protocol: {} - - *ref_113 - - &ref_205 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_138 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_85 - language: - default: - name: ApplicationList-value - description: List of Application definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Application definitions. - protocol: {} - - schema: *ref_114 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - protocol: {} - serializationFormats: - - json - summary: ApplicationList - usage: - - output - language: - default: - name: ApplicationList - description: List of Application definitions. - namespace: '' - summary: ApplicationList - protocol: {} - - *ref_86 - - *ref_115 - - &ref_209 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - protocol: {} - - schema: &ref_118 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_116 - serializedName: description - language: - default: - name: description - description: Description of Desktop. - protocol: {} - - schema: *ref_117 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Desktop. - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: DesktopPatchProperties - description: Desktop properties that can be patched. - namespace: '' - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Desktop - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: DesktopPatch - description: Desktop properties that can be patched. - namespace: '' - protocol: {} - - *ref_118 - - &ref_216 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_139 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_86 - language: - default: - name: DesktopList-value - description: List of Desktop definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Desktop definitions. - protocol: {} - - schema: *ref_119 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - protocol: {} - serializationFormats: - - json - summary: DesktopList - usage: - - output - language: - default: - name: DesktopList - description: List of Desktop definitions. - namespace: '' - summary: DesktopList - protocol: {} - - *ref_36 - - *ref_120 - - *ref_121 - - *ref_87 - - *ref_122 - - *ref_123 - - &ref_230 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_141 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_36 - language: - default: - name: HostPoolList-value - description: List of HostPool definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of HostPool definitions. - protocol: {} - - schema: *ref_124 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - protocol: {} - serializationFormats: - - json - summary: HostPoolList - usage: - - output - language: - default: - name: HostPoolList - description: List of HostPool definitions. - namespace: '' - summary: HostPoolList - protocol: {} - - &ref_234 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_142 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_88 - language: - default: - name: UserSessionList-value - description: List of UserSession definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of UserSession definitions. - protocol: {} - - schema: *ref_125 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - protocol: {} - serializationFormats: - - json - summary: UserSessionList - usage: - - output - language: - default: - name: UserSessionList - description: List of UserSession definitions. - namespace: '' - summary: UserSessionList - protocol: {} - - *ref_88 - - *ref_126 - - *ref_89 - - *ref_127 - - *ref_90 - - *ref_128 - - &ref_272 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_143 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_89 - language: - default: - name: SessionHostList-value - description: List of SessionHost definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of SessionHost definitions. - protocol: {} - - schema: *ref_129 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - protocol: {} - serializationFormats: - - json - summary: SessionHostList - usage: - - output - language: - default: - name: SessionHostList - description: List of SessionHost definitions. - namespace: '' - summary: SessionHostList - protocol: {} - - &ref_253 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_130 - serializedName: messageTitle - language: - default: - name: messageTitle - description: Title of message. - protocol: {} - - schema: *ref_131 - serializedName: messageBody - language: - default: - name: messageBody - description: Body of message. - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: SendMessage - description: Represents message sent to a UserSession. - namespace: '' - protocol: {} - arrays: - - *ref_132 - - *ref_133 - - *ref_134 - - *ref_135 - - *ref_136 - - *ref_137 - - *ref_138 - - *ref_139 - - *ref_140 - - *ref_141 - - *ref_142 - - *ref_143 -globalParameters: - - &ref_149 - schema: *ref_144 - implementation: Client - required: true - extensions: - x-ms-priority: 0 - language: - default: - name: subscriptionId - description: The ID of the target subscription. - serializedName: subscriptionId - protocol: - http: - in: path - - &ref_146 - schema: *ref_0 - clientDefaultValue: 'https://management.azure.com' - implementation: Client - origin: 'modelerfour:synthesized/host' - required: true - extensions: - x-ms-skip-url-encoding: true - language: - default: - name: $host - description: server parameter - serializedName: $host - protocol: - http: - in: uri - - &ref_147 - schema: *ref_145 - implementation: Client - origin: 'modelerfour:synthesized/api-version' - required: true - language: - default: - name: ApiVersion - description: Api Version - serializedName: api-version - protocol: - http: - in: query -operationGroups: - - $key: Operations - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: /providers/Microsoft.DesktopVirtualization/operations - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_148 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - extensions: - x-ms-examples: - OperationDescription_List: - parameters: - api-version: 2019-12-10-preview - responses: - '200': - body: - value: - - name: Microsoft.DesktopVirtualization/ssocontext/read - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - - name: Microsoft.DesktopVirtualization/ssocontext/write - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - language: - default: - name: List - description: List all of the available operations the Desktop Virtualization resource provider supports. - protocol: {} - language: - default: - name: Operations - description: '' - protocol: {} - - $key: Workspaces - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_152 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_153 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_152 - - *ref_153 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Get: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: Get - description: Get a workspace. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_157 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_158 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - protocol: - http: - in: header - - &ref_156 - schema: *ref_34 - implementation: Method - required: true - language: - default: - name: workspace - description: Object containing Workspace definitions. - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_156 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_157 - - *ref_158 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Create: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '201': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: CreateOrUpdate - description: Create or update a workspace. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_159 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_160 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_159 - - *ref_160 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Delete: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: Delete - description: Remove a workspace. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_163 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_164 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - protocol: - http: - in: header - - &ref_162 - schema: *ref_161 - implementation: Method - required: false - language: - default: - name: workspace - description: Object containing Workspace definitions. - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_162 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_163 - - *ref_164 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Update: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: Update - description: Update a workspace. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_165 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: - - *ref_165 - responses: - - schema: *ref_166 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByResourceGroup - description: List workspaces. - paging: - nextLinkName: nextLink - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_166 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListBySubscription: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListBySubscription - description: List workspaces in subscription. - paging: - nextLinkName: nextLink - protocol: {} - language: - default: - name: Workspaces - description: '' - protocol: {} - - $key: ApplicationGroupAssignments - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_168 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_169 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - protocol: - http: - in: path - - &ref_170 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' - method: get - uri: '{$host}' - signatureParameters: - - *ref_168 - - *ref_169 - - *ref_170 - responses: - - schema: *ref_171 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroupAssignment_WorkspaceLevelList: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: WorkspaceLevelList - description: List application group that user can use. - paging: - nextLinkName: nextLink - protocol: {} - language: - default: - name: ApplicationGroupAssignments - description: '' - protocol: {} - - $key: ApplicationGroups - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_172 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_173 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_172 - - *ref_173 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: Get - description: Get an application group. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_175 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_176 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - protocol: - http: - in: header - - &ref_174 - schema: *ref_35 - implementation: Method - required: true - language: - default: - name: applicationGroup - description: Object containing ApplicationGroup definitions. - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_174 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_175 - - *ref_176 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Create: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '201': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: CreateOrUpdate - description: Create or update an applicationGroup. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_177 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_178 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_177 - - *ref_178 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: Delete - description: Remove an applicationGroup. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_180 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_181 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - protocol: - http: - in: header - - &ref_179 - schema: *ref_83 - implementation: Method - required: false - language: - default: - name: applicationGroup - description: Object containing ApplicationGroup definitions. - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_179 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_180 - - *ref_181 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroups_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: Update - description: Update an applicationGroup. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_182 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_183 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_182 - - *ref_183 - responses: - - schema: *ref_171 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_ListByResourceGroup: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByResourceGroup - description: List applicationGroups. - paging: - nextLinkName: nextLink - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_184 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_184 - responses: - - schema: *ref_171 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_List: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListBySubscription - description: List applicationGroups in subscription. - paging: - nextLinkName: nextLink - protocol: {} - language: - default: - name: ApplicationGroups - description: '' - protocol: {} - - $key: StartMenuItems - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_185 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_186 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' - method: get - uri: '{$host}' - signatureParameters: - - *ref_185 - - *ref_186 - responses: - - schema: *ref_187 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - StartMenuItem_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: application1 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 - properties: - appAlias: word - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - - name: application2 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 - properties: - appAlias: excel - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List start menu items in the given application group. - paging: - nextLinkName: nextLink - protocol: {} - language: - default: - name: StartMenuItems - description: '' - protocol: {} - - $key: Applications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_188 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_189 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - protocol: - http: - in: path - - &ref_190 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_188 - - *ref_189 - - *ref_190 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: Get - description: Get an application. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_192 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_193 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - protocol: - http: - in: path - - &ref_194 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - protocol: - http: - in: header - - &ref_191 - schema: *ref_85 - implementation: Method - required: true - language: - default: - name: application - description: Object containing Application definitions. - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_191 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_192 - - *ref_193 - - *ref_194 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Create: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '201': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: CreateOrUpdate - description: Create or update an application. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_195 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_196 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - protocol: - http: - in: path - - &ref_197 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_195 - - *ref_196 - - *ref_197 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '204': {} - language: - default: - name: Delete - description: Remove an application. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_200 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_201 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - protocol: - http: - in: path - - &ref_202 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - protocol: - http: - in: header - - &ref_199 - schema: *ref_198 - implementation: Method - required: false - language: - default: - name: application - description: Object containing Application definitions. - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_199 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_200 - - *ref_201 - - *ref_202 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Update: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: Update - description: Update an application. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_203 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_204 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_203 - - *ref_204 - responses: - - schema: *ref_205 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Applications_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List applications. - paging: - nextLinkName: nextLink - protocol: {} - language: - default: - name: Applications - description: '' - protocol: {} - - $key: Desktops - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_206 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_207 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - protocol: - http: - in: path - - &ref_208 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: desktopName - description: The name of the desktop within the specified desktop group - serializedName: desktopName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_206 - - *ref_207 - - *ref_208 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: Get - description: Get a desktop. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_211 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_212 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - protocol: - http: - in: path - - &ref_213 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: desktopName - description: The name of the desktop within the specified desktop group - serializedName: desktopName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - protocol: - http: - in: header - - &ref_210 - schema: *ref_209 - implementation: Method - required: false - language: - default: - name: desktop - description: Object containing Desktop definitions. - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_210 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_211 - - *ref_212 - - *ref_213 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktop: - properties: - description: des1 - friendlyName: friendly - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: Update - description: Update a desktop. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_214 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_215 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' - method: get - uri: '{$host}' - signatureParameters: - - *ref_214 - - *ref_215 - responses: - - schema: *ref_216 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: List - description: List desktops. - protocol: {} - language: - default: - name: Desktops - description: '' - protocol: {} - - $key: HostPools - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_217 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_218 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_217 - - *ref_218 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: Get - description: Get a host pool. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_220 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_221 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - protocol: - http: - in: header - - &ref_219 - schema: *ref_36 - implementation: Method - required: true - language: - default: - name: hostPool - description: Object containing HostPool definitions. - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_219 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_220 - - *ref_221 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Create: - parameters: - api-version: 2019-12-10-preview - hostPool: - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '201': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: CreateOrUpdate - description: Create or update a host pool. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_223 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_224 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - protocol: - http: - in: path - - &ref_225 - schema: *ref_222 - implementation: Method - language: - default: - name: force - description: Force flag to delete sessionHost. - serializedName: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_223 - - *ref_224 - - *ref_225 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: Delete - description: Remove a host pool. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_227 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_228 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - protocol: - http: - in: header - - &ref_226 - schema: *ref_87 - implementation: Method - required: false - language: - default: - name: hostPool - description: Object containing HostPool definitions. - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_226 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_227 - - *ref_228 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Update: - parameters: - api-version: 2019-12-10-preview - hostPool: - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-02T14:01:54.9571247Z' - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: Update - description: Update a host pool. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_229 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: - - *ref_229 - responses: - - schema: *ref_230 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByResourceGroup - description: List hostPools. - paging: - nextLinkName: nextLink - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_230 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_List: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List hostPools in subscription. - paging: - nextLinkName: nextLink - protocol: {} - language: - default: - name: HostPools - description: '' - protocol: {} - - $key: UserSessions - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_231 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_232 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - protocol: - http: - in: path - - &ref_233 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_231 - - *ref_232 - - *ref_233 - responses: - - schema: *ref_234 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_ListByHostPool: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByHostPool - description: List userSessions. - paging: - nextLinkName: nextLink - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_237 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_238 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - protocol: - http: - in: path - - &ref_239 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - protocol: - http: - in: path - - &ref_240 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_237 - - *ref_238 - - *ref_239 - - *ref_240 - responses: - - schema: *ref_88 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - body: - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - language: - default: - name: Get - description: Get a userSession. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_241 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_242 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - protocol: - http: - in: path - - &ref_243 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - protocol: - http: - in: path - - &ref_244 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - protocol: - http: - in: path - - &ref_245 - schema: *ref_222 - implementation: Method - language: - default: - name: force - description: Force flag to login off userSession. - serializedName: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_241 - - *ref_242 - - *ref_243 - - *ref_244 - - *ref_245 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - '204': {} - language: - default: - name: Delete - description: Remove a userSession. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_246 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_247 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - protocol: - http: - in: path - - &ref_248 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_246 - - *ref_247 - - *ref_248 - responses: - - schema: *ref_234 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List userSessions. - paging: - nextLinkName: nextLink - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_249 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_250 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - protocol: - http: - in: path - - &ref_251 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - protocol: - http: - in: path - - &ref_252 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' - method: post - uri: '{$host}' - signatureParameters: - - *ref_249 - - *ref_250 - - *ref_251 - - *ref_252 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Disconnect_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: Disconnect - description: Disconnect a userSession. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_255 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_256 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - protocol: - http: - in: path - - &ref_257 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - protocol: - http: - in: path - - &ref_258 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - protocol: - http: - in: header - - &ref_254 - schema: *ref_253 - implementation: Method - required: false - language: - default: - name: sendMessage - description: Object containing message includes title and message body - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_254 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' - method: post - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_255 - - *ref_256 - - *ref_257 - - *ref_258 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_SendMessage_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sendMessage: - messageBody: body - messageTitle: title - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: SendMessage - description: Send a message to a user. - protocol: {} - language: - default: - name: UserSessions - description: '' - protocol: {} - - $key: SessionHosts - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_259 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_260 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - protocol: - http: - in: path - - &ref_261 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_259 - - *ref_260 - - *ref_261 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: Get - description: Get a session host. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_262 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_263 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - protocol: - http: - in: path - - &ref_264 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - protocol: - http: - in: path - - &ref_265 - schema: *ref_222 - implementation: Method - language: - default: - name: force - description: Force flag to force sessionHost deletion even when userSession exists. - serializedName: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_262 - - *ref_263 - - *ref_264 - - *ref_265 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - '204': {} - language: - default: - name: Delete - description: Remove a SessionHost. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_267 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_268 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - protocol: - http: - in: path - - &ref_269 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - protocol: - http: - in: header - - &ref_266 - schema: *ref_90 - implementation: Method - required: false - language: - default: - name: sessionHost - description: Object containing SessionHost definitions. - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_266 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_267 - - *ref_268 - - *ref_269 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Update: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHost: - properties: - allowNewSession: true - assignedUser: user1@microsoft.com - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2019-01-11T19:27:13.6108027Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2019-01-24T20:00:08.2893033Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: Update - description: Update a session host. - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_270 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_271 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' - method: get - uri: '{$host}' - signatureParameters: - - *ref_270 - - *ref_271 - responses: - - schema: *ref_272 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - - name: sessionHost2.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user2@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List sessionHosts. - paging: - nextLinkName: nextLink - protocol: {} - language: - default: - name: SessionHosts - description: '' - protocol: {} - - $key: ActiveApplications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_273 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - protocol: - http: - in: path - - &ref_274 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - protocol: - http: - in: path - - &ref_275 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - protocol: - http: - in: path - - &ref_276 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_273 - - *ref_274 - - *ref_275 - - *ref_276 - responses: - - schema: *ref_205 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ActiveApplications_List: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListBySessionHost - description: List applications for the given session host. - paging: - nextLinkName: nextLink - protocol: {} - language: - default: - name: ActiveApplications - description: '' - protocol: {} -language: - default: - name: '' - description: '' -protocol: - http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000020-prename-post-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000020-prename-post-simplified.yaml deleted file mode 100644 index 9bfd969c1cb..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000020-prename-post-simplified.yaml +++ /dev/null @@ -1,1708 +0,0 @@ -operationGroups: - all: - - operationGroupName: Operations - cli: - cliKey: Operations - operations: - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - operationGroupName: Workspaces - cli: - cliKey: Workspaces - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - operationName: CreateOrUpdate - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: workspace(Workspace^object) - cli: - cliKey: workspace - bodySchema: Workspace - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: workspace(WorkspacePatch^object) - cli: - cliKey: workspace - bodySchema: WorkspacePatch - - operationName: ListByResourceGroup - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - operationName: ListBySubscription - cli: - cliKey: ListBySubscription - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - operationGroupName: ApplicationGroupAssignments - cli: - cliKey: ApplicationGroupAssignments - operations: - - operationName: WorkspaceLevelList - cli: - cliKey: WorkspaceLevelList - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - parameterName: $filter(string^string) - cli: - cliKey: $filter - - operationGroupName: ApplicationGroups - cli: - cliKey: ApplicationGroups - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationName: CreateOrUpdate - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: applicationGroup(ApplicationGroup^object) - cli: - cliKey: applicationGroup - bodySchema: ApplicationGroup - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: applicationGroup(ApplicationGroupPatch^object) - cli: - cliKey: applicationGroup - bodySchema: ApplicationGroupPatch - - operationName: ListByResourceGroup - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: $filter(string^string) - cli: - cliKey: $filter - - operationName: ListBySubscription - cli: - cliKey: ListBySubscription - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: $filter(string^string) - cli: - cliKey: $filter - - operationGroupName: StartMenuItems - cli: - cliKey: StartMenuItems - operations: - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: Applications - cli: - cliKey: Applications - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: applicationName(string^string) - cli: - cliKey: applicationName - - operationName: CreateOrUpdate - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: applicationName(string^string) - cli: - cliKey: applicationName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: application(Application^object) - cli: - cliKey: application - bodySchema: Application - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: applicationName(string^string) - cli: - cliKey: applicationName - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: applicationName(string^string) - cli: - cliKey: applicationName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: application(ApplicationPatch^object) - cli: - cliKey: application - bodySchema: ApplicationPatch - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: Desktops - cli: - cliKey: Desktops - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: desktopName(string^string) - cli: - cliKey: desktopName - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: desktopName(string^string) - cli: - cliKey: desktopName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: desktop(DesktopPatch^object) - cli: - cliKey: desktop - bodySchema: DesktopPatch - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: HostPools - cli: - cliKey: HostPools - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - operationName: CreateOrUpdate - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: hostPool(HostPool^object) - cli: - cliKey: hostPool - bodySchema: HostPool - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: hostPool(HostPoolPatch^object) - cli: - cliKey: hostPool - bodySchema: HostPoolPatch - - operationName: ListByResourceGroup - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - operationGroupName: UserSessions - cli: - cliKey: UserSessions - operations: - - operationName: ListByHostPool - cli: - cliKey: ListByHostPool - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: $filter(string^string) - cli: - cliKey: $filter - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: userSessionId(string^string) - cli: - cliKey: userSessionId - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: userSessionId(string^string) - cli: - cliKey: userSessionId - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - operationName: Disconnect - cli: - cliKey: Disconnect - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: userSessionId(string^string) - cli: - cliKey: userSessionId - - operationName: SendMessage - cli: - cliKey: SendMessage - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: userSessionId(string^string) - cli: - cliKey: userSessionId - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: sendMessage(SendMessage^object) - cli: - cliKey: sendMessage - bodySchema: SendMessage - - operationGroupName: SessionHosts - cli: - cliKey: SessionHosts - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: sessionHost(SessionHostPatch^object) - cli: - cliKey: sessionHost - bodySchema: SessionHostPatch - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - operationGroupName: ActiveApplications - cli: - cliKey: ActiveApplications - operations: - - operationName: ListBySessionHost - cli: - cliKey: ListBySessionHost - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: $filter(string^string) - cli: - cliKey: $filter -schemas: - objects: - all: - - schemaName: ResourceProviderOperationList - cli: - cliKey: ResourceProviderOperationList - properties: - - propertyName: value(ResourceProviderOperationList-value^array) - cli: - cliKey: value - - schemaName: ResourceProviderOperation - cli: - cliKey: ResourceProviderOperation - properties: - - propertyName: name(ResourceProviderOperation-name^string) - cli: - cliKey: name - - propertyName: display(ResourceProviderOperation-display^object) - cli: - cliKey: display - - schemaName: ResourceProviderOperation-display - cli: - cliKey: ResourceProviderOperation-display - properties: - - propertyName: provider(ResourceProviderOperation-display-provider^string) - cli: - cliKey: provider - - propertyName: resource(ResourceProviderOperation-display-resource^string) - cli: - cliKey: resource - - propertyName: operation(ResourceProviderOperation-display-operation^string) - cli: - cliKey: operation - - propertyName: description(ResourceProviderOperation-display-description^string) - cli: - cliKey: description - - schemaName: Resource - cli: - cliKey: Resource - properties: - - propertyName: id(Resource-id^string) - cli: - cliKey: id - readOnly: true - - propertyName: name(Resource-name^string) - cli: - cliKey: name - readOnly: true - - propertyName: type(Resource-type^string) - cli: - cliKey: type - readOnly: true - - schemaName: TrackedResource - cli: - cliKey: TrackedResource - properties: - - propertyName: tags(TrackedResource-tags^dictionary) - cli: - cliKey: tags - - propertyName: location(TrackedResource-location^string) - cli: - cliKey: location - - schemaName: Workspace - cli: - cliKey: Workspace - properties: - - propertyName: properties(WorkspaceProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: WorkspaceProperties - cli: - cliKey: WorkspaceProperties - properties: - - propertyName: description(WorkspaceProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(WorkspaceProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: applicationGroupReferences(WorkspaceProperties-applicationGroupReferences^array) - cli: - cliKey: applicationGroupReferences - - schemaName: CloudError - cli: - cliKey: CloudError - properties: - - propertyName: code(CloudError-code^string) - cli: - cliKey: code - - propertyName: message(CloudError-message^string) - cli: - cliKey: message - - schemaName: WorkspacePatch - cli: - cliKey: WorkspacePatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(WorkspacePatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: WorkspacePatchProperties - cli: - cliKey: WorkspacePatchProperties - properties: - - propertyName: description(WorkspacePatchProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(WorkspacePatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: applicationGroupReferences(WorkspacePatchProperties-applicationGroupReferences^array) - cli: - cliKey: applicationGroupReferences - - schemaName: WorkspaceList - cli: - cliKey: WorkspaceList - properties: - - propertyName: value(WorkspaceList-value^array) - cli: - cliKey: value - - propertyName: nextLink(WorkspaceList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: ApplicationGroupList - cli: - cliKey: ApplicationGroupList - properties: - - propertyName: value(ApplicationGroupList-value^array) - cli: - cliKey: value - - propertyName: nextLink(ApplicationGroupList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: ApplicationGroup - cli: - cliKey: ApplicationGroup - properties: - - propertyName: properties(ApplicationGroupProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: ApplicationGroupProperties - cli: - cliKey: ApplicationGroupProperties - properties: - - propertyName: description(ApplicationGroupProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(ApplicationGroupProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: hostPoolArmPath(ApplicationGroupProperties-hostPoolArmPath^string) - cli: - cliKey: hostPoolArmPath - - propertyName: workspaceArmPath(ApplicationGroupProperties-workspaceArmPath^string) - cli: - cliKey: workspaceArmPath - readOnly: true - - propertyName: applicationGroupType(ApplicationGroupType^choice) - cli: - cliKey: applicationGroupType - - schemaName: ApplicationGroupPatch - cli: - cliKey: ApplicationGroupPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(ApplicationGroupPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: ApplicationGroupPatchProperties - cli: - cliKey: ApplicationGroupPatchProperties - properties: - - propertyName: description(ApplicationGroupPatchProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(ApplicationGroupPatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - schemaName: StartMenuItemList - cli: - cliKey: StartMenuItemList - properties: - - propertyName: value(StartMenuItemList-value^array) - cli: - cliKey: value - - propertyName: nextLink(StartMenuItemList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: StartMenuItem - cli: - cliKey: StartMenuItem - properties: - - propertyName: properties(StartMenuItemProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: StartMenuItemProperties - cli: - cliKey: StartMenuItemProperties - properties: - - propertyName: appAlias(StartMenuItemProperties-appAlias^string) - cli: - cliKey: appAlias - - propertyName: friendlyName(StartMenuItemProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: filePath(StartMenuItemProperties-filePath^string) - cli: - cliKey: filePath - - propertyName: commandLineArguments(StartMenuItemProperties-commandLineArguments^string) - cli: - cliKey: commandLineArguments - - propertyName: iconPath(StartMenuItemProperties-iconPath^string) - cli: - cliKey: iconPath - - propertyName: iconIndex(integer^integer) - cli: - cliKey: iconIndex - - schemaName: Application - cli: - cliKey: Application - properties: - - propertyName: properties(ApplicationProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: ApplicationProperties - cli: - cliKey: ApplicationProperties - properties: - - propertyName: description(ApplicationProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(ApplicationProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: filePath(ApplicationProperties-filePath^string) - cli: - cliKey: filePath - - propertyName: commandLineSetting(CommandLineSetting^choice) - cli: - cliKey: commandLineSetting - - propertyName: commandLineArguments(ApplicationProperties-commandLineArguments^string) - cli: - cliKey: commandLineArguments - - propertyName: showInPortal(boolean^boolean) - cli: - cliKey: showInPortal - - propertyName: iconPath(ApplicationProperties-iconPath^string) - cli: - cliKey: iconPath - - propertyName: iconIndex(integer^integer) - cli: - cliKey: iconIndex - - propertyName: iconHash(ApplicationProperties-iconHash^string) - cli: - cliKey: iconHash - readOnly: true - - propertyName: iconContent(ApplicationProperties-iconContent^byte-array) - cli: - cliKey: iconContent - readOnly: true - - schemaName: ApplicationPatch - cli: - cliKey: ApplicationPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(ApplicationPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: ApplicationPatchProperties - cli: - cliKey: ApplicationPatchProperties - properties: - - propertyName: description(ApplicationPatchProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(ApplicationPatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: filePath(ApplicationPatchProperties-filePath^string) - cli: - cliKey: filePath - - propertyName: commandLineSetting(CommandLineSetting^choice) - cli: - cliKey: commandLineSetting - - propertyName: commandLineArguments(ApplicationPatchProperties-commandLineArguments^string) - cli: - cliKey: commandLineArguments - - propertyName: showInPortal(boolean^boolean) - cli: - cliKey: showInPortal - - propertyName: iconPath(ApplicationPatchProperties-iconPath^string) - cli: - cliKey: iconPath - - propertyName: iconIndex(integer^integer) - cli: - cliKey: iconIndex - - schemaName: ApplicationList - cli: - cliKey: ApplicationList - properties: - - propertyName: value(ApplicationList-value^array) - cli: - cliKey: value - - propertyName: nextLink(ApplicationList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: Desktop - cli: - cliKey: Desktop - properties: - - propertyName: properties(DesktopProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: DesktopProperties - cli: - cliKey: DesktopProperties - properties: - - propertyName: description(DesktopProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(DesktopProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: iconHash(DesktopProperties-iconHash^string) - cli: - cliKey: iconHash - readOnly: true - - propertyName: iconContent(DesktopProperties-iconContent^byte-array) - cli: - cliKey: iconContent - readOnly: true - - schemaName: DesktopPatch - cli: - cliKey: DesktopPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(DesktopPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: DesktopPatchProperties - cli: - cliKey: DesktopPatchProperties - properties: - - propertyName: description(DesktopPatchProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(DesktopPatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - schemaName: DesktopList - cli: - cliKey: DesktopList - properties: - - propertyName: value(DesktopList-value^array) - cli: - cliKey: value - - propertyName: nextLink(DesktopList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: HostPool - cli: - cliKey: HostPool - properties: - - propertyName: properties(HostPoolProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: HostPoolProperties - cli: - cliKey: HostPoolProperties - properties: - - propertyName: friendlyName(HostPoolProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: description(HostPoolProperties-description^string) - cli: - cliKey: description - - propertyName: hostPoolType(HostPoolType^choice) - cli: - cliKey: hostPoolType - - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) - cli: - cliKey: personalDesktopAssignmentType - - propertyName: customRdpProperty(HostPoolProperties-customRdpProperty^string) - cli: - cliKey: customRdpProperty - - propertyName: maxSessionLimit(integer^integer) - cli: - cliKey: maxSessionLimit - - propertyName: loadBalancerType(LoadBalancerType^choice) - cli: - cliKey: loadBalancerType - - propertyName: ring(integer^integer) - cli: - cliKey: ring - - propertyName: validationEnvironment(boolean^boolean) - cli: - cliKey: validationEnvironment - - propertyName: registrationInfo(RegistrationInfo^object) - cli: - cliKey: registrationInfo - - propertyName: vmTemplate(HostPoolProperties-vmTemplate^string) - cli: - cliKey: vmTemplate - - propertyName: applicationGroupReferences(HostPoolProperties-applicationGroupReferences^array) - cli: - cliKey: applicationGroupReferences - readOnly: true - - propertyName: ssoContext(HostPoolProperties-ssoContext^string) - cli: - cliKey: ssoContext - - schemaName: RegistrationInfo - cli: - cliKey: RegistrationInfo - properties: - - propertyName: expirationTime(RegistrationInfo-expirationTime^date-time) - cli: - cliKey: expirationTime - - propertyName: token(RegistrationInfo-token^string) - cli: - cliKey: token - - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) - cli: - cliKey: registrationTokenOperation - - schemaName: HostPoolPatch - cli: - cliKey: HostPoolPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(HostPoolPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: HostPoolPatchProperties - cli: - cliKey: HostPoolPatchProperties - properties: - - propertyName: friendlyName(HostPoolPatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: description(HostPoolPatchProperties-description^string) - cli: - cliKey: description - - propertyName: customRdpProperty(HostPoolPatchProperties-customRdpProperty^string) - cli: - cliKey: customRdpProperty - - propertyName: maxSessionLimit(integer^integer) - cli: - cliKey: maxSessionLimit - - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) - cli: - cliKey: personalDesktopAssignmentType - - propertyName: loadBalancerType(LoadBalancerType^choice) - cli: - cliKey: loadBalancerType - - propertyName: ring(integer^integer) - cli: - cliKey: ring - - propertyName: validationEnvironment(boolean^boolean) - cli: - cliKey: validationEnvironment - - propertyName: registrationInfo(RegistrationInfoPatch^object) - cli: - cliKey: registrationInfo - - propertyName: ssoContext(HostPoolPatchProperties-ssoContext^string) - cli: - cliKey: ssoContext - - schemaName: RegistrationInfoPatch - cli: - cliKey: RegistrationInfoPatch - properties: - - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) - cli: - cliKey: registrationTokenOperation - - schemaName: HostPoolList - cli: - cliKey: HostPoolList - properties: - - propertyName: value(HostPoolList-value^array) - cli: - cliKey: value - - propertyName: nextLink(HostPoolList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: UserSessionList - cli: - cliKey: UserSessionList - properties: - - propertyName: value(UserSessionList-value^array) - cli: - cliKey: value - - propertyName: nextLink(UserSessionList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: UserSession - cli: - cliKey: UserSession - properties: - - propertyName: properties(UserSessionProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: UserSessionProperties - cli: - cliKey: UserSessionProperties - properties: - - propertyName: userPrincipalName(UserSessionProperties-userPrincipalName^string) - cli: - cliKey: userPrincipalName - - propertyName: applicationType(ApplicationType^choice) - cli: - cliKey: applicationType - - propertyName: sessionState(SessionState^choice) - cli: - cliKey: sessionState - - propertyName: activeDirectoryUserName(UserSessionProperties-activeDirectoryUserName^string) - cli: - cliKey: activeDirectoryUserName - - propertyName: createTime(UserSessionProperties-createTime^date-time) - cli: - cliKey: createTime - - schemaName: SessionHost - cli: - cliKey: SessionHost - properties: - - propertyName: properties(SessionHostProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: SessionHostProperties - cli: - cliKey: SessionHostProperties - properties: - - propertyName: lastHeartBeat(SessionHostProperties-lastHeartBeat^date-time) - cli: - cliKey: lastHeartBeat - - propertyName: sessions(integer^integer) - cli: - cliKey: sessions - - propertyName: agentVersion(SessionHostProperties-agentVersion^string) - cli: - cliKey: agentVersion - - propertyName: allowNewSession(boolean^boolean) - cli: - cliKey: allowNewSession - - propertyName: assignedUser(SessionHostProperties-assignedUser^string) - cli: - cliKey: assignedUser - - propertyName: status(Status^choice) - cli: - cliKey: status - - propertyName: statusTimestamp(SessionHostProperties-statusTimestamp^date-time) - cli: - cliKey: statusTimestamp - readOnly: true - - propertyName: osVersion(SessionHostProperties-osVersion^string) - cli: - cliKey: osVersion - - propertyName: sxSStackVersion(SessionHostProperties-sxSStackVersion^string) - cli: - cliKey: sxSStackVersion - - propertyName: updateState(UpdateState^choice) - cli: - cliKey: updateState - - propertyName: lastUpdateTime(SessionHostProperties-lastUpdateTime^date-time) - cli: - cliKey: lastUpdateTime - readOnly: true - - propertyName: updateErrorMessage(SessionHostProperties-updateErrorMessage^string) - cli: - cliKey: updateErrorMessage - - schemaName: SessionHostPatch - cli: - cliKey: SessionHostPatch - properties: - - propertyName: properties(SessionHostPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: SessionHostPatchProperties - cli: - cliKey: SessionHostPatchProperties - properties: - - propertyName: allowNewSession(boolean^boolean) - cli: - cliKey: allowNewSession - - propertyName: assignedUser(SessionHostPatchProperties-assignedUser^string) - cli: - cliKey: assignedUser - - schemaName: SessionHostList - cli: - cliKey: SessionHostList - properties: - - propertyName: value(SessionHostList-value^array) - cli: - cliKey: value - - propertyName: nextLink(SessionHostList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: SendMessage - cli: - cliKey: SendMessage - properties: - - propertyName: messageTitle(SendMessage-messageTitle^string) - cli: - cliKey: messageTitle - - propertyName: messageBody(SendMessage-messageBody^string) - cli: - cliKey: messageBody - choices: - all: - - choiceName: ApplicationGroupType - cli: - cliKey: ApplicationGroupType - choiceValues: - - choiceValue: RemoteApp - cli: - cliKey: RemoteApp - - choiceValue: Desktop - cli: - cliKey: Desktop - - choiceName: CommandLineSetting - cli: - cliKey: CommandLineSetting - choiceValues: - - choiceValue: DoNotAllow - cli: - cliKey: DoNotAllow - - choiceValue: Allow - cli: - cliKey: Allow - - choiceValue: Require - cli: - cliKey: Require - - choiceName: HostPoolType - cli: - cliKey: HostPoolType - choiceValues: - - choiceValue: Personal - cli: - cliKey: Personal - - choiceValue: Pooled - cli: - cliKey: Pooled - - choiceName: PersonalDesktopAssignmentType - cli: - cliKey: PersonalDesktopAssignmentType - choiceValues: - - choiceValue: Automatic - cli: - cliKey: Automatic - - choiceValue: Direct - cli: - cliKey: Direct - - choiceName: LoadBalancerType - cli: - cliKey: LoadBalancerType - choiceValues: - - choiceValue: BreadthFirst - cli: - cliKey: BreadthFirst - - choiceValue: DepthFirst - cli: - cliKey: DepthFirst - - choiceValue: Persistent - cli: - cliKey: Persistent - - choiceName: RegistrationTokenOperation - cli: - cliKey: RegistrationTokenOperation - choiceValues: - - choiceValue: Delete - cli: - cliKey: Delete - - choiceValue: None - cli: - cliKey: None - - choiceValue: Update - cli: - cliKey: Update - - choiceName: ApplicationType - cli: - cliKey: ApplicationType - choiceValues: - - choiceValue: RemoteApp - cli: - cliKey: RemoteApp - - choiceValue: Desktop - cli: - cliKey: Desktop - - choiceName: SessionState - cli: - cliKey: SessionState - choiceValues: - - choiceValue: Unknown - cli: - cliKey: Unknown - - choiceValue: Active - cli: - cliKey: Active - - choiceValue: Disconnected - cli: - cliKey: Disconnected - - choiceValue: Pending - cli: - cliKey: Pending - - choiceValue: LogOff - cli: - cliKey: LogOff - - choiceValue: UserProfileDiskMounted - cli: - cliKey: UserProfileDiskMounted - - choiceName: Status - cli: - cliKey: Status - choiceValues: - - choiceValue: Available - cli: - cliKey: Available - - choiceValue: Unavailable - cli: - cliKey: Unavailable - - choiceValue: Shutdown - cli: - cliKey: Shutdown - - choiceValue: Disconnected - cli: - cliKey: Disconnected - - choiceValue: Upgrading - cli: - cliKey: Upgrading - - choiceValue: UpgradeFailed - cli: - cliKey: UpgradeFailed - - choiceName: UpdateState - cli: - cliKey: UpdateState - choiceValues: - - choiceValue: Initial - cli: - cliKey: Initial - - choiceValue: Pending - cli: - cliKey: Pending - - choiceValue: Started - cli: - cliKey: Started - - choiceValue: Succeeded - cli: - cliKey: Succeeded - - choiceValue: Failed - cli: - cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000020-prename-post.yaml b/src/desktopvirtualization/_az_debug/clicommon-000020-prename-post.yaml deleted file mode 100644 index 550ae0d6b47..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000020-prename-post.yaml +++ /dev/null @@ -1,9037 +0,0 @@ -info: - title: Desktop Virtualization API Client - extensions: - cli-dump-index: 20 -schemas: - booleans: - - &ref_53 - type: boolean - language: - default: - name: boolean - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - protocol: {} - - &ref_27 - type: boolean - language: - default: - name: boolean - description: Is validation environment. - protocol: {} - - &ref_222 - type: boolean - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: boolean - description: '' - protocol: {} - - &ref_73 - type: boolean - language: - default: - name: boolean - description: Allow a new session. - protocol: {} - numbers: - - &ref_47 - type: integer - precision: 32 - language: - default: - name: integer - description: Index of the icon. - protocol: {} - - &ref_24 - type: integer - precision: 32 - language: - default: - name: integer - description: The max session limit of HostPool. - protocol: {} - - &ref_26 - type: integer - precision: 32 - language: - default: - name: integer - description: The ring number of HostPool. - protocol: {} - - &ref_71 - type: integer - precision: 32 - language: - default: - name: integer - description: Number of sessions on SessionHost. - protocol: {} - strings: - - &ref_0 - type: string - language: - default: - name: string - description: simple string - protocol: {} - - &ref_2 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - protocol: {} - - &ref_3 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - protocol: {} - - &ref_4 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-resource - description: Resource on which the operation is performed. - protocol: {} - - &ref_5 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-operation - description: 'Type of operation: get, read, delete, etc.' - protocol: {} - - &ref_6 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-description - description: Description of this operation. - protocol: {} - - &ref_144 - type: string - apiVersions: - - version: '1.0' - minLength: 1 - language: - default: - name: string - description: '' - protocol: {} - - &ref_150 - type: string - apiVersions: - - version: '1.0' - maxLength: 90 - minLength: 1 - pattern: '^[-\w\._\(\)]+$' - language: - default: - name: string - description: '' - protocol: {} - - &ref_151 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 3 - language: - default: - name: string - description: '' - protocol: {} - - &ref_91 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: Resource-id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - protocol: {} - - &ref_92 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: Resource-name - description: The name of the resource - protocol: {} - - &ref_93 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: Resource-type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - protocol: {} - - &ref_1 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: string - description: '' - protocol: {} - - &ref_38 - type: string - apiVersions: - - version: '1.0' - extensions: - x-ms-mutability: - - read - - create - language: - default: - name: TrackedResource-location - description: The geo-location where the resource lives - protocol: {} - - &ref_11 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceProperties-description - description: Description of Workspace. - protocol: {} - - &ref_12 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceProperties-friendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_13 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceProperties-applicationGroupReferencesItem - description: '' - protocol: {} - - &ref_95 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudError-code - description: Error code - protocol: {} - - &ref_96 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudError-message - description: Error message indicating why the operation failed. - protocol: {} - - &ref_97 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchProperties-description - description: Description of Workspace. - protocol: {} - - &ref_98 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchProperties-friendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_99 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchProperties-applicationGroupReferencesItem - description: '' - protocol: {} - - &ref_101 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_167 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: string - description: '' - protocol: {} - - &ref_14 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-description - description: Description of ApplicationGroup. - protocol: {} - - &ref_15 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-friendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_16 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-hostPoolArmPath - description: HostPool arm path of ApplicationGroup. - protocol: {} - - &ref_17 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-workspaceArmPath - description: Workspace arm path of ApplicationGroup. - protocol: {} - - &ref_102 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_40 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchProperties-description - description: Description of ApplicationGroup. - protocol: {} - - &ref_41 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchProperties-friendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_42 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-appAlias - description: Alias of StartMenuItem. - protocol: {} - - &ref_43 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-friendlyName - description: Friendly name of StartMenuItem. - protocol: {} - - &ref_44 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-filePath - description: Path to the file of StartMenuItem. - protocol: {} - - &ref_45 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-commandLineArguments - description: Command line arguments for StartMenuItem. - protocol: {} - - &ref_46 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-iconPath - description: Path to the icon. - protocol: {} - - &ref_105 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_48 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-description - description: Description of Application. - protocol: {} - - &ref_49 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-friendlyName - description: Friendly name of Application. - protocol: {} - - &ref_50 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-filePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_52 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-commandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_54 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-iconPath - description: Path to icon. - protocol: {} - - &ref_55 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-iconHash - description: Hash of the icon. - protocol: {} - - &ref_108 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-description - description: Description of Application. - protocol: {} - - &ref_109 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-friendlyName - description: Friendly name of Application. - protocol: {} - - &ref_110 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-filePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_111 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-commandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_112 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-iconPath - description: Path to icon. - protocol: {} - - &ref_114 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_57 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-description - description: Description of Desktop. - protocol: {} - - &ref_58 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-friendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_59 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-iconHash - description: Hash of the icon. - protocol: {} - - &ref_116 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchProperties-description - description: Description of Desktop. - protocol: {} - - &ref_117 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchProperties-friendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_119 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_19 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-friendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_20 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-description - description: Description of HostPool. - protocol: {} - - &ref_23 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-customRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_29 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: RegistrationInfo-token - description: The registration token base64 encoded string. - protocol: {} - - &ref_31 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-vmTemplate - description: VM template for sessionhosts configuration within hostpool. - protocol: {} - - &ref_32 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-applicationGroupReferencesItem - description: '' - protocol: {} - - &ref_33 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-ssoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_61 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-friendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_62 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-description - description: Description of HostPool. - protocol: {} - - &ref_63 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-customRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_64 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-ssoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_124 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_65 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionProperties-userPrincipalName - description: The user principal name. - protocol: {} - - &ref_68 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionProperties-activeDirectoryUserName - description: The active directory user name. - protocol: {} - - &ref_125 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_235 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 48 - minLength: 3 - language: - default: - name: string - description: '' - protocol: {} - - &ref_72 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-agentVersion - description: Version of agent on SessionHost. - protocol: {} - - &ref_74 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-assignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_77 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-osVersion - description: The version of the OS on the session host. - protocol: {} - - &ref_78 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-sxSStackVersion - description: The version of the side by side stack on the session host. - protocol: {} - - &ref_81 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-updateErrorMessage - description: The error message. - protocol: {} - - &ref_82 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPatchProperties-assignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_129 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_236 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 1 - language: - default: - name: string - description: '' - protocol: {} - - &ref_130 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessage-messageTitle - description: Title of message. - protocol: {} - - &ref_131 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessage-messageBody - description: Body of message. - protocol: {} - choices: - - &ref_18 - choices: - - value: RemoteApp - language: - default: - name: RemoteApp - description: '' - cli: - cliKey: RemoteApp - - value: Desktop - language: - default: - name: Desktop - description: '' - cli: - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationGroupType - description: Resource Type of ApplicationGroup. - cli: - cliKey: ApplicationGroupType - protocol: {} - - &ref_51 - choices: - - value: DoNotAllow - language: - default: - name: DoNotAllow - description: '' - cli: - cliKey: DoNotAllow - - value: Allow - language: - default: - name: Allow - description: '' - cli: - cliKey: Allow - - value: Require - language: - default: - name: Require - description: '' - cli: - cliKey: Require - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: CommandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - cliKey: CommandLineSetting - protocol: {} - - &ref_21 - choices: - - value: Personal - language: - default: - name: Personal - description: '' - cli: - cliKey: Personal - - value: Pooled - language: - default: - name: Pooled - description: '' - cli: - cliKey: Pooled - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: HostPoolType - description: HostPool type for desktop. - cli: - cliKey: HostPoolType - protocol: {} - - &ref_22 - choices: - - value: Automatic - language: - default: - name: Automatic - description: '' - cli: - cliKey: Automatic - - value: Direct - language: - default: - name: Direct - description: '' - cli: - cliKey: Direct - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: PersonalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cli: - cliKey: PersonalDesktopAssignmentType - protocol: {} - - &ref_25 - choices: - - value: BreadthFirst - language: - default: - name: BreadthFirst - description: '' - cli: - cliKey: BreadthFirst - - value: DepthFirst - language: - default: - name: DepthFirst - description: '' - cli: - cliKey: DepthFirst - - value: Persistent - language: - default: - name: Persistent - description: '' - cli: - cliKey: Persistent - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: LoadBalancerType - description: The type of the load balancer. - cli: - cliKey: LoadBalancerType - protocol: {} - - &ref_30 - choices: - - value: Delete - language: - default: - name: Delete - description: '' - cli: - cliKey: Delete - - value: None - language: - default: - name: None - description: '' - cli: - cliKey: None - - value: Update - language: - default: - name: Update - description: '' - cli: - cliKey: Update - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: RegistrationTokenOperation - description: The type of resetting the token. - cli: - cliKey: RegistrationTokenOperation - protocol: {} - - &ref_66 - choices: - - value: RemoteApp - language: - default: - name: RemoteApp - description: '' - cli: - cliKey: RemoteApp - - value: Desktop - language: - default: - name: Desktop - description: '' - cli: - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationType - description: Application type of application. - cli: - cliKey: ApplicationType - protocol: {} - - &ref_67 - choices: - - value: Unknown - language: - default: - name: Unknown - description: '' - cli: - cliKey: Unknown - - value: Active - language: - default: - name: Active - description: '' - cli: - cliKey: Active - - value: Disconnected - language: - default: - name: Disconnected - description: '' - cli: - cliKey: Disconnected - - value: Pending - language: - default: - name: Pending - description: '' - cli: - cliKey: Pending - - value: LogOff - language: - default: - name: LogOff - description: '' - cli: - cliKey: LogOff - - value: UserProfileDiskMounted - language: - default: - name: UserProfileDiskMounted - description: '' - cli: - cliKey: UserProfileDiskMounted - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: SessionState - description: State of user session. - cli: - cliKey: SessionState - protocol: {} - - &ref_75 - choices: - - value: Available - language: - default: - name: Available - description: '' - cli: - cliKey: Available - - value: Unavailable - language: - default: - name: Unavailable - description: '' - cli: - cliKey: Unavailable - - value: Shutdown - language: - default: - name: Shutdown - description: '' - cli: - cliKey: Shutdown - - value: Disconnected - language: - default: - name: Disconnected - description: '' - cli: - cliKey: Disconnected - - value: Upgrading - language: - default: - name: Upgrading - description: '' - cli: - cliKey: Upgrading - - value: UpgradeFailed - language: - default: - name: UpgradeFailed - description: '' - cli: - cliKey: UpgradeFailed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: Status - description: Status for a SessionHost. - cli: - cliKey: Status - protocol: {} - - &ref_79 - choices: - - value: Initial - language: - default: - name: Initial - description: '' - cli: - cliKey: Initial - - value: Pending - language: - default: - name: Pending - description: '' - cli: - cliKey: Pending - - value: Started - language: - default: - name: Started - description: '' - cli: - cliKey: Started - - value: Succeeded - language: - default: - name: Succeeded - description: '' - cli: - cliKey: Succeeded - - value: Failed - language: - default: - name: Failed - description: '' - cli: - cliKey: Failed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: UpdateState - description: Update state of a SessionHost. - cli: - cliKey: UpdateState - protocol: {} - constants: - - &ref_145 - type: constant - value: - value: 2019-12-10-preview - valueType: *ref_0 - language: - default: - name: ApiVersion-2019-12-10-preview - description: Api Version (2019-12-10-preview) - protocol: {} - - &ref_155 - type: constant - value: - value: application/json - valueType: *ref_0 - language: - default: - name: application/json - description: Content Type 'application/json' - protocol: {} - dictionaries: - - &ref_37 - type: dictionary - elementType: *ref_1 - language: - default: - name: TrackedResource-tags - description: Resource tags. - protocol: {} - any: - - &ref_39 - type: any - language: - default: - name: any - description: Any object - protocol: {} - byteArrays: - - &ref_56 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-iconContent - description: the icon a 64 bit string as a byte array. - protocol: {} - - &ref_60 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-iconContent - description: The icon a 64 bit string as a byte array. - protocol: {} - dateTimes: - - &ref_28 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: RegistrationInfo-expirationTime - description: Expiration time of registration token. - protocol: {} - - &ref_69 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionProperties-createTime - description: The timestamp of the user session create. - protocol: {} - - &ref_70 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-lastHeartBeat - description: Last heart beat from SessionHost. - protocol: {} - - &ref_76 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-statusTimestamp - description: The timestamp of the status. - protocol: {} - - &ref_80 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-lastUpdateTime - description: The timestamp of the last update. - protocol: {} - objects: - - &ref_148 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_132 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: &ref_7 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_2 - serializedName: name - language: - default: - name: name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cli: - cliKey: name - protocol: {} - - schema: &ref_8 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_3 - serializedName: provider - language: - default: - name: provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cli: - cliKey: provider - protocol: {} - - schema: *ref_4 - serializedName: resource - language: - default: - name: resource - description: Resource on which the operation is performed. - cli: - cliKey: resource - protocol: {} - - schema: *ref_5 - serializedName: operation - language: - default: - name: operation - description: 'Type of operation: get, read, delete, etc.' - cli: - cliKey: operation - protocol: {} - - schema: *ref_6 - serializedName: description - language: - default: - name: description - description: Description of this operation. - cli: - cliKey: description - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperation-display - description: Display metadata associated with the operation. - namespace: '' - cli: - cliKey: ResourceProviderOperation-display - protocol: {} - serializedName: display - language: - default: - name: display - description: Display metadata associated with the operation. - cli: - cliKey: display - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperation - description: Supported operation of this resource provider. - namespace: '' - cli: - cliKey: ResourceProviderOperation - protocol: {} - language: - default: - name: ResourceProviderOperationList-value - description: List of operations supported by this resource provider. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of operations supported by this resource provider. - cli: - cliKey: value - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperationList - description: Result of the request to list operations. - namespace: '' - cli: - cliKey: ResourceProviderOperationList - protocol: {} - - *ref_7 - - *ref_8 - - &ref_10 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_9 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_34 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - schema: &ref_94 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_11 - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: - cliKey: description - protocol: {} - - schema: *ref_12 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Workspace. - cli: - cliKey: friendlyName - protocol: {} - - schema: &ref_133 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_13 - language: - default: - name: WorkspaceProperties-applicationGroupReferences - description: List of applicationGroup resource Ids. - protocol: {} - serializedName: applicationGroupReferences - language: - default: - name: applicationGroupReferences - description: List of applicationGroup resource Ids. - cli: - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: WorkspaceProperties - description: Schema for Workspace properties. - namespace: '' - cli: - cliKey: WorkspaceProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Workspace - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Workspace - description: Represents a Workspace definition. - namespace: '' - cli: - cliKey: Workspace - protocol: {} - - &ref_35 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - schema: &ref_103 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_14 - required: false - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: - cliKey: description - protocol: {} - - schema: *ref_15 - required: false - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of ApplicationGroup. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_16 - required: true - serializedName: hostPoolArmPath - language: - default: - name: hostPoolArmPath - description: HostPool arm path of ApplicationGroup. - cli: - cliKey: hostPoolArmPath - protocol: {} - - schema: *ref_17 - readOnly: true - required: false - serializedName: workspaceArmPath - language: - default: - name: workspaceArmPath - description: Workspace arm path of ApplicationGroup. - cli: - cliKey: workspaceArmPath - protocol: {} - - schema: *ref_18 - required: true - serializedName: applicationGroupType - language: - default: - name: applicationGroupType - description: Resource Type of ApplicationGroup. - cli: - cliKey: applicationGroupType - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationGroupProperties - description: Schema for ApplicationGroup properties. - namespace: '' - cli: - cliKey: ApplicationGroupProperties - protocol: {} - required: true - serializedName: properties - extensions: - x-ms-client-flatten: true - x-nullable: false - language: - default: - name: properties - description: Detailed properties for ApplicationGroup - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationGroup - description: Represents a ApplicationGroup definition. - namespace: '' - cli: - cliKey: ApplicationGroup - protocol: {} - - &ref_36 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - schema: &ref_120 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_19 - required: false - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of HostPool. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_20 - required: false - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: - cliKey: description - protocol: {} - - schema: *ref_21 - required: true - serializedName: hostPoolType - language: - default: - name: hostPoolType - description: HostPool type for desktop. - cli: - cliKey: hostPoolType - protocol: {} - - schema: *ref_22 - required: true - serializedName: personalDesktopAssignmentType - language: - default: - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cli: - cliKey: personalDesktopAssignmentType - protocol: {} - - schema: *ref_23 - required: false - serializedName: customRdpProperty - language: - default: - name: customRdpProperty - description: Custom rdp property of HostPool. - cli: - cliKey: customRdpProperty - protocol: {} - - schema: *ref_24 - required: false - serializedName: maxSessionLimit - language: - default: - name: maxSessionLimit - description: The max session limit of HostPool. - cli: - cliKey: maxSessionLimit - protocol: {} - - schema: *ref_25 - required: true - serializedName: loadBalancerType - language: - default: - name: loadBalancerType - description: The type of the load balancer. - cli: - cliKey: loadBalancerType - protocol: {} - - schema: *ref_26 - required: false - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: - cliKey: ring - protocol: {} - - schema: *ref_27 - required: false - serializedName: validationEnvironment - language: - default: - name: validationEnvironment - description: Is validation environment. - cli: - cliKey: validationEnvironment - protocol: {} - - schema: &ref_121 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_28 - serializedName: expirationTime - language: - default: - name: expirationTime - description: Expiration time of registration token. - cli: - cliKey: expirationTime - protocol: {} - - schema: *ref_29 - serializedName: token - language: - default: - name: token - description: The registration token base64 encoded string. - cli: - cliKey: token - protocol: {} - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registrationTokenOperation - description: The type of resetting the token. - cli: - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: RegistrationInfo - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - cliKey: RegistrationInfo - protocol: {} - required: false - serializedName: registrationInfo - language: - default: - name: registrationInfo - description: The registration info of HostPool. - cli: - cliKey: registrationInfo - protocol: {} - - schema: *ref_31 - required: false - serializedName: vmTemplate - language: - default: - name: vmTemplate - description: VM template for sessionhosts configuration within hostpool. - cli: - cliKey: vmTemplate - protocol: {} - - schema: &ref_140 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_32 - language: - default: - name: HostPoolProperties-applicationGroupReferences - description: List of applicationGroup links. - protocol: {} - readOnly: true - required: false - serializedName: applicationGroupReferences - language: - default: - name: applicationGroupReferences - description: List of applicationGroup links. - cli: - cliKey: applicationGroupReferences - protocol: {} - - schema: *ref_33 - required: false - serializedName: ssoContext - language: - default: - name: ssoContext - description: Path to keyvault containing ssoContext secret. - cli: - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: HostPoolProperties - description: Properties of HostPool. - namespace: '' - cli: - cliKey: HostPoolProperties - protocol: {} - required: true - serializedName: properties - extensions: - x-ms-client-flatten: true - x-nullable: false - language: - default: - name: properties - description: Detailed properties for HostPool - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: HostPool - description: Represents a HostPool definition. - namespace: '' - cli: - cliKey: HostPool - protocol: {} - immediate: - - *ref_34 - - *ref_35 - - *ref_36 - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_37 - required: false - serializedName: tags - language: - default: - name: tags - description: Resource tags. - cli: - cliKey: tags - protocol: {} - - schema: *ref_38 - required: true - serializedName: location - language: - default: - name: location - description: The geo-location where the resource lives - cli: - cliKey: location - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: TrackedResource - description: The resource model definition for a ARM tracked top level resource - namespace: '' - cli: - cliKey: TrackedResource - protocol: {} - - *ref_34 - - *ref_35 - - &ref_83 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_104 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_40 - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: - cliKey: description - protocol: {} - - schema: *ref_41 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of ApplicationGroup. - cli: - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: ApplicationGroupPatchProperties - description: ApplicationGroup properties that can be patched. - namespace: '' - cli: - cliKey: ApplicationGroupPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: ApplicationGroup properties that can be patched. - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: ApplicationGroupPatch - description: ApplicationGroup properties that can be patched. - namespace: '' - cli: - cliKey: ApplicationGroupPatch - protocol: {} - - &ref_84 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_106 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_42 - serializedName: appAlias - language: - default: - name: appAlias - description: Alias of StartMenuItem. - cli: - cliKey: appAlias - protocol: {} - - schema: *ref_43 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of StartMenuItem. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_44 - serializedName: filePath - language: - default: - name: filePath - description: Path to the file of StartMenuItem. - cli: - cliKey: filePath - protocol: {} - - schema: *ref_45 - serializedName: commandLineArguments - language: - default: - name: commandLineArguments - description: Command line arguments for StartMenuItem. - cli: - cliKey: commandLineArguments - protocol: {} - - schema: *ref_46 - serializedName: iconPath - language: - default: - name: iconPath - description: Path to the icon. - cli: - cliKey: iconPath - protocol: {} - - schema: *ref_47 - serializedName: iconIndex - language: - default: - name: iconIndex - description: Index of the icon. - cli: - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: StartMenuItemProperties - description: Schema for StartMenuItem properties. - namespace: '' - cli: - cliKey: StartMenuItemProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for StartMenuItem - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: StartMenuItem - description: Represents a StartMenuItem definition. - namespace: '' - cli: - cliKey: StartMenuItem - protocol: {} - - &ref_85 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_107 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_48 - required: false - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: - cliKey: description - protocol: {} - - schema: *ref_49 - required: false - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Application. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_50 - required: false - serializedName: filePath - language: - default: - name: filePath - description: Specifies a path for the executable file for the application. - cli: - cliKey: filePath - protocol: {} - - schema: *ref_51 - required: true - serializedName: commandLineSetting - language: - default: - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - cliKey: commandLineSetting - protocol: {} - - schema: *ref_52 - required: false - serializedName: commandLineArguments - language: - default: - name: commandLineArguments - description: Command Line Arguments for Application. - cli: - cliKey: commandLineArguments - protocol: {} - - schema: *ref_53 - required: false - serializedName: showInPortal - language: - default: - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: - cliKey: showInPortal - protocol: {} - - schema: *ref_54 - required: false - serializedName: iconPath - language: - default: - name: iconPath - description: Path to icon. - cli: - cliKey: iconPath - protocol: {} - - schema: *ref_47 - required: false - serializedName: iconIndex - language: - default: - name: iconIndex - description: Index of the icon. - cli: - cliKey: iconIndex - protocol: {} - - schema: *ref_55 - readOnly: true - required: false - serializedName: iconHash - language: - default: - name: iconHash - description: Hash of the icon. - cli: - cliKey: iconHash - protocol: {} - - schema: *ref_56 - readOnly: true - required: false - serializedName: iconContent - language: - default: - name: iconContent - description: the icon a 64 bit string as a byte array. - cli: - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationProperties - description: Schema for Application properties. - namespace: '' - cli: - cliKey: ApplicationProperties - protocol: {} - required: true - serializedName: properties - extensions: - x-ms-client-flatten: true - x-nullable: false - language: - default: - name: properties - description: Detailed properties for Application - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Application - description: Schema for Application properties. - namespace: '' - cli: - cliKey: Application - protocol: {} - - &ref_86 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_115 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_57 - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: - cliKey: description - protocol: {} - - schema: *ref_58 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Desktop. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_59 - readOnly: true - serializedName: iconHash - language: - default: - name: iconHash - description: Hash of the icon. - cli: - cliKey: iconHash - protocol: {} - - schema: *ref_60 - readOnly: true - serializedName: iconContent - language: - default: - name: iconContent - description: The icon a 64 bit string as a byte array. - cli: - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: DesktopProperties - description: Schema for Desktop properties. - namespace: '' - cli: - cliKey: DesktopProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Desktop - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Desktop - description: Schema for Desktop properties. - namespace: '' - cli: - cliKey: Desktop - protocol: {} - - *ref_36 - - &ref_87 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_122 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_61 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of HostPool. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_62 - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: - cliKey: description - protocol: {} - - schema: *ref_63 - serializedName: customRdpProperty - language: - default: - name: customRdpProperty - description: Custom rdp property of HostPool. - cli: - cliKey: customRdpProperty - protocol: {} - - schema: *ref_24 - serializedName: maxSessionLimit - language: - default: - name: maxSessionLimit - description: The max session limit of HostPool. - cli: - cliKey: maxSessionLimit - protocol: {} - - schema: *ref_22 - serializedName: personalDesktopAssignmentType - language: - default: - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cli: - cliKey: personalDesktopAssignmentType - protocol: {} - - schema: *ref_25 - serializedName: loadBalancerType - language: - default: - name: loadBalancerType - description: The type of the load balancer. - cli: - cliKey: loadBalancerType - protocol: {} - - schema: *ref_26 - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: - cliKey: ring - protocol: {} - - schema: *ref_27 - serializedName: validationEnvironment - language: - default: - name: validationEnvironment - description: Is validation environment. - cli: - cliKey: validationEnvironment - protocol: {} - - schema: &ref_123 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registrationTokenOperation - description: The type of resetting the token. - cli: - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: RegistrationInfoPatch - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - cliKey: RegistrationInfoPatch - protocol: {} - serializedName: registrationInfo - language: - default: - name: registrationInfo - description: The registration info of HostPool. - cli: - cliKey: registrationInfo - protocol: {} - - schema: *ref_64 - serializedName: ssoContext - language: - default: - name: ssoContext - description: Path to keyvault containing ssoContext secret. - cli: - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: HostPoolPatchProperties - description: Properties of HostPool. - namespace: '' - cli: - cliKey: HostPoolPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: HostPool properties that can be patched. - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: HostPoolPatch - description: HostPool properties that can be patched. - namespace: '' - cli: - cliKey: HostPoolPatch - protocol: {} - - &ref_88 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_126 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_65 - serializedName: userPrincipalName - language: - default: - name: userPrincipalName - description: The user principal name. - cli: - cliKey: userPrincipalName - protocol: {} - - schema: *ref_66 - serializedName: applicationType - language: - default: - name: applicationType - description: Application type of application. - cli: - cliKey: applicationType - protocol: {} - - schema: *ref_67 - serializedName: sessionState - language: - default: - name: sessionState - description: State of user session. - cli: - cliKey: sessionState - protocol: {} - - schema: *ref_68 - serializedName: activeDirectoryUserName - language: - default: - name: activeDirectoryUserName - description: The active directory user name. - cli: - cliKey: activeDirectoryUserName - protocol: {} - - schema: *ref_69 - serializedName: createTime - language: - default: - name: createTime - description: The timestamp of the user session create. - cli: - cliKey: createTime - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: UserSessionProperties - description: Schema for UserSession properties. - namespace: '' - cli: - cliKey: UserSessionProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for UserSession - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: UserSession - description: Represents a UserSession definition. - namespace: '' - cli: - cliKey: UserSession - protocol: {} - - &ref_89 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_127 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_70 - serializedName: lastHeartBeat - language: - default: - name: lastHeartBeat - description: Last heart beat from SessionHost. - cli: - cliKey: lastHeartBeat - protocol: {} - - schema: *ref_71 - serializedName: sessions - language: - default: - name: sessions - description: Number of sessions on SessionHost. - cli: - cliKey: sessions - protocol: {} - - schema: *ref_72 - serializedName: agentVersion - language: - default: - name: agentVersion - description: Version of agent on SessionHost. - cli: - cliKey: agentVersion - protocol: {} - - schema: *ref_73 - serializedName: allowNewSession - language: - default: - name: allowNewSession - description: Allow a new session. - cli: - cliKey: allowNewSession - protocol: {} - - schema: *ref_74 - serializedName: assignedUser - language: - default: - name: assignedUser - description: User assigned to SessionHost. - cli: - cliKey: assignedUser - protocol: {} - - schema: *ref_75 - serializedName: status - language: - default: - name: status - description: Status for a SessionHost. - cli: - cliKey: status - protocol: {} - - schema: *ref_76 - readOnly: true - serializedName: statusTimestamp - language: - default: - name: statusTimestamp - description: The timestamp of the status. - cli: - cliKey: statusTimestamp - protocol: {} - - schema: *ref_77 - serializedName: osVersion - language: - default: - name: osVersion - description: The version of the OS on the session host. - cli: - cliKey: osVersion - protocol: {} - - schema: *ref_78 - serializedName: sxSStackVersion - language: - default: - name: sxSStackVersion - description: The version of the side by side stack on the session host. - cli: - cliKey: sxSStackVersion - protocol: {} - - schema: *ref_79 - serializedName: updateState - language: - default: - name: updateState - description: Update state of a SessionHost. - cli: - cliKey: updateState - protocol: {} - - schema: *ref_80 - readOnly: true - serializedName: lastUpdateTime - language: - default: - name: lastUpdateTime - description: The timestamp of the last update. - cli: - cliKey: lastUpdateTime - protocol: {} - - schema: *ref_81 - serializedName: updateErrorMessage - language: - default: - name: updateErrorMessage - description: The error message. - cli: - cliKey: updateErrorMessage - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: SessionHostProperties - description: Schema for SessionHost properties. - namespace: '' - cli: - cliKey: SessionHostProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for SessionHost - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: SessionHost - description: Represents a SessionHost definition. - namespace: '' - cli: - cliKey: SessionHost - protocol: {} - - &ref_90 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_128 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_73 - serializedName: allowNewSession - language: - default: - name: allowNewSession - description: Allow a new session. - cli: - cliKey: allowNewSession - protocol: {} - - schema: *ref_82 - serializedName: assignedUser - language: - default: - name: assignedUser - description: User assigned to SessionHost. - cli: - cliKey: assignedUser - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: SessionHostPatchProperties - description: SessionHost properties that can be patched. - namespace: '' - cli: - cliKey: SessionHostPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for SessionHost - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: SessionHostPatch - description: SessionHost properties that can be patched. - namespace: '' - cli: - cliKey: SessionHostPatch - protocol: {} - immediate: - - *ref_9 - - *ref_83 - - *ref_84 - - *ref_85 - - *ref_86 - - *ref_87 - - *ref_88 - - *ref_89 - - *ref_90 - properties: - - schema: *ref_91 - readOnly: true - serializedName: id - language: - default: - name: id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cli: - cliKey: id - protocol: {} - - schema: *ref_92 - readOnly: true - serializedName: name - language: - default: - name: name - description: The name of the resource - cli: - cliKey: name - protocol: {} - - schema: *ref_93 - readOnly: true - serializedName: type - language: - default: - name: type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cli: - cliKey: type - protocol: {} - serializationFormats: - - json - usage: - - output - - input - extensions: - x-ms-azure-resource: true - language: - default: - name: Resource - description: '' - namespace: '' - cli: - cliKey: Resource - protocol: {} - - *ref_9 - - *ref_34 - - *ref_94 - - &ref_154 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_95 - serializedName: code - language: - default: - name: code - description: Error code - cli: - cliKey: code - protocol: {} - - schema: *ref_96 - serializedName: message - language: - default: - name: message - description: Error message indicating why the operation failed. - cli: - cliKey: message - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: CloudError - description: Error response of an operation failure - namespace: '' - cli: - cliKey: CloudError - protocol: {} - - &ref_161 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_100 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_97 - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: - cliKey: description - protocol: {} - - schema: *ref_98 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Workspace. - cli: - cliKey: friendlyName - protocol: {} - - schema: &ref_134 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_99 - language: - default: - name: WorkspacePatchProperties-applicationGroupReferences - description: List of applicationGroup links. - protocol: {} - serializedName: applicationGroupReferences - language: - default: - name: applicationGroupReferences - description: List of applicationGroup links. - cli: - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: WorkspacePatchProperties - description: Workspace properties that can be patched. - namespace: '' - cli: - cliKey: WorkspacePatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Workspace - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: WorkspacePatch - description: Workspace properties that can be patched. - namespace: '' - cli: - cliKey: WorkspacePatch - protocol: {} - - *ref_100 - - &ref_166 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_135 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_34 - language: - default: - name: WorkspaceList-value - description: List of Workspace definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Workspace definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_101 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: WorkspaceList - usage: - - output - language: - default: - name: WorkspaceList - description: List of Workspace definitions. - namespace: '' - summary: WorkspaceList - cli: - cliKey: WorkspaceList - protocol: {} - - &ref_171 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_136 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_35 - language: - default: - name: ApplicationGroupList-value - description: List of ApplicationGroup definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of ApplicationGroup definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_102 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationGroupList - usage: - - output - language: - default: - name: ApplicationGroupList - description: List of ApplicationGroup definitions. - namespace: '' - summary: ApplicationGroupList - cli: - cliKey: ApplicationGroupList - protocol: {} - - *ref_35 - - *ref_103 - - *ref_83 - - *ref_104 - - &ref_187 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_137 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_84 - language: - default: - name: StartMenuItemList-value - description: List of StartMenuItem definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of StartMenuItem definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_105 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: StartMenuItemList - usage: - - output - language: - default: - name: StartMenuItemList - description: List of StartMenuItem definitions. - namespace: '' - summary: StartMenuItemList - cli: - cliKey: StartMenuItemList - protocol: {} - - *ref_84 - - *ref_106 - - *ref_85 - - *ref_107 - - &ref_198 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_113 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_108 - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: - cliKey: description - protocol: {} - - schema: *ref_109 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Application. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_110 - serializedName: filePath - language: - default: - name: filePath - description: Specifies a path for the executable file for the application. - cli: - cliKey: filePath - protocol: {} - - schema: *ref_51 - serializedName: commandLineSetting - language: - default: - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - cliKey: commandLineSetting - protocol: {} - - schema: *ref_111 - serializedName: commandLineArguments - language: - default: - name: commandLineArguments - description: Command Line Arguments for Application. - cli: - cliKey: commandLineArguments - protocol: {} - - schema: *ref_53 - serializedName: showInPortal - language: - default: - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: - cliKey: showInPortal - protocol: {} - - schema: *ref_112 - serializedName: iconPath - language: - default: - name: iconPath - description: Path to icon. - cli: - cliKey: iconPath - protocol: {} - - schema: *ref_47 - serializedName: iconIndex - language: - default: - name: iconIndex - description: Index of the icon. - cli: - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: ApplicationPatchProperties - description: Application properties that can be patched. - namespace: '' - cli: - cliKey: ApplicationPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Application - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: ApplicationPatch - description: Application properties that can be patched. - namespace: '' - cli: - cliKey: ApplicationPatch - protocol: {} - - *ref_113 - - &ref_205 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_138 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_85 - language: - default: - name: ApplicationList-value - description: List of Application definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Application definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_114 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationList - usage: - - output - language: - default: - name: ApplicationList - description: List of Application definitions. - namespace: '' - summary: ApplicationList - cli: - cliKey: ApplicationList - protocol: {} - - *ref_86 - - *ref_115 - - &ref_209 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_118 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_116 - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: - cliKey: description - protocol: {} - - schema: *ref_117 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Desktop. - cli: - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: DesktopPatchProperties - description: Desktop properties that can be patched. - namespace: '' - cli: - cliKey: DesktopPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Desktop - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: DesktopPatch - description: Desktop properties that can be patched. - namespace: '' - cli: - cliKey: DesktopPatch - protocol: {} - - *ref_118 - - &ref_216 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_139 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_86 - language: - default: - name: DesktopList-value - description: List of Desktop definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Desktop definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_119 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: DesktopList - usage: - - output - language: - default: - name: DesktopList - description: List of Desktop definitions. - namespace: '' - summary: DesktopList - cli: - cliKey: DesktopList - protocol: {} - - *ref_36 - - *ref_120 - - *ref_121 - - *ref_87 - - *ref_122 - - *ref_123 - - &ref_230 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_141 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_36 - language: - default: - name: HostPoolList-value - description: List of HostPool definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of HostPool definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_124 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: HostPoolList - usage: - - output - language: - default: - name: HostPoolList - description: List of HostPool definitions. - namespace: '' - summary: HostPoolList - cli: - cliKey: HostPoolList - protocol: {} - - &ref_234 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_142 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_88 - language: - default: - name: UserSessionList-value - description: List of UserSession definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of UserSession definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_125 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: UserSessionList - usage: - - output - language: - default: - name: UserSessionList - description: List of UserSession definitions. - namespace: '' - summary: UserSessionList - cli: - cliKey: UserSessionList - protocol: {} - - *ref_88 - - *ref_126 - - *ref_89 - - *ref_127 - - *ref_90 - - *ref_128 - - &ref_272 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_143 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_89 - language: - default: - name: SessionHostList-value - description: List of SessionHost definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of SessionHost definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_129 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: SessionHostList - usage: - - output - language: - default: - name: SessionHostList - description: List of SessionHost definitions. - namespace: '' - summary: SessionHostList - cli: - cliKey: SessionHostList - protocol: {} - - &ref_253 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_130 - serializedName: messageTitle - language: - default: - name: messageTitle - description: Title of message. - cli: - cliKey: messageTitle - protocol: {} - - schema: *ref_131 - serializedName: messageBody - language: - default: - name: messageBody - description: Body of message. - cli: - cliKey: messageBody - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: SendMessage - description: Represents message sent to a UserSession. - namespace: '' - cli: - cliKey: SendMessage - protocol: {} - arrays: - - *ref_132 - - *ref_133 - - *ref_134 - - *ref_135 - - *ref_136 - - *ref_137 - - *ref_138 - - *ref_139 - - *ref_140 - - *ref_141 - - *ref_142 - - *ref_143 -globalParameters: - - &ref_149 - schema: *ref_144 - implementation: Client - required: true - extensions: - x-ms-priority: 0 - language: - default: - name: subscriptionId - description: The ID of the target subscription. - serializedName: subscriptionId - cli: - cliKey: subscriptionId - protocol: - http: - in: path - - &ref_146 - schema: *ref_0 - clientDefaultValue: 'https://management.azure.com' - implementation: Client - origin: 'modelerfour:synthesized/host' - required: true - extensions: - x-ms-skip-url-encoding: true - language: - default: - name: $host - description: server parameter - serializedName: $host - cli: - cliKey: $host - protocol: - http: - in: uri - - &ref_147 - schema: *ref_145 - implementation: Client - origin: 'modelerfour:synthesized/api-version' - required: true - language: - default: - name: ApiVersion - description: Api Version - serializedName: api-version - cli: - cliKey: ApiVersion - protocol: - http: - in: query -operationGroups: - - $key: Operations - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: /providers/Microsoft.DesktopVirtualization/operations - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_148 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - extensions: - x-ms-examples: - OperationDescription_List: - parameters: - api-version: 2019-12-10-preview - responses: - '200': - body: - value: - - name: Microsoft.DesktopVirtualization/ssocontext/read - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - - name: Microsoft.DesktopVirtualization/ssocontext/write - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - language: - default: - name: List - description: List all of the available operations the Desktop Virtualization resource provider supports. - cli: - cliKey: List - protocol: {} - language: - default: - name: Operations - description: '' - cli: - cliKey: Operations - protocol: {} - - $key: Workspaces - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_152 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_153 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_152 - - *ref_153 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Get: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: Get - description: Get a workspace. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_157 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_158 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_156 - schema: *ref_34 - implementation: Method - required: true - language: - default: - name: workspace - description: Object containing Workspace definitions. - cli: - cliKey: workspace - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_156 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_157 - - *ref_158 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Create: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '201': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: CreateOrUpdate - description: Create or update a workspace. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_159 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_160 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_159 - - *ref_160 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Delete: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: Delete - description: Remove a workspace. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_163 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_164 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_162 - schema: *ref_161 - implementation: Method - required: false - language: - default: - name: workspace - description: Object containing Workspace definitions. - cli: - cliKey: workspace - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_162 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_163 - - *ref_164 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Update: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: Update - description: Update a workspace. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_165 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: - - *ref_165 - responses: - - schema: *ref_166 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByResourceGroup - description: List workspaces. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_166 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListBySubscription: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListBySubscription - description: List workspaces in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySubscription - protocol: {} - language: - default: - name: Workspaces - description: '' - cli: - cliKey: Workspaces - protocol: {} - - $key: ApplicationGroupAssignments - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_168 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_169 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - - &ref_170 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' - method: get - uri: '{$host}' - signatureParameters: - - *ref_168 - - *ref_169 - - *ref_170 - responses: - - schema: *ref_171 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroupAssignment_WorkspaceLevelList: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: WorkspaceLevelList - description: List application group that user can use. - paging: - nextLinkName: nextLink - cli: - cliKey: WorkspaceLevelList - protocol: {} - language: - default: - name: ApplicationGroupAssignments - description: '' - cli: - cliKey: ApplicationGroupAssignments - protocol: {} - - $key: ApplicationGroups - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_172 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_173 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_172 - - *ref_173 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: Get - description: Get an application group. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_175 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_176 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_174 - schema: *ref_35 - implementation: Method - required: true - language: - default: - name: applicationGroup - description: Object containing ApplicationGroup definitions. - cli: - cliKey: applicationGroup - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_174 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_175 - - *ref_176 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Create: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '201': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: CreateOrUpdate - description: Create or update an applicationGroup. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_177 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_178 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_177 - - *ref_178 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: Delete - description: Remove an applicationGroup. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_180 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_181 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_179 - schema: *ref_83 - implementation: Method - required: false - language: - default: - name: applicationGroup - description: Object containing ApplicationGroup definitions. - cli: - cliKey: applicationGroup - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_179 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_180 - - *ref_181 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroups_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: Update - description: Update an applicationGroup. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_182 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_183 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_182 - - *ref_183 - responses: - - schema: *ref_171 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_ListByResourceGroup: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByResourceGroup - description: List applicationGroups. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_184 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_184 - responses: - - schema: *ref_171 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_List: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListBySubscription - description: List applicationGroups in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySubscription - protocol: {} - language: - default: - name: ApplicationGroups - description: '' - cli: - cliKey: ApplicationGroups - protocol: {} - - $key: StartMenuItems - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_185 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_186 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' - method: get - uri: '{$host}' - signatureParameters: - - *ref_185 - - *ref_186 - responses: - - schema: *ref_187 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - StartMenuItem_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: application1 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 - properties: - appAlias: word - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - - name: application2 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 - properties: - appAlias: excel - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List start menu items in the given application group. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: StartMenuItems - description: '' - cli: - cliKey: StartMenuItems - protocol: {} - - $key: Applications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_188 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_189 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_190 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_188 - - *ref_189 - - *ref_190 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: Get - description: Get an application. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_192 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_193 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_194 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_191 - schema: *ref_85 - implementation: Method - required: true - language: - default: - name: application - description: Object containing Application definitions. - cli: - cliKey: application - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_191 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_192 - - *ref_193 - - *ref_194 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Create: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '201': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: CreateOrUpdate - description: Create or update an application. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_195 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_196 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_197 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_195 - - *ref_196 - - *ref_197 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '204': {} - language: - default: - name: Delete - description: Remove an application. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_200 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_201 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_202 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_199 - schema: *ref_198 - implementation: Method - required: false - language: - default: - name: application - description: Object containing Application definitions. - cli: - cliKey: application - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_199 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_200 - - *ref_201 - - *ref_202 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Update: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: Update - description: Update an application. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_203 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_204 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_203 - - *ref_204 - responses: - - schema: *ref_205 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Applications_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List applications. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: Applications - description: '' - cli: - cliKey: Applications - protocol: {} - - $key: Desktops - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_206 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_207 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_208 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: desktopName - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - cliKey: desktopName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_206 - - *ref_207 - - *ref_208 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: Get - description: Get a desktop. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_211 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_212 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_213 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: desktopName - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - cliKey: desktopName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_210 - schema: *ref_209 - implementation: Method - required: false - language: - default: - name: desktop - description: Object containing Desktop definitions. - cli: - cliKey: desktop - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_210 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_211 - - *ref_212 - - *ref_213 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktop: - properties: - description: des1 - friendlyName: friendly - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: Update - description: Update a desktop. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_214 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_215 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' - method: get - uri: '{$host}' - signatureParameters: - - *ref_214 - - *ref_215 - responses: - - schema: *ref_216 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: List - description: List desktops. - cli: - cliKey: List - protocol: {} - language: - default: - name: Desktops - description: '' - cli: - cliKey: Desktops - protocol: {} - - $key: HostPools - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_217 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_218 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_217 - - *ref_218 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: Get - description: Get a host pool. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_220 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_221 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_219 - schema: *ref_36 - implementation: Method - required: true - language: - default: - name: hostPool - description: Object containing HostPool definitions. - cli: - cliKey: hostPool - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_219 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_220 - - *ref_221 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Create: - parameters: - api-version: 2019-12-10-preview - hostPool: - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '201': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: CreateOrUpdate - description: Create or update a host pool. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_223 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_224 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_225 - schema: *ref_222 - implementation: Method - language: - default: - name: force - description: Force flag to delete sessionHost. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_223 - - *ref_224 - - *ref_225 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: Delete - description: Remove a host pool. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_227 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_228 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_226 - schema: *ref_87 - implementation: Method - required: false - language: - default: - name: hostPool - description: Object containing HostPool definitions. - cli: - cliKey: hostPool - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_226 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_227 - - *ref_228 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Update: - parameters: - api-version: 2019-12-10-preview - hostPool: - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-02T14:01:54.9571247Z' - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: Update - description: Update a host pool. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_229 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: - - *ref_229 - responses: - - schema: *ref_230 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByResourceGroup - description: List hostPools. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_230 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_List: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List hostPools in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: HostPools - description: '' - cli: - cliKey: HostPools - protocol: {} - - $key: UserSessions - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_231 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_232 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_233 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_231 - - *ref_232 - - *ref_233 - responses: - - schema: *ref_234 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_ListByHostPool: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByHostPool - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByHostPool - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_237 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_238 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_239 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_240 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_237 - - *ref_238 - - *ref_239 - - *ref_240 - responses: - - schema: *ref_88 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - body: - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - language: - default: - name: Get - description: Get a userSession. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_241 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_242 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_243 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_244 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - - &ref_245 - schema: *ref_222 - implementation: Method - language: - default: - name: force - description: Force flag to login off userSession. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_241 - - *ref_242 - - *ref_243 - - *ref_244 - - *ref_245 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - '204': {} - language: - default: - name: Delete - description: Remove a userSession. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_246 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_247 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_248 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_246 - - *ref_247 - - *ref_248 - responses: - - schema: *ref_234 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_249 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_250 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_251 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_252 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' - method: post - uri: '{$host}' - signatureParameters: - - *ref_249 - - *ref_250 - - *ref_251 - - *ref_252 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Disconnect_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: Disconnect - description: Disconnect a userSession. - cli: - cliKey: Disconnect - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_255 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_256 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_257 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_258 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_254 - schema: *ref_253 - implementation: Method - required: false - language: - default: - name: sendMessage - description: Object containing message includes title and message body - cli: - cliKey: sendMessage - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_254 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' - method: post - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_255 - - *ref_256 - - *ref_257 - - *ref_258 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_SendMessage_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sendMessage: - messageBody: body - messageTitle: title - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: SendMessage - description: Send a message to a user. - cli: - cliKey: SendMessage - protocol: {} - language: - default: - name: UserSessions - description: '' - cli: - cliKey: UserSessions - protocol: {} - - $key: SessionHosts - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_259 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_260 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_261 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_259 - - *ref_260 - - *ref_261 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: Get - description: Get a session host. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_262 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_263 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_264 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_265 - schema: *ref_222 - implementation: Method - language: - default: - name: force - description: Force flag to force sessionHost deletion even when userSession exists. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_262 - - *ref_263 - - *ref_264 - - *ref_265 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - '204': {} - language: - default: - name: Delete - description: Remove a SessionHost. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_267 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_268 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_269 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_266 - schema: *ref_90 - implementation: Method - required: false - language: - default: - name: sessionHost - description: Object containing SessionHost definitions. - cli: - cliKey: sessionHost - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_266 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_267 - - *ref_268 - - *ref_269 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Update: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHost: - properties: - allowNewSession: true - assignedUser: user1@microsoft.com - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2019-01-11T19:27:13.6108027Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2019-01-24T20:00:08.2893033Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: Update - description: Update a session host. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_270 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_271 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' - method: get - uri: '{$host}' - signatureParameters: - - *ref_270 - - *ref_271 - responses: - - schema: *ref_272 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - - name: sessionHost2.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user2@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List sessionHosts. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: SessionHosts - description: '' - cli: - cliKey: SessionHosts - protocol: {} - - $key: ActiveApplications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_273 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_274 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_275 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_276 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_273 - - *ref_274 - - *ref_275 - - *ref_276 - responses: - - schema: *ref_205 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ActiveApplications_List: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListBySessionHost - description: List applications for the given session host. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySessionHost - protocol: {} - language: - default: - name: ActiveApplications - description: '' - cli: - cliKey: ActiveApplications - protocol: {} -language: - default: - name: '' - description: '' -protocol: - http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000030-complex-marker-pre-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000030-complex-marker-pre-simplified.yaml deleted file mode 100644 index 9bfd969c1cb..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000030-complex-marker-pre-simplified.yaml +++ /dev/null @@ -1,1708 +0,0 @@ -operationGroups: - all: - - operationGroupName: Operations - cli: - cliKey: Operations - operations: - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - operationGroupName: Workspaces - cli: - cliKey: Workspaces - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - operationName: CreateOrUpdate - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: workspace(Workspace^object) - cli: - cliKey: workspace - bodySchema: Workspace - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: workspace(WorkspacePatch^object) - cli: - cliKey: workspace - bodySchema: WorkspacePatch - - operationName: ListByResourceGroup - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - operationName: ListBySubscription - cli: - cliKey: ListBySubscription - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - operationGroupName: ApplicationGroupAssignments - cli: - cliKey: ApplicationGroupAssignments - operations: - - operationName: WorkspaceLevelList - cli: - cliKey: WorkspaceLevelList - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - parameterName: $filter(string^string) - cli: - cliKey: $filter - - operationGroupName: ApplicationGroups - cli: - cliKey: ApplicationGroups - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationName: CreateOrUpdate - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: applicationGroup(ApplicationGroup^object) - cli: - cliKey: applicationGroup - bodySchema: ApplicationGroup - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: applicationGroup(ApplicationGroupPatch^object) - cli: - cliKey: applicationGroup - bodySchema: ApplicationGroupPatch - - operationName: ListByResourceGroup - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: $filter(string^string) - cli: - cliKey: $filter - - operationName: ListBySubscription - cli: - cliKey: ListBySubscription - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: $filter(string^string) - cli: - cliKey: $filter - - operationGroupName: StartMenuItems - cli: - cliKey: StartMenuItems - operations: - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: Applications - cli: - cliKey: Applications - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: applicationName(string^string) - cli: - cliKey: applicationName - - operationName: CreateOrUpdate - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: applicationName(string^string) - cli: - cliKey: applicationName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: application(Application^object) - cli: - cliKey: application - bodySchema: Application - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: applicationName(string^string) - cli: - cliKey: applicationName - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: applicationName(string^string) - cli: - cliKey: applicationName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: application(ApplicationPatch^object) - cli: - cliKey: application - bodySchema: ApplicationPatch - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: Desktops - cli: - cliKey: Desktops - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: desktopName(string^string) - cli: - cliKey: desktopName - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: desktopName(string^string) - cli: - cliKey: desktopName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: desktop(DesktopPatch^object) - cli: - cliKey: desktop - bodySchema: DesktopPatch - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: HostPools - cli: - cliKey: HostPools - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - operationName: CreateOrUpdate - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: hostPool(HostPool^object) - cli: - cliKey: hostPool - bodySchema: HostPool - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: hostPool(HostPoolPatch^object) - cli: - cliKey: hostPool - bodySchema: HostPoolPatch - - operationName: ListByResourceGroup - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - operationGroupName: UserSessions - cli: - cliKey: UserSessions - operations: - - operationName: ListByHostPool - cli: - cliKey: ListByHostPool - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: $filter(string^string) - cli: - cliKey: $filter - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: userSessionId(string^string) - cli: - cliKey: userSessionId - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: userSessionId(string^string) - cli: - cliKey: userSessionId - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - operationName: Disconnect - cli: - cliKey: Disconnect - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: userSessionId(string^string) - cli: - cliKey: userSessionId - - operationName: SendMessage - cli: - cliKey: SendMessage - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: userSessionId(string^string) - cli: - cliKey: userSessionId - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: sendMessage(SendMessage^object) - cli: - cliKey: sendMessage - bodySchema: SendMessage - - operationGroupName: SessionHosts - cli: - cliKey: SessionHosts - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: sessionHost(SessionHostPatch^object) - cli: - cliKey: sessionHost - bodySchema: SessionHostPatch - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - operationGroupName: ActiveApplications - cli: - cliKey: ActiveApplications - operations: - - operationName: ListBySessionHost - cli: - cliKey: ListBySessionHost - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: $filter(string^string) - cli: - cliKey: $filter -schemas: - objects: - all: - - schemaName: ResourceProviderOperationList - cli: - cliKey: ResourceProviderOperationList - properties: - - propertyName: value(ResourceProviderOperationList-value^array) - cli: - cliKey: value - - schemaName: ResourceProviderOperation - cli: - cliKey: ResourceProviderOperation - properties: - - propertyName: name(ResourceProviderOperation-name^string) - cli: - cliKey: name - - propertyName: display(ResourceProviderOperation-display^object) - cli: - cliKey: display - - schemaName: ResourceProviderOperation-display - cli: - cliKey: ResourceProviderOperation-display - properties: - - propertyName: provider(ResourceProviderOperation-display-provider^string) - cli: - cliKey: provider - - propertyName: resource(ResourceProviderOperation-display-resource^string) - cli: - cliKey: resource - - propertyName: operation(ResourceProviderOperation-display-operation^string) - cli: - cliKey: operation - - propertyName: description(ResourceProviderOperation-display-description^string) - cli: - cliKey: description - - schemaName: Resource - cli: - cliKey: Resource - properties: - - propertyName: id(Resource-id^string) - cli: - cliKey: id - readOnly: true - - propertyName: name(Resource-name^string) - cli: - cliKey: name - readOnly: true - - propertyName: type(Resource-type^string) - cli: - cliKey: type - readOnly: true - - schemaName: TrackedResource - cli: - cliKey: TrackedResource - properties: - - propertyName: tags(TrackedResource-tags^dictionary) - cli: - cliKey: tags - - propertyName: location(TrackedResource-location^string) - cli: - cliKey: location - - schemaName: Workspace - cli: - cliKey: Workspace - properties: - - propertyName: properties(WorkspaceProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: WorkspaceProperties - cli: - cliKey: WorkspaceProperties - properties: - - propertyName: description(WorkspaceProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(WorkspaceProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: applicationGroupReferences(WorkspaceProperties-applicationGroupReferences^array) - cli: - cliKey: applicationGroupReferences - - schemaName: CloudError - cli: - cliKey: CloudError - properties: - - propertyName: code(CloudError-code^string) - cli: - cliKey: code - - propertyName: message(CloudError-message^string) - cli: - cliKey: message - - schemaName: WorkspacePatch - cli: - cliKey: WorkspacePatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(WorkspacePatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: WorkspacePatchProperties - cli: - cliKey: WorkspacePatchProperties - properties: - - propertyName: description(WorkspacePatchProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(WorkspacePatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: applicationGroupReferences(WorkspacePatchProperties-applicationGroupReferences^array) - cli: - cliKey: applicationGroupReferences - - schemaName: WorkspaceList - cli: - cliKey: WorkspaceList - properties: - - propertyName: value(WorkspaceList-value^array) - cli: - cliKey: value - - propertyName: nextLink(WorkspaceList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: ApplicationGroupList - cli: - cliKey: ApplicationGroupList - properties: - - propertyName: value(ApplicationGroupList-value^array) - cli: - cliKey: value - - propertyName: nextLink(ApplicationGroupList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: ApplicationGroup - cli: - cliKey: ApplicationGroup - properties: - - propertyName: properties(ApplicationGroupProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: ApplicationGroupProperties - cli: - cliKey: ApplicationGroupProperties - properties: - - propertyName: description(ApplicationGroupProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(ApplicationGroupProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: hostPoolArmPath(ApplicationGroupProperties-hostPoolArmPath^string) - cli: - cliKey: hostPoolArmPath - - propertyName: workspaceArmPath(ApplicationGroupProperties-workspaceArmPath^string) - cli: - cliKey: workspaceArmPath - readOnly: true - - propertyName: applicationGroupType(ApplicationGroupType^choice) - cli: - cliKey: applicationGroupType - - schemaName: ApplicationGroupPatch - cli: - cliKey: ApplicationGroupPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(ApplicationGroupPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: ApplicationGroupPatchProperties - cli: - cliKey: ApplicationGroupPatchProperties - properties: - - propertyName: description(ApplicationGroupPatchProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(ApplicationGroupPatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - schemaName: StartMenuItemList - cli: - cliKey: StartMenuItemList - properties: - - propertyName: value(StartMenuItemList-value^array) - cli: - cliKey: value - - propertyName: nextLink(StartMenuItemList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: StartMenuItem - cli: - cliKey: StartMenuItem - properties: - - propertyName: properties(StartMenuItemProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: StartMenuItemProperties - cli: - cliKey: StartMenuItemProperties - properties: - - propertyName: appAlias(StartMenuItemProperties-appAlias^string) - cli: - cliKey: appAlias - - propertyName: friendlyName(StartMenuItemProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: filePath(StartMenuItemProperties-filePath^string) - cli: - cliKey: filePath - - propertyName: commandLineArguments(StartMenuItemProperties-commandLineArguments^string) - cli: - cliKey: commandLineArguments - - propertyName: iconPath(StartMenuItemProperties-iconPath^string) - cli: - cliKey: iconPath - - propertyName: iconIndex(integer^integer) - cli: - cliKey: iconIndex - - schemaName: Application - cli: - cliKey: Application - properties: - - propertyName: properties(ApplicationProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: ApplicationProperties - cli: - cliKey: ApplicationProperties - properties: - - propertyName: description(ApplicationProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(ApplicationProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: filePath(ApplicationProperties-filePath^string) - cli: - cliKey: filePath - - propertyName: commandLineSetting(CommandLineSetting^choice) - cli: - cliKey: commandLineSetting - - propertyName: commandLineArguments(ApplicationProperties-commandLineArguments^string) - cli: - cliKey: commandLineArguments - - propertyName: showInPortal(boolean^boolean) - cli: - cliKey: showInPortal - - propertyName: iconPath(ApplicationProperties-iconPath^string) - cli: - cliKey: iconPath - - propertyName: iconIndex(integer^integer) - cli: - cliKey: iconIndex - - propertyName: iconHash(ApplicationProperties-iconHash^string) - cli: - cliKey: iconHash - readOnly: true - - propertyName: iconContent(ApplicationProperties-iconContent^byte-array) - cli: - cliKey: iconContent - readOnly: true - - schemaName: ApplicationPatch - cli: - cliKey: ApplicationPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(ApplicationPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: ApplicationPatchProperties - cli: - cliKey: ApplicationPatchProperties - properties: - - propertyName: description(ApplicationPatchProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(ApplicationPatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: filePath(ApplicationPatchProperties-filePath^string) - cli: - cliKey: filePath - - propertyName: commandLineSetting(CommandLineSetting^choice) - cli: - cliKey: commandLineSetting - - propertyName: commandLineArguments(ApplicationPatchProperties-commandLineArguments^string) - cli: - cliKey: commandLineArguments - - propertyName: showInPortal(boolean^boolean) - cli: - cliKey: showInPortal - - propertyName: iconPath(ApplicationPatchProperties-iconPath^string) - cli: - cliKey: iconPath - - propertyName: iconIndex(integer^integer) - cli: - cliKey: iconIndex - - schemaName: ApplicationList - cli: - cliKey: ApplicationList - properties: - - propertyName: value(ApplicationList-value^array) - cli: - cliKey: value - - propertyName: nextLink(ApplicationList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: Desktop - cli: - cliKey: Desktop - properties: - - propertyName: properties(DesktopProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: DesktopProperties - cli: - cliKey: DesktopProperties - properties: - - propertyName: description(DesktopProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(DesktopProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: iconHash(DesktopProperties-iconHash^string) - cli: - cliKey: iconHash - readOnly: true - - propertyName: iconContent(DesktopProperties-iconContent^byte-array) - cli: - cliKey: iconContent - readOnly: true - - schemaName: DesktopPatch - cli: - cliKey: DesktopPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(DesktopPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: DesktopPatchProperties - cli: - cliKey: DesktopPatchProperties - properties: - - propertyName: description(DesktopPatchProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(DesktopPatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - schemaName: DesktopList - cli: - cliKey: DesktopList - properties: - - propertyName: value(DesktopList-value^array) - cli: - cliKey: value - - propertyName: nextLink(DesktopList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: HostPool - cli: - cliKey: HostPool - properties: - - propertyName: properties(HostPoolProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: HostPoolProperties - cli: - cliKey: HostPoolProperties - properties: - - propertyName: friendlyName(HostPoolProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: description(HostPoolProperties-description^string) - cli: - cliKey: description - - propertyName: hostPoolType(HostPoolType^choice) - cli: - cliKey: hostPoolType - - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) - cli: - cliKey: personalDesktopAssignmentType - - propertyName: customRdpProperty(HostPoolProperties-customRdpProperty^string) - cli: - cliKey: customRdpProperty - - propertyName: maxSessionLimit(integer^integer) - cli: - cliKey: maxSessionLimit - - propertyName: loadBalancerType(LoadBalancerType^choice) - cli: - cliKey: loadBalancerType - - propertyName: ring(integer^integer) - cli: - cliKey: ring - - propertyName: validationEnvironment(boolean^boolean) - cli: - cliKey: validationEnvironment - - propertyName: registrationInfo(RegistrationInfo^object) - cli: - cliKey: registrationInfo - - propertyName: vmTemplate(HostPoolProperties-vmTemplate^string) - cli: - cliKey: vmTemplate - - propertyName: applicationGroupReferences(HostPoolProperties-applicationGroupReferences^array) - cli: - cliKey: applicationGroupReferences - readOnly: true - - propertyName: ssoContext(HostPoolProperties-ssoContext^string) - cli: - cliKey: ssoContext - - schemaName: RegistrationInfo - cli: - cliKey: RegistrationInfo - properties: - - propertyName: expirationTime(RegistrationInfo-expirationTime^date-time) - cli: - cliKey: expirationTime - - propertyName: token(RegistrationInfo-token^string) - cli: - cliKey: token - - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) - cli: - cliKey: registrationTokenOperation - - schemaName: HostPoolPatch - cli: - cliKey: HostPoolPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(HostPoolPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: HostPoolPatchProperties - cli: - cliKey: HostPoolPatchProperties - properties: - - propertyName: friendlyName(HostPoolPatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: description(HostPoolPatchProperties-description^string) - cli: - cliKey: description - - propertyName: customRdpProperty(HostPoolPatchProperties-customRdpProperty^string) - cli: - cliKey: customRdpProperty - - propertyName: maxSessionLimit(integer^integer) - cli: - cliKey: maxSessionLimit - - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) - cli: - cliKey: personalDesktopAssignmentType - - propertyName: loadBalancerType(LoadBalancerType^choice) - cli: - cliKey: loadBalancerType - - propertyName: ring(integer^integer) - cli: - cliKey: ring - - propertyName: validationEnvironment(boolean^boolean) - cli: - cliKey: validationEnvironment - - propertyName: registrationInfo(RegistrationInfoPatch^object) - cli: - cliKey: registrationInfo - - propertyName: ssoContext(HostPoolPatchProperties-ssoContext^string) - cli: - cliKey: ssoContext - - schemaName: RegistrationInfoPatch - cli: - cliKey: RegistrationInfoPatch - properties: - - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) - cli: - cliKey: registrationTokenOperation - - schemaName: HostPoolList - cli: - cliKey: HostPoolList - properties: - - propertyName: value(HostPoolList-value^array) - cli: - cliKey: value - - propertyName: nextLink(HostPoolList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: UserSessionList - cli: - cliKey: UserSessionList - properties: - - propertyName: value(UserSessionList-value^array) - cli: - cliKey: value - - propertyName: nextLink(UserSessionList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: UserSession - cli: - cliKey: UserSession - properties: - - propertyName: properties(UserSessionProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: UserSessionProperties - cli: - cliKey: UserSessionProperties - properties: - - propertyName: userPrincipalName(UserSessionProperties-userPrincipalName^string) - cli: - cliKey: userPrincipalName - - propertyName: applicationType(ApplicationType^choice) - cli: - cliKey: applicationType - - propertyName: sessionState(SessionState^choice) - cli: - cliKey: sessionState - - propertyName: activeDirectoryUserName(UserSessionProperties-activeDirectoryUserName^string) - cli: - cliKey: activeDirectoryUserName - - propertyName: createTime(UserSessionProperties-createTime^date-time) - cli: - cliKey: createTime - - schemaName: SessionHost - cli: - cliKey: SessionHost - properties: - - propertyName: properties(SessionHostProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: SessionHostProperties - cli: - cliKey: SessionHostProperties - properties: - - propertyName: lastHeartBeat(SessionHostProperties-lastHeartBeat^date-time) - cli: - cliKey: lastHeartBeat - - propertyName: sessions(integer^integer) - cli: - cliKey: sessions - - propertyName: agentVersion(SessionHostProperties-agentVersion^string) - cli: - cliKey: agentVersion - - propertyName: allowNewSession(boolean^boolean) - cli: - cliKey: allowNewSession - - propertyName: assignedUser(SessionHostProperties-assignedUser^string) - cli: - cliKey: assignedUser - - propertyName: status(Status^choice) - cli: - cliKey: status - - propertyName: statusTimestamp(SessionHostProperties-statusTimestamp^date-time) - cli: - cliKey: statusTimestamp - readOnly: true - - propertyName: osVersion(SessionHostProperties-osVersion^string) - cli: - cliKey: osVersion - - propertyName: sxSStackVersion(SessionHostProperties-sxSStackVersion^string) - cli: - cliKey: sxSStackVersion - - propertyName: updateState(UpdateState^choice) - cli: - cliKey: updateState - - propertyName: lastUpdateTime(SessionHostProperties-lastUpdateTime^date-time) - cli: - cliKey: lastUpdateTime - readOnly: true - - propertyName: updateErrorMessage(SessionHostProperties-updateErrorMessage^string) - cli: - cliKey: updateErrorMessage - - schemaName: SessionHostPatch - cli: - cliKey: SessionHostPatch - properties: - - propertyName: properties(SessionHostPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: SessionHostPatchProperties - cli: - cliKey: SessionHostPatchProperties - properties: - - propertyName: allowNewSession(boolean^boolean) - cli: - cliKey: allowNewSession - - propertyName: assignedUser(SessionHostPatchProperties-assignedUser^string) - cli: - cliKey: assignedUser - - schemaName: SessionHostList - cli: - cliKey: SessionHostList - properties: - - propertyName: value(SessionHostList-value^array) - cli: - cliKey: value - - propertyName: nextLink(SessionHostList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: SendMessage - cli: - cliKey: SendMessage - properties: - - propertyName: messageTitle(SendMessage-messageTitle^string) - cli: - cliKey: messageTitle - - propertyName: messageBody(SendMessage-messageBody^string) - cli: - cliKey: messageBody - choices: - all: - - choiceName: ApplicationGroupType - cli: - cliKey: ApplicationGroupType - choiceValues: - - choiceValue: RemoteApp - cli: - cliKey: RemoteApp - - choiceValue: Desktop - cli: - cliKey: Desktop - - choiceName: CommandLineSetting - cli: - cliKey: CommandLineSetting - choiceValues: - - choiceValue: DoNotAllow - cli: - cliKey: DoNotAllow - - choiceValue: Allow - cli: - cliKey: Allow - - choiceValue: Require - cli: - cliKey: Require - - choiceName: HostPoolType - cli: - cliKey: HostPoolType - choiceValues: - - choiceValue: Personal - cli: - cliKey: Personal - - choiceValue: Pooled - cli: - cliKey: Pooled - - choiceName: PersonalDesktopAssignmentType - cli: - cliKey: PersonalDesktopAssignmentType - choiceValues: - - choiceValue: Automatic - cli: - cliKey: Automatic - - choiceValue: Direct - cli: - cliKey: Direct - - choiceName: LoadBalancerType - cli: - cliKey: LoadBalancerType - choiceValues: - - choiceValue: BreadthFirst - cli: - cliKey: BreadthFirst - - choiceValue: DepthFirst - cli: - cliKey: DepthFirst - - choiceValue: Persistent - cli: - cliKey: Persistent - - choiceName: RegistrationTokenOperation - cli: - cliKey: RegistrationTokenOperation - choiceValues: - - choiceValue: Delete - cli: - cliKey: Delete - - choiceValue: None - cli: - cliKey: None - - choiceValue: Update - cli: - cliKey: Update - - choiceName: ApplicationType - cli: - cliKey: ApplicationType - choiceValues: - - choiceValue: RemoteApp - cli: - cliKey: RemoteApp - - choiceValue: Desktop - cli: - cliKey: Desktop - - choiceName: SessionState - cli: - cliKey: SessionState - choiceValues: - - choiceValue: Unknown - cli: - cliKey: Unknown - - choiceValue: Active - cli: - cliKey: Active - - choiceValue: Disconnected - cli: - cliKey: Disconnected - - choiceValue: Pending - cli: - cliKey: Pending - - choiceValue: LogOff - cli: - cliKey: LogOff - - choiceValue: UserProfileDiskMounted - cli: - cliKey: UserProfileDiskMounted - - choiceName: Status - cli: - cliKey: Status - choiceValues: - - choiceValue: Available - cli: - cliKey: Available - - choiceValue: Unavailable - cli: - cliKey: Unavailable - - choiceValue: Shutdown - cli: - cliKey: Shutdown - - choiceValue: Disconnected - cli: - cliKey: Disconnected - - choiceValue: Upgrading - cli: - cliKey: Upgrading - - choiceValue: UpgradeFailed - cli: - cliKey: UpgradeFailed - - choiceName: UpdateState - cli: - cliKey: UpdateState - choiceValues: - - choiceValue: Initial - cli: - cliKey: Initial - - choiceValue: Pending - cli: - cliKey: Pending - - choiceValue: Started - cli: - cliKey: Started - - choiceValue: Succeeded - cli: - cliKey: Succeeded - - choiceValue: Failed - cli: - cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000030-complex-marker-pre.yaml b/src/desktopvirtualization/_az_debug/clicommon-000030-complex-marker-pre.yaml deleted file mode 100644 index fa2a6f2ee9f..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000030-complex-marker-pre.yaml +++ /dev/null @@ -1,9037 +0,0 @@ -info: - title: Desktop Virtualization API Client - extensions: - cli-dump-index: 30 -schemas: - booleans: - - &ref_53 - type: boolean - language: - default: - name: boolean - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - protocol: {} - - &ref_27 - type: boolean - language: - default: - name: boolean - description: Is validation environment. - protocol: {} - - &ref_222 - type: boolean - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: boolean - description: '' - protocol: {} - - &ref_73 - type: boolean - language: - default: - name: boolean - description: Allow a new session. - protocol: {} - numbers: - - &ref_47 - type: integer - precision: 32 - language: - default: - name: integer - description: Index of the icon. - protocol: {} - - &ref_24 - type: integer - precision: 32 - language: - default: - name: integer - description: The max session limit of HostPool. - protocol: {} - - &ref_26 - type: integer - precision: 32 - language: - default: - name: integer - description: The ring number of HostPool. - protocol: {} - - &ref_71 - type: integer - precision: 32 - language: - default: - name: integer - description: Number of sessions on SessionHost. - protocol: {} - strings: - - &ref_0 - type: string - language: - default: - name: string - description: simple string - protocol: {} - - &ref_2 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - protocol: {} - - &ref_3 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - protocol: {} - - &ref_4 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-resource - description: Resource on which the operation is performed. - protocol: {} - - &ref_5 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-operation - description: 'Type of operation: get, read, delete, etc.' - protocol: {} - - &ref_6 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-description - description: Description of this operation. - protocol: {} - - &ref_144 - type: string - apiVersions: - - version: '1.0' - minLength: 1 - language: - default: - name: string - description: '' - protocol: {} - - &ref_150 - type: string - apiVersions: - - version: '1.0' - maxLength: 90 - minLength: 1 - pattern: '^[-\w\._\(\)]+$' - language: - default: - name: string - description: '' - protocol: {} - - &ref_151 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 3 - language: - default: - name: string - description: '' - protocol: {} - - &ref_91 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: Resource-id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - protocol: {} - - &ref_92 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: Resource-name - description: The name of the resource - protocol: {} - - &ref_93 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: Resource-type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - protocol: {} - - &ref_1 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: string - description: '' - protocol: {} - - &ref_38 - type: string - apiVersions: - - version: '1.0' - extensions: - x-ms-mutability: - - read - - create - language: - default: - name: TrackedResource-location - description: The geo-location where the resource lives - protocol: {} - - &ref_11 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceProperties-description - description: Description of Workspace. - protocol: {} - - &ref_12 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceProperties-friendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_13 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceProperties-applicationGroupReferencesItem - description: '' - protocol: {} - - &ref_95 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudError-code - description: Error code - protocol: {} - - &ref_96 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudError-message - description: Error message indicating why the operation failed. - protocol: {} - - &ref_97 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchProperties-description - description: Description of Workspace. - protocol: {} - - &ref_98 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchProperties-friendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_99 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchProperties-applicationGroupReferencesItem - description: '' - protocol: {} - - &ref_101 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_167 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: string - description: '' - protocol: {} - - &ref_14 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-description - description: Description of ApplicationGroup. - protocol: {} - - &ref_15 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-friendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_16 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-hostPoolArmPath - description: HostPool arm path of ApplicationGroup. - protocol: {} - - &ref_17 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-workspaceArmPath - description: Workspace arm path of ApplicationGroup. - protocol: {} - - &ref_102 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_40 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchProperties-description - description: Description of ApplicationGroup. - protocol: {} - - &ref_41 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchProperties-friendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_42 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-appAlias - description: Alias of StartMenuItem. - protocol: {} - - &ref_43 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-friendlyName - description: Friendly name of StartMenuItem. - protocol: {} - - &ref_44 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-filePath - description: Path to the file of StartMenuItem. - protocol: {} - - &ref_45 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-commandLineArguments - description: Command line arguments for StartMenuItem. - protocol: {} - - &ref_46 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-iconPath - description: Path to the icon. - protocol: {} - - &ref_105 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_48 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-description - description: Description of Application. - protocol: {} - - &ref_49 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-friendlyName - description: Friendly name of Application. - protocol: {} - - &ref_50 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-filePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_52 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-commandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_54 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-iconPath - description: Path to icon. - protocol: {} - - &ref_55 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-iconHash - description: Hash of the icon. - protocol: {} - - &ref_108 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-description - description: Description of Application. - protocol: {} - - &ref_109 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-friendlyName - description: Friendly name of Application. - protocol: {} - - &ref_110 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-filePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_111 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-commandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_112 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-iconPath - description: Path to icon. - protocol: {} - - &ref_114 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_57 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-description - description: Description of Desktop. - protocol: {} - - &ref_58 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-friendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_59 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-iconHash - description: Hash of the icon. - protocol: {} - - &ref_116 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchProperties-description - description: Description of Desktop. - protocol: {} - - &ref_117 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchProperties-friendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_119 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_19 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-friendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_20 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-description - description: Description of HostPool. - protocol: {} - - &ref_23 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-customRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_29 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: RegistrationInfo-token - description: The registration token base64 encoded string. - protocol: {} - - &ref_31 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-vmTemplate - description: VM template for sessionhosts configuration within hostpool. - protocol: {} - - &ref_32 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-applicationGroupReferencesItem - description: '' - protocol: {} - - &ref_33 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-ssoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_61 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-friendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_62 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-description - description: Description of HostPool. - protocol: {} - - &ref_63 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-customRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_64 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-ssoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_124 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_65 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionProperties-userPrincipalName - description: The user principal name. - protocol: {} - - &ref_68 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionProperties-activeDirectoryUserName - description: The active directory user name. - protocol: {} - - &ref_125 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_235 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 48 - minLength: 3 - language: - default: - name: string - description: '' - protocol: {} - - &ref_72 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-agentVersion - description: Version of agent on SessionHost. - protocol: {} - - &ref_74 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-assignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_77 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-osVersion - description: The version of the OS on the session host. - protocol: {} - - &ref_78 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-sxSStackVersion - description: The version of the side by side stack on the session host. - protocol: {} - - &ref_81 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-updateErrorMessage - description: The error message. - protocol: {} - - &ref_82 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPatchProperties-assignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_129 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_236 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 1 - language: - default: - name: string - description: '' - protocol: {} - - &ref_130 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessage-messageTitle - description: Title of message. - protocol: {} - - &ref_131 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessage-messageBody - description: Body of message. - protocol: {} - choices: - - &ref_18 - choices: - - value: RemoteApp - language: - default: - name: RemoteApp - description: '' - cli: - cliKey: RemoteApp - - value: Desktop - language: - default: - name: Desktop - description: '' - cli: - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationGroupType - description: Resource Type of ApplicationGroup. - cli: - cliKey: ApplicationGroupType - protocol: {} - - &ref_51 - choices: - - value: DoNotAllow - language: - default: - name: DoNotAllow - description: '' - cli: - cliKey: DoNotAllow - - value: Allow - language: - default: - name: Allow - description: '' - cli: - cliKey: Allow - - value: Require - language: - default: - name: Require - description: '' - cli: - cliKey: Require - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: CommandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - cliKey: CommandLineSetting - protocol: {} - - &ref_21 - choices: - - value: Personal - language: - default: - name: Personal - description: '' - cli: - cliKey: Personal - - value: Pooled - language: - default: - name: Pooled - description: '' - cli: - cliKey: Pooled - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: HostPoolType - description: HostPool type for desktop. - cli: - cliKey: HostPoolType - protocol: {} - - &ref_22 - choices: - - value: Automatic - language: - default: - name: Automatic - description: '' - cli: - cliKey: Automatic - - value: Direct - language: - default: - name: Direct - description: '' - cli: - cliKey: Direct - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: PersonalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cli: - cliKey: PersonalDesktopAssignmentType - protocol: {} - - &ref_25 - choices: - - value: BreadthFirst - language: - default: - name: BreadthFirst - description: '' - cli: - cliKey: BreadthFirst - - value: DepthFirst - language: - default: - name: DepthFirst - description: '' - cli: - cliKey: DepthFirst - - value: Persistent - language: - default: - name: Persistent - description: '' - cli: - cliKey: Persistent - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: LoadBalancerType - description: The type of the load balancer. - cli: - cliKey: LoadBalancerType - protocol: {} - - &ref_30 - choices: - - value: Delete - language: - default: - name: Delete - description: '' - cli: - cliKey: Delete - - value: None - language: - default: - name: None - description: '' - cli: - cliKey: None - - value: Update - language: - default: - name: Update - description: '' - cli: - cliKey: Update - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: RegistrationTokenOperation - description: The type of resetting the token. - cli: - cliKey: RegistrationTokenOperation - protocol: {} - - &ref_66 - choices: - - value: RemoteApp - language: - default: - name: RemoteApp - description: '' - cli: - cliKey: RemoteApp - - value: Desktop - language: - default: - name: Desktop - description: '' - cli: - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationType - description: Application type of application. - cli: - cliKey: ApplicationType - protocol: {} - - &ref_67 - choices: - - value: Unknown - language: - default: - name: Unknown - description: '' - cli: - cliKey: Unknown - - value: Active - language: - default: - name: Active - description: '' - cli: - cliKey: Active - - value: Disconnected - language: - default: - name: Disconnected - description: '' - cli: - cliKey: Disconnected - - value: Pending - language: - default: - name: Pending - description: '' - cli: - cliKey: Pending - - value: LogOff - language: - default: - name: LogOff - description: '' - cli: - cliKey: LogOff - - value: UserProfileDiskMounted - language: - default: - name: UserProfileDiskMounted - description: '' - cli: - cliKey: UserProfileDiskMounted - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: SessionState - description: State of user session. - cli: - cliKey: SessionState - protocol: {} - - &ref_75 - choices: - - value: Available - language: - default: - name: Available - description: '' - cli: - cliKey: Available - - value: Unavailable - language: - default: - name: Unavailable - description: '' - cli: - cliKey: Unavailable - - value: Shutdown - language: - default: - name: Shutdown - description: '' - cli: - cliKey: Shutdown - - value: Disconnected - language: - default: - name: Disconnected - description: '' - cli: - cliKey: Disconnected - - value: Upgrading - language: - default: - name: Upgrading - description: '' - cli: - cliKey: Upgrading - - value: UpgradeFailed - language: - default: - name: UpgradeFailed - description: '' - cli: - cliKey: UpgradeFailed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: Status - description: Status for a SessionHost. - cli: - cliKey: Status - protocol: {} - - &ref_79 - choices: - - value: Initial - language: - default: - name: Initial - description: '' - cli: - cliKey: Initial - - value: Pending - language: - default: - name: Pending - description: '' - cli: - cliKey: Pending - - value: Started - language: - default: - name: Started - description: '' - cli: - cliKey: Started - - value: Succeeded - language: - default: - name: Succeeded - description: '' - cli: - cliKey: Succeeded - - value: Failed - language: - default: - name: Failed - description: '' - cli: - cliKey: Failed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: UpdateState - description: Update state of a SessionHost. - cli: - cliKey: UpdateState - protocol: {} - constants: - - &ref_145 - type: constant - value: - value: 2019-12-10-preview - valueType: *ref_0 - language: - default: - name: ApiVersion-2019-12-10-preview - description: Api Version (2019-12-10-preview) - protocol: {} - - &ref_155 - type: constant - value: - value: application/json - valueType: *ref_0 - language: - default: - name: application/json - description: Content Type 'application/json' - protocol: {} - dictionaries: - - &ref_37 - type: dictionary - elementType: *ref_1 - language: - default: - name: TrackedResource-tags - description: Resource tags. - protocol: {} - any: - - &ref_39 - type: any - language: - default: - name: any - description: Any object - protocol: {} - byteArrays: - - &ref_56 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-iconContent - description: the icon a 64 bit string as a byte array. - protocol: {} - - &ref_60 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-iconContent - description: The icon a 64 bit string as a byte array. - protocol: {} - dateTimes: - - &ref_28 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: RegistrationInfo-expirationTime - description: Expiration time of registration token. - protocol: {} - - &ref_69 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionProperties-createTime - description: The timestamp of the user session create. - protocol: {} - - &ref_70 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-lastHeartBeat - description: Last heart beat from SessionHost. - protocol: {} - - &ref_76 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-statusTimestamp - description: The timestamp of the status. - protocol: {} - - &ref_80 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-lastUpdateTime - description: The timestamp of the last update. - protocol: {} - objects: - - &ref_148 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_132 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: &ref_7 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_2 - serializedName: name - language: - default: - name: name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cli: - cliKey: name - protocol: {} - - schema: &ref_8 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_3 - serializedName: provider - language: - default: - name: provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cli: - cliKey: provider - protocol: {} - - schema: *ref_4 - serializedName: resource - language: - default: - name: resource - description: Resource on which the operation is performed. - cli: - cliKey: resource - protocol: {} - - schema: *ref_5 - serializedName: operation - language: - default: - name: operation - description: 'Type of operation: get, read, delete, etc.' - cli: - cliKey: operation - protocol: {} - - schema: *ref_6 - serializedName: description - language: - default: - name: description - description: Description of this operation. - cli: - cliKey: description - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperation-display - description: Display metadata associated with the operation. - namespace: '' - cli: - cliKey: ResourceProviderOperation-display - protocol: {} - serializedName: display - language: - default: - name: display - description: Display metadata associated with the operation. - cli: - cliKey: display - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperation - description: Supported operation of this resource provider. - namespace: '' - cli: - cliKey: ResourceProviderOperation - protocol: {} - language: - default: - name: ResourceProviderOperationList-value - description: List of operations supported by this resource provider. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of operations supported by this resource provider. - cli: - cliKey: value - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperationList - description: Result of the request to list operations. - namespace: '' - cli: - cliKey: ResourceProviderOperationList - protocol: {} - - *ref_7 - - *ref_8 - - &ref_10 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_9 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_34 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - schema: &ref_94 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_11 - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: - cliKey: description - protocol: {} - - schema: *ref_12 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Workspace. - cli: - cliKey: friendlyName - protocol: {} - - schema: &ref_133 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_13 - language: - default: - name: WorkspaceProperties-applicationGroupReferences - description: List of applicationGroup resource Ids. - protocol: {} - serializedName: applicationGroupReferences - language: - default: - name: applicationGroupReferences - description: List of applicationGroup resource Ids. - cli: - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: WorkspaceProperties - description: Schema for Workspace properties. - namespace: '' - cli: - cliKey: WorkspaceProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Workspace - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Workspace - description: Represents a Workspace definition. - namespace: '' - cli: - cliKey: Workspace - protocol: {} - - &ref_35 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - schema: &ref_103 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_14 - required: false - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: - cliKey: description - protocol: {} - - schema: *ref_15 - required: false - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of ApplicationGroup. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_16 - required: true - serializedName: hostPoolArmPath - language: - default: - name: hostPoolArmPath - description: HostPool arm path of ApplicationGroup. - cli: - cliKey: hostPoolArmPath - protocol: {} - - schema: *ref_17 - readOnly: true - required: false - serializedName: workspaceArmPath - language: - default: - name: workspaceArmPath - description: Workspace arm path of ApplicationGroup. - cli: - cliKey: workspaceArmPath - protocol: {} - - schema: *ref_18 - required: true - serializedName: applicationGroupType - language: - default: - name: applicationGroupType - description: Resource Type of ApplicationGroup. - cli: - cliKey: applicationGroupType - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationGroupProperties - description: Schema for ApplicationGroup properties. - namespace: '' - cli: - cliKey: ApplicationGroupProperties - protocol: {} - required: true - serializedName: properties - extensions: - x-ms-client-flatten: true - x-nullable: false - language: - default: - name: properties - description: Detailed properties for ApplicationGroup - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationGroup - description: Represents a ApplicationGroup definition. - namespace: '' - cli: - cliKey: ApplicationGroup - protocol: {} - - &ref_36 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - schema: &ref_120 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_19 - required: false - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of HostPool. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_20 - required: false - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: - cliKey: description - protocol: {} - - schema: *ref_21 - required: true - serializedName: hostPoolType - language: - default: - name: hostPoolType - description: HostPool type for desktop. - cli: - cliKey: hostPoolType - protocol: {} - - schema: *ref_22 - required: true - serializedName: personalDesktopAssignmentType - language: - default: - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cli: - cliKey: personalDesktopAssignmentType - protocol: {} - - schema: *ref_23 - required: false - serializedName: customRdpProperty - language: - default: - name: customRdpProperty - description: Custom rdp property of HostPool. - cli: - cliKey: customRdpProperty - protocol: {} - - schema: *ref_24 - required: false - serializedName: maxSessionLimit - language: - default: - name: maxSessionLimit - description: The max session limit of HostPool. - cli: - cliKey: maxSessionLimit - protocol: {} - - schema: *ref_25 - required: true - serializedName: loadBalancerType - language: - default: - name: loadBalancerType - description: The type of the load balancer. - cli: - cliKey: loadBalancerType - protocol: {} - - schema: *ref_26 - required: false - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: - cliKey: ring - protocol: {} - - schema: *ref_27 - required: false - serializedName: validationEnvironment - language: - default: - name: validationEnvironment - description: Is validation environment. - cli: - cliKey: validationEnvironment - protocol: {} - - schema: &ref_121 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_28 - serializedName: expirationTime - language: - default: - name: expirationTime - description: Expiration time of registration token. - cli: - cliKey: expirationTime - protocol: {} - - schema: *ref_29 - serializedName: token - language: - default: - name: token - description: The registration token base64 encoded string. - cli: - cliKey: token - protocol: {} - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registrationTokenOperation - description: The type of resetting the token. - cli: - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: RegistrationInfo - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - cliKey: RegistrationInfo - protocol: {} - required: false - serializedName: registrationInfo - language: - default: - name: registrationInfo - description: The registration info of HostPool. - cli: - cliKey: registrationInfo - protocol: {} - - schema: *ref_31 - required: false - serializedName: vmTemplate - language: - default: - name: vmTemplate - description: VM template for sessionhosts configuration within hostpool. - cli: - cliKey: vmTemplate - protocol: {} - - schema: &ref_140 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_32 - language: - default: - name: HostPoolProperties-applicationGroupReferences - description: List of applicationGroup links. - protocol: {} - readOnly: true - required: false - serializedName: applicationGroupReferences - language: - default: - name: applicationGroupReferences - description: List of applicationGroup links. - cli: - cliKey: applicationGroupReferences - protocol: {} - - schema: *ref_33 - required: false - serializedName: ssoContext - language: - default: - name: ssoContext - description: Path to keyvault containing ssoContext secret. - cli: - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: HostPoolProperties - description: Properties of HostPool. - namespace: '' - cli: - cliKey: HostPoolProperties - protocol: {} - required: true - serializedName: properties - extensions: - x-ms-client-flatten: true - x-nullable: false - language: - default: - name: properties - description: Detailed properties for HostPool - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: HostPool - description: Represents a HostPool definition. - namespace: '' - cli: - cliKey: HostPool - protocol: {} - immediate: - - *ref_34 - - *ref_35 - - *ref_36 - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_37 - required: false - serializedName: tags - language: - default: - name: tags - description: Resource tags. - cli: - cliKey: tags - protocol: {} - - schema: *ref_38 - required: true - serializedName: location - language: - default: - name: location - description: The geo-location where the resource lives - cli: - cliKey: location - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: TrackedResource - description: The resource model definition for a ARM tracked top level resource - namespace: '' - cli: - cliKey: TrackedResource - protocol: {} - - *ref_34 - - *ref_35 - - &ref_83 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_104 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_40 - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: - cliKey: description - protocol: {} - - schema: *ref_41 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of ApplicationGroup. - cli: - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: ApplicationGroupPatchProperties - description: ApplicationGroup properties that can be patched. - namespace: '' - cli: - cliKey: ApplicationGroupPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: ApplicationGroup properties that can be patched. - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: ApplicationGroupPatch - description: ApplicationGroup properties that can be patched. - namespace: '' - cli: - cliKey: ApplicationGroupPatch - protocol: {} - - &ref_84 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_106 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_42 - serializedName: appAlias - language: - default: - name: appAlias - description: Alias of StartMenuItem. - cli: - cliKey: appAlias - protocol: {} - - schema: *ref_43 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of StartMenuItem. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_44 - serializedName: filePath - language: - default: - name: filePath - description: Path to the file of StartMenuItem. - cli: - cliKey: filePath - protocol: {} - - schema: *ref_45 - serializedName: commandLineArguments - language: - default: - name: commandLineArguments - description: Command line arguments for StartMenuItem. - cli: - cliKey: commandLineArguments - protocol: {} - - schema: *ref_46 - serializedName: iconPath - language: - default: - name: iconPath - description: Path to the icon. - cli: - cliKey: iconPath - protocol: {} - - schema: *ref_47 - serializedName: iconIndex - language: - default: - name: iconIndex - description: Index of the icon. - cli: - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: StartMenuItemProperties - description: Schema for StartMenuItem properties. - namespace: '' - cli: - cliKey: StartMenuItemProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for StartMenuItem - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: StartMenuItem - description: Represents a StartMenuItem definition. - namespace: '' - cli: - cliKey: StartMenuItem - protocol: {} - - &ref_85 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_107 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_48 - required: false - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: - cliKey: description - protocol: {} - - schema: *ref_49 - required: false - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Application. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_50 - required: false - serializedName: filePath - language: - default: - name: filePath - description: Specifies a path for the executable file for the application. - cli: - cliKey: filePath - protocol: {} - - schema: *ref_51 - required: true - serializedName: commandLineSetting - language: - default: - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - cliKey: commandLineSetting - protocol: {} - - schema: *ref_52 - required: false - serializedName: commandLineArguments - language: - default: - name: commandLineArguments - description: Command Line Arguments for Application. - cli: - cliKey: commandLineArguments - protocol: {} - - schema: *ref_53 - required: false - serializedName: showInPortal - language: - default: - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: - cliKey: showInPortal - protocol: {} - - schema: *ref_54 - required: false - serializedName: iconPath - language: - default: - name: iconPath - description: Path to icon. - cli: - cliKey: iconPath - protocol: {} - - schema: *ref_47 - required: false - serializedName: iconIndex - language: - default: - name: iconIndex - description: Index of the icon. - cli: - cliKey: iconIndex - protocol: {} - - schema: *ref_55 - readOnly: true - required: false - serializedName: iconHash - language: - default: - name: iconHash - description: Hash of the icon. - cli: - cliKey: iconHash - protocol: {} - - schema: *ref_56 - readOnly: true - required: false - serializedName: iconContent - language: - default: - name: iconContent - description: the icon a 64 bit string as a byte array. - cli: - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationProperties - description: Schema for Application properties. - namespace: '' - cli: - cliKey: ApplicationProperties - protocol: {} - required: true - serializedName: properties - extensions: - x-ms-client-flatten: true - x-nullable: false - language: - default: - name: properties - description: Detailed properties for Application - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Application - description: Schema for Application properties. - namespace: '' - cli: - cliKey: Application - protocol: {} - - &ref_86 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_115 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_57 - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: - cliKey: description - protocol: {} - - schema: *ref_58 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Desktop. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_59 - readOnly: true - serializedName: iconHash - language: - default: - name: iconHash - description: Hash of the icon. - cli: - cliKey: iconHash - protocol: {} - - schema: *ref_60 - readOnly: true - serializedName: iconContent - language: - default: - name: iconContent - description: The icon a 64 bit string as a byte array. - cli: - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: DesktopProperties - description: Schema for Desktop properties. - namespace: '' - cli: - cliKey: DesktopProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Desktop - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Desktop - description: Schema for Desktop properties. - namespace: '' - cli: - cliKey: Desktop - protocol: {} - - *ref_36 - - &ref_87 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_122 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_61 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of HostPool. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_62 - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: - cliKey: description - protocol: {} - - schema: *ref_63 - serializedName: customRdpProperty - language: - default: - name: customRdpProperty - description: Custom rdp property of HostPool. - cli: - cliKey: customRdpProperty - protocol: {} - - schema: *ref_24 - serializedName: maxSessionLimit - language: - default: - name: maxSessionLimit - description: The max session limit of HostPool. - cli: - cliKey: maxSessionLimit - protocol: {} - - schema: *ref_22 - serializedName: personalDesktopAssignmentType - language: - default: - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cli: - cliKey: personalDesktopAssignmentType - protocol: {} - - schema: *ref_25 - serializedName: loadBalancerType - language: - default: - name: loadBalancerType - description: The type of the load balancer. - cli: - cliKey: loadBalancerType - protocol: {} - - schema: *ref_26 - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: - cliKey: ring - protocol: {} - - schema: *ref_27 - serializedName: validationEnvironment - language: - default: - name: validationEnvironment - description: Is validation environment. - cli: - cliKey: validationEnvironment - protocol: {} - - schema: &ref_123 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registrationTokenOperation - description: The type of resetting the token. - cli: - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: RegistrationInfoPatch - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - cliKey: RegistrationInfoPatch - protocol: {} - serializedName: registrationInfo - language: - default: - name: registrationInfo - description: The registration info of HostPool. - cli: - cliKey: registrationInfo - protocol: {} - - schema: *ref_64 - serializedName: ssoContext - language: - default: - name: ssoContext - description: Path to keyvault containing ssoContext secret. - cli: - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: HostPoolPatchProperties - description: Properties of HostPool. - namespace: '' - cli: - cliKey: HostPoolPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: HostPool properties that can be patched. - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: HostPoolPatch - description: HostPool properties that can be patched. - namespace: '' - cli: - cliKey: HostPoolPatch - protocol: {} - - &ref_88 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_126 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_65 - serializedName: userPrincipalName - language: - default: - name: userPrincipalName - description: The user principal name. - cli: - cliKey: userPrincipalName - protocol: {} - - schema: *ref_66 - serializedName: applicationType - language: - default: - name: applicationType - description: Application type of application. - cli: - cliKey: applicationType - protocol: {} - - schema: *ref_67 - serializedName: sessionState - language: - default: - name: sessionState - description: State of user session. - cli: - cliKey: sessionState - protocol: {} - - schema: *ref_68 - serializedName: activeDirectoryUserName - language: - default: - name: activeDirectoryUserName - description: The active directory user name. - cli: - cliKey: activeDirectoryUserName - protocol: {} - - schema: *ref_69 - serializedName: createTime - language: - default: - name: createTime - description: The timestamp of the user session create. - cli: - cliKey: createTime - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: UserSessionProperties - description: Schema for UserSession properties. - namespace: '' - cli: - cliKey: UserSessionProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for UserSession - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: UserSession - description: Represents a UserSession definition. - namespace: '' - cli: - cliKey: UserSession - protocol: {} - - &ref_89 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_127 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_70 - serializedName: lastHeartBeat - language: - default: - name: lastHeartBeat - description: Last heart beat from SessionHost. - cli: - cliKey: lastHeartBeat - protocol: {} - - schema: *ref_71 - serializedName: sessions - language: - default: - name: sessions - description: Number of sessions on SessionHost. - cli: - cliKey: sessions - protocol: {} - - schema: *ref_72 - serializedName: agentVersion - language: - default: - name: agentVersion - description: Version of agent on SessionHost. - cli: - cliKey: agentVersion - protocol: {} - - schema: *ref_73 - serializedName: allowNewSession - language: - default: - name: allowNewSession - description: Allow a new session. - cli: - cliKey: allowNewSession - protocol: {} - - schema: *ref_74 - serializedName: assignedUser - language: - default: - name: assignedUser - description: User assigned to SessionHost. - cli: - cliKey: assignedUser - protocol: {} - - schema: *ref_75 - serializedName: status - language: - default: - name: status - description: Status for a SessionHost. - cli: - cliKey: status - protocol: {} - - schema: *ref_76 - readOnly: true - serializedName: statusTimestamp - language: - default: - name: statusTimestamp - description: The timestamp of the status. - cli: - cliKey: statusTimestamp - protocol: {} - - schema: *ref_77 - serializedName: osVersion - language: - default: - name: osVersion - description: The version of the OS on the session host. - cli: - cliKey: osVersion - protocol: {} - - schema: *ref_78 - serializedName: sxSStackVersion - language: - default: - name: sxSStackVersion - description: The version of the side by side stack on the session host. - cli: - cliKey: sxSStackVersion - protocol: {} - - schema: *ref_79 - serializedName: updateState - language: - default: - name: updateState - description: Update state of a SessionHost. - cli: - cliKey: updateState - protocol: {} - - schema: *ref_80 - readOnly: true - serializedName: lastUpdateTime - language: - default: - name: lastUpdateTime - description: The timestamp of the last update. - cli: - cliKey: lastUpdateTime - protocol: {} - - schema: *ref_81 - serializedName: updateErrorMessage - language: - default: - name: updateErrorMessage - description: The error message. - cli: - cliKey: updateErrorMessage - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: SessionHostProperties - description: Schema for SessionHost properties. - namespace: '' - cli: - cliKey: SessionHostProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for SessionHost - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: SessionHost - description: Represents a SessionHost definition. - namespace: '' - cli: - cliKey: SessionHost - protocol: {} - - &ref_90 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_128 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_73 - serializedName: allowNewSession - language: - default: - name: allowNewSession - description: Allow a new session. - cli: - cliKey: allowNewSession - protocol: {} - - schema: *ref_82 - serializedName: assignedUser - language: - default: - name: assignedUser - description: User assigned to SessionHost. - cli: - cliKey: assignedUser - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: SessionHostPatchProperties - description: SessionHost properties that can be patched. - namespace: '' - cli: - cliKey: SessionHostPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for SessionHost - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: SessionHostPatch - description: SessionHost properties that can be patched. - namespace: '' - cli: - cliKey: SessionHostPatch - protocol: {} - immediate: - - *ref_9 - - *ref_83 - - *ref_84 - - *ref_85 - - *ref_86 - - *ref_87 - - *ref_88 - - *ref_89 - - *ref_90 - properties: - - schema: *ref_91 - readOnly: true - serializedName: id - language: - default: - name: id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cli: - cliKey: id - protocol: {} - - schema: *ref_92 - readOnly: true - serializedName: name - language: - default: - name: name - description: The name of the resource - cli: - cliKey: name - protocol: {} - - schema: *ref_93 - readOnly: true - serializedName: type - language: - default: - name: type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cli: - cliKey: type - protocol: {} - serializationFormats: - - json - usage: - - output - - input - extensions: - x-ms-azure-resource: true - language: - default: - name: Resource - description: '' - namespace: '' - cli: - cliKey: Resource - protocol: {} - - *ref_9 - - *ref_34 - - *ref_94 - - &ref_154 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_95 - serializedName: code - language: - default: - name: code - description: Error code - cli: - cliKey: code - protocol: {} - - schema: *ref_96 - serializedName: message - language: - default: - name: message - description: Error message indicating why the operation failed. - cli: - cliKey: message - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: CloudError - description: Error response of an operation failure - namespace: '' - cli: - cliKey: CloudError - protocol: {} - - &ref_161 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_100 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_97 - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: - cliKey: description - protocol: {} - - schema: *ref_98 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Workspace. - cli: - cliKey: friendlyName - protocol: {} - - schema: &ref_134 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_99 - language: - default: - name: WorkspacePatchProperties-applicationGroupReferences - description: List of applicationGroup links. - protocol: {} - serializedName: applicationGroupReferences - language: - default: - name: applicationGroupReferences - description: List of applicationGroup links. - cli: - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: WorkspacePatchProperties - description: Workspace properties that can be patched. - namespace: '' - cli: - cliKey: WorkspacePatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Workspace - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: WorkspacePatch - description: Workspace properties that can be patched. - namespace: '' - cli: - cliKey: WorkspacePatch - protocol: {} - - *ref_100 - - &ref_166 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_135 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_34 - language: - default: - name: WorkspaceList-value - description: List of Workspace definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Workspace definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_101 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: WorkspaceList - usage: - - output - language: - default: - name: WorkspaceList - description: List of Workspace definitions. - namespace: '' - summary: WorkspaceList - cli: - cliKey: WorkspaceList - protocol: {} - - &ref_171 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_136 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_35 - language: - default: - name: ApplicationGroupList-value - description: List of ApplicationGroup definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of ApplicationGroup definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_102 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationGroupList - usage: - - output - language: - default: - name: ApplicationGroupList - description: List of ApplicationGroup definitions. - namespace: '' - summary: ApplicationGroupList - cli: - cliKey: ApplicationGroupList - protocol: {} - - *ref_35 - - *ref_103 - - *ref_83 - - *ref_104 - - &ref_187 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_137 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_84 - language: - default: - name: StartMenuItemList-value - description: List of StartMenuItem definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of StartMenuItem definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_105 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: StartMenuItemList - usage: - - output - language: - default: - name: StartMenuItemList - description: List of StartMenuItem definitions. - namespace: '' - summary: StartMenuItemList - cli: - cliKey: StartMenuItemList - protocol: {} - - *ref_84 - - *ref_106 - - *ref_85 - - *ref_107 - - &ref_198 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_113 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_108 - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: - cliKey: description - protocol: {} - - schema: *ref_109 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Application. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_110 - serializedName: filePath - language: - default: - name: filePath - description: Specifies a path for the executable file for the application. - cli: - cliKey: filePath - protocol: {} - - schema: *ref_51 - serializedName: commandLineSetting - language: - default: - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - cliKey: commandLineSetting - protocol: {} - - schema: *ref_111 - serializedName: commandLineArguments - language: - default: - name: commandLineArguments - description: Command Line Arguments for Application. - cli: - cliKey: commandLineArguments - protocol: {} - - schema: *ref_53 - serializedName: showInPortal - language: - default: - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: - cliKey: showInPortal - protocol: {} - - schema: *ref_112 - serializedName: iconPath - language: - default: - name: iconPath - description: Path to icon. - cli: - cliKey: iconPath - protocol: {} - - schema: *ref_47 - serializedName: iconIndex - language: - default: - name: iconIndex - description: Index of the icon. - cli: - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: ApplicationPatchProperties - description: Application properties that can be patched. - namespace: '' - cli: - cliKey: ApplicationPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Application - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: ApplicationPatch - description: Application properties that can be patched. - namespace: '' - cli: - cliKey: ApplicationPatch - protocol: {} - - *ref_113 - - &ref_205 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_138 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_85 - language: - default: - name: ApplicationList-value - description: List of Application definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Application definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_114 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationList - usage: - - output - language: - default: - name: ApplicationList - description: List of Application definitions. - namespace: '' - summary: ApplicationList - cli: - cliKey: ApplicationList - protocol: {} - - *ref_86 - - *ref_115 - - &ref_209 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_118 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_116 - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: - cliKey: description - protocol: {} - - schema: *ref_117 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Desktop. - cli: - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: DesktopPatchProperties - description: Desktop properties that can be patched. - namespace: '' - cli: - cliKey: DesktopPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Desktop - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: DesktopPatch - description: Desktop properties that can be patched. - namespace: '' - cli: - cliKey: DesktopPatch - protocol: {} - - *ref_118 - - &ref_216 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_139 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_86 - language: - default: - name: DesktopList-value - description: List of Desktop definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Desktop definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_119 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: DesktopList - usage: - - output - language: - default: - name: DesktopList - description: List of Desktop definitions. - namespace: '' - summary: DesktopList - cli: - cliKey: DesktopList - protocol: {} - - *ref_36 - - *ref_120 - - *ref_121 - - *ref_87 - - *ref_122 - - *ref_123 - - &ref_230 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_141 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_36 - language: - default: - name: HostPoolList-value - description: List of HostPool definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of HostPool definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_124 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: HostPoolList - usage: - - output - language: - default: - name: HostPoolList - description: List of HostPool definitions. - namespace: '' - summary: HostPoolList - cli: - cliKey: HostPoolList - protocol: {} - - &ref_234 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_142 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_88 - language: - default: - name: UserSessionList-value - description: List of UserSession definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of UserSession definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_125 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: UserSessionList - usage: - - output - language: - default: - name: UserSessionList - description: List of UserSession definitions. - namespace: '' - summary: UserSessionList - cli: - cliKey: UserSessionList - protocol: {} - - *ref_88 - - *ref_126 - - *ref_89 - - *ref_127 - - *ref_90 - - *ref_128 - - &ref_272 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_143 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_89 - language: - default: - name: SessionHostList-value - description: List of SessionHost definitions. - protocol: {} - serializedName: value - language: - default: - name: value - description: List of SessionHost definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_129 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: SessionHostList - usage: - - output - language: - default: - name: SessionHostList - description: List of SessionHost definitions. - namespace: '' - summary: SessionHostList - cli: - cliKey: SessionHostList - protocol: {} - - &ref_253 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_130 - serializedName: messageTitle - language: - default: - name: messageTitle - description: Title of message. - cli: - cliKey: messageTitle - protocol: {} - - schema: *ref_131 - serializedName: messageBody - language: - default: - name: messageBody - description: Body of message. - cli: - cliKey: messageBody - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: SendMessage - description: Represents message sent to a UserSession. - namespace: '' - cli: - cliKey: SendMessage - protocol: {} - arrays: - - *ref_132 - - *ref_133 - - *ref_134 - - *ref_135 - - *ref_136 - - *ref_137 - - *ref_138 - - *ref_139 - - *ref_140 - - *ref_141 - - *ref_142 - - *ref_143 -globalParameters: - - &ref_149 - schema: *ref_144 - implementation: Client - required: true - extensions: - x-ms-priority: 0 - language: - default: - name: subscriptionId - description: The ID of the target subscription. - serializedName: subscriptionId - cli: - cliKey: subscriptionId - protocol: - http: - in: path - - &ref_146 - schema: *ref_0 - clientDefaultValue: 'https://management.azure.com' - implementation: Client - origin: 'modelerfour:synthesized/host' - required: true - extensions: - x-ms-skip-url-encoding: true - language: - default: - name: $host - description: server parameter - serializedName: $host - cli: - cliKey: $host - protocol: - http: - in: uri - - &ref_147 - schema: *ref_145 - implementation: Client - origin: 'modelerfour:synthesized/api-version' - required: true - language: - default: - name: ApiVersion - description: Api Version - serializedName: api-version - cli: - cliKey: ApiVersion - protocol: - http: - in: query -operationGroups: - - $key: Operations - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: /providers/Microsoft.DesktopVirtualization/operations - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_148 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - extensions: - x-ms-examples: - OperationDescription_List: - parameters: - api-version: 2019-12-10-preview - responses: - '200': - body: - value: - - name: Microsoft.DesktopVirtualization/ssocontext/read - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - - name: Microsoft.DesktopVirtualization/ssocontext/write - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - language: - default: - name: List - description: List all of the available operations the Desktop Virtualization resource provider supports. - cli: - cliKey: List - protocol: {} - language: - default: - name: Operations - description: '' - cli: - cliKey: Operations - protocol: {} - - $key: Workspaces - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_152 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_153 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_152 - - *ref_153 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Get: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: Get - description: Get a workspace. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_157 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_158 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_156 - schema: *ref_34 - implementation: Method - required: true - language: - default: - name: workspace - description: Object containing Workspace definitions. - cli: - cliKey: workspace - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_156 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_157 - - *ref_158 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Create: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '201': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: CreateOrUpdate - description: Create or update a workspace. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_159 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_160 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_159 - - *ref_160 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Delete: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: Delete - description: Remove a workspace. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_163 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_164 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_162 - schema: *ref_161 - implementation: Method - required: false - language: - default: - name: workspace - description: Object containing Workspace definitions. - cli: - cliKey: workspace - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_162 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_163 - - *ref_164 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Update: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: Update - description: Update a workspace. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_165 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: - - *ref_165 - responses: - - schema: *ref_166 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByResourceGroup - description: List workspaces. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_166 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListBySubscription: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListBySubscription - description: List workspaces in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySubscription - protocol: {} - language: - default: - name: Workspaces - description: '' - cli: - cliKey: Workspaces - protocol: {} - - $key: ApplicationGroupAssignments - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_168 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_169 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - - &ref_170 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' - method: get - uri: '{$host}' - signatureParameters: - - *ref_168 - - *ref_169 - - *ref_170 - responses: - - schema: *ref_171 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroupAssignment_WorkspaceLevelList: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: WorkspaceLevelList - description: List application group that user can use. - paging: - nextLinkName: nextLink - cli: - cliKey: WorkspaceLevelList - protocol: {} - language: - default: - name: ApplicationGroupAssignments - description: '' - cli: - cliKey: ApplicationGroupAssignments - protocol: {} - - $key: ApplicationGroups - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_172 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_173 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_172 - - *ref_173 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: Get - description: Get an application group. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_175 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_176 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_174 - schema: *ref_35 - implementation: Method - required: true - language: - default: - name: applicationGroup - description: Object containing ApplicationGroup definitions. - cli: - cliKey: applicationGroup - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_174 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_175 - - *ref_176 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Create: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '201': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: CreateOrUpdate - description: Create or update an applicationGroup. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_177 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_178 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_177 - - *ref_178 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: Delete - description: Remove an applicationGroup. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_180 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_181 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_179 - schema: *ref_83 - implementation: Method - required: false - language: - default: - name: applicationGroup - description: Object containing ApplicationGroup definitions. - cli: - cliKey: applicationGroup - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_179 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_180 - - *ref_181 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroups_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: Update - description: Update an applicationGroup. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_182 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_183 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_182 - - *ref_183 - responses: - - schema: *ref_171 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_ListByResourceGroup: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByResourceGroup - description: List applicationGroups. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_184 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_184 - responses: - - schema: *ref_171 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_List: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListBySubscription - description: List applicationGroups in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySubscription - protocol: {} - language: - default: - name: ApplicationGroups - description: '' - cli: - cliKey: ApplicationGroups - protocol: {} - - $key: StartMenuItems - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_185 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_186 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' - method: get - uri: '{$host}' - signatureParameters: - - *ref_185 - - *ref_186 - responses: - - schema: *ref_187 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - StartMenuItem_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: application1 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 - properties: - appAlias: word - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - - name: application2 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 - properties: - appAlias: excel - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List start menu items in the given application group. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: StartMenuItems - description: '' - cli: - cliKey: StartMenuItems - protocol: {} - - $key: Applications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_188 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_189 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_190 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_188 - - *ref_189 - - *ref_190 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: Get - description: Get an application. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_192 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_193 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_194 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_191 - schema: *ref_85 - implementation: Method - required: true - language: - default: - name: application - description: Object containing Application definitions. - cli: - cliKey: application - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_191 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_192 - - *ref_193 - - *ref_194 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Create: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '201': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: CreateOrUpdate - description: Create or update an application. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_195 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_196 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_197 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_195 - - *ref_196 - - *ref_197 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '204': {} - language: - default: - name: Delete - description: Remove an application. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_200 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_201 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_202 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_199 - schema: *ref_198 - implementation: Method - required: false - language: - default: - name: application - description: Object containing Application definitions. - cli: - cliKey: application - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_199 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_200 - - *ref_201 - - *ref_202 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Update: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: Update - description: Update an application. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_203 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_204 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_203 - - *ref_204 - responses: - - schema: *ref_205 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Applications_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List applications. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: Applications - description: '' - cli: - cliKey: Applications - protocol: {} - - $key: Desktops - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_206 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_207 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_208 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: desktopName - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - cliKey: desktopName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_206 - - *ref_207 - - *ref_208 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: Get - description: Get a desktop. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_211 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_212 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_213 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: desktopName - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - cliKey: desktopName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_210 - schema: *ref_209 - implementation: Method - required: false - language: - default: - name: desktop - description: Object containing Desktop definitions. - cli: - cliKey: desktop - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_210 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_211 - - *ref_212 - - *ref_213 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktop: - properties: - description: des1 - friendlyName: friendly - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: Update - description: Update a desktop. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_214 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_215 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' - method: get - uri: '{$host}' - signatureParameters: - - *ref_214 - - *ref_215 - responses: - - schema: *ref_216 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: List - description: List desktops. - cli: - cliKey: List - protocol: {} - language: - default: - name: Desktops - description: '' - cli: - cliKey: Desktops - protocol: {} - - $key: HostPools - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_217 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_218 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_217 - - *ref_218 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: Get - description: Get a host pool. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_220 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_221 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_219 - schema: *ref_36 - implementation: Method - required: true - language: - default: - name: hostPool - description: Object containing HostPool definitions. - cli: - cliKey: hostPool - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_219 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_220 - - *ref_221 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Create: - parameters: - api-version: 2019-12-10-preview - hostPool: - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '201': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: CreateOrUpdate - description: Create or update a host pool. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_223 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_224 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_225 - schema: *ref_222 - implementation: Method - language: - default: - name: force - description: Force flag to delete sessionHost. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_223 - - *ref_224 - - *ref_225 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: Delete - description: Remove a host pool. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_227 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_228 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_226 - schema: *ref_87 - implementation: Method - required: false - language: - default: - name: hostPool - description: Object containing HostPool definitions. - cli: - cliKey: hostPool - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_226 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_227 - - *ref_228 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Update: - parameters: - api-version: 2019-12-10-preview - hostPool: - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-02T14:01:54.9571247Z' - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: Update - description: Update a host pool. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_229 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: - - *ref_229 - responses: - - schema: *ref_230 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByResourceGroup - description: List hostPools. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_230 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_List: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List hostPools in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: HostPools - description: '' - cli: - cliKey: HostPools - protocol: {} - - $key: UserSessions - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_231 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_232 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_233 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_231 - - *ref_232 - - *ref_233 - responses: - - schema: *ref_234 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_ListByHostPool: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByHostPool - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByHostPool - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_237 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_238 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_239 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_240 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_237 - - *ref_238 - - *ref_239 - - *ref_240 - responses: - - schema: *ref_88 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - body: - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - language: - default: - name: Get - description: Get a userSession. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_241 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_242 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_243 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_244 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - - &ref_245 - schema: *ref_222 - implementation: Method - language: - default: - name: force - description: Force flag to login off userSession. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_241 - - *ref_242 - - *ref_243 - - *ref_244 - - *ref_245 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - '204': {} - language: - default: - name: Delete - description: Remove a userSession. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_246 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_247 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_248 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_246 - - *ref_247 - - *ref_248 - responses: - - schema: *ref_234 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_249 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_250 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_251 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_252 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' - method: post - uri: '{$host}' - signatureParameters: - - *ref_249 - - *ref_250 - - *ref_251 - - *ref_252 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Disconnect_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: Disconnect - description: Disconnect a userSession. - cli: - cliKey: Disconnect - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_255 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_256 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_257 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_258 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_254 - schema: *ref_253 - implementation: Method - required: false - language: - default: - name: sendMessage - description: Object containing message includes title and message body - cli: - cliKey: sendMessage - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_254 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' - method: post - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_255 - - *ref_256 - - *ref_257 - - *ref_258 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_SendMessage_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sendMessage: - messageBody: body - messageTitle: title - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: SendMessage - description: Send a message to a user. - cli: - cliKey: SendMessage - protocol: {} - language: - default: - name: UserSessions - description: '' - cli: - cliKey: UserSessions - protocol: {} - - $key: SessionHosts - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_259 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_260 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_261 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_259 - - *ref_260 - - *ref_261 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: Get - description: Get a session host. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_262 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_263 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_264 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_265 - schema: *ref_222 - implementation: Method - language: - default: - name: force - description: Force flag to force sessionHost deletion even when userSession exists. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_262 - - *ref_263 - - *ref_264 - - *ref_265 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - '204': {} - language: - default: - name: Delete - description: Remove a SessionHost. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_267 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_268 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_269 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_266 - schema: *ref_90 - implementation: Method - required: false - language: - default: - name: sessionHost - description: Object containing SessionHost definitions. - cli: - cliKey: sessionHost - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_266 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_267 - - *ref_268 - - *ref_269 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Update: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHost: - properties: - allowNewSession: true - assignedUser: user1@microsoft.com - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2019-01-11T19:27:13.6108027Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2019-01-24T20:00:08.2893033Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: Update - description: Update a session host. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_270 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_271 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' - method: get - uri: '{$host}' - signatureParameters: - - *ref_270 - - *ref_271 - responses: - - schema: *ref_272 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - - name: sessionHost2.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user2@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List sessionHosts. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: SessionHosts - description: '' - cli: - cliKey: SessionHosts - protocol: {} - - $key: ActiveApplications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_273 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_274 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_275 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_276 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_273 - - *ref_274 - - *ref_275 - - *ref_276 - responses: - - schema: *ref_205 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ActiveApplications_List: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListBySessionHost - description: List applications for the given session host. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySessionHost - protocol: {} - language: - default: - name: ActiveApplications - description: '' - cli: - cliKey: ActiveApplications - protocol: {} -language: - default: - name: '' - description: '' -protocol: - http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000040-complex-marker-post-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000040-complex-marker-post-simplified.yaml deleted file mode 100644 index 0a0ad331da6..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000040-complex-marker-post-simplified.yaml +++ /dev/null @@ -1,1978 +0,0 @@ -operationGroups: - all: - - operationGroupName: Operations - cli: - cliKey: Operations - operations: - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - operationGroupName: Workspaces - cli: - cliKey: Workspaces - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - operationName: CreateOrUpdate - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: workspace(Workspace^object) - cli: - cliKey: workspace - bodySchema: Workspace - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: workspace(WorkspacePatch^object) - cli: - cliKey: workspace - bodySchema: WorkspacePatch - - operationName: ListByResourceGroup - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - operationName: ListBySubscription - cli: - cliKey: ListBySubscription - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - operationGroupName: ApplicationGroupAssignments - cli: - cliKey: ApplicationGroupAssignments - operations: - - operationName: WorkspaceLevelList - cli: - cliKey: WorkspaceLevelList - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - parameterName: $filter(string^string) - cli: - cliKey: $filter - - operationGroupName: ApplicationGroups - cli: - cliKey: ApplicationGroups - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationName: CreateOrUpdate - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: applicationGroup(ApplicationGroup^object) - cli: - cliKey: applicationGroup - bodySchema: ApplicationGroup - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: applicationGroup(ApplicationGroupPatch^object) - cli: - cliKey: applicationGroup - bodySchema: ApplicationGroupPatch - - operationName: ListByResourceGroup - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: $filter(string^string) - cli: - cliKey: $filter - - operationName: ListBySubscription - cli: - cliKey: ListBySubscription - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: $filter(string^string) - cli: - cliKey: $filter - - operationGroupName: StartMenuItems - cli: - cliKey: StartMenuItems - operations: - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: Applications - cli: - cliKey: Applications - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: applicationName(string^string) - cli: - cliKey: applicationName - - operationName: CreateOrUpdate - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: applicationName(string^string) - cli: - cliKey: applicationName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: application(Application^object) - cli: - cliKey: application - bodySchema: Application - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: applicationName(string^string) - cli: - cliKey: applicationName - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: applicationName(string^string) - cli: - cliKey: applicationName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: application(ApplicationPatch^object) - cli: - cliKey: application - bodySchema: ApplicationPatch - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: Desktops - cli: - cliKey: Desktops - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: desktopName(string^string) - cli: - cliKey: desktopName - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: desktopName(string^string) - cli: - cliKey: desktopName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: desktop(DesktopPatch^object) - cli: - cliKey: desktop - bodySchema: DesktopPatch - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: HostPools - cli: - cliKey: HostPools - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - operationName: CreateOrUpdate - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: hostPool(HostPool^object) - cli: - cliKey: hostPool - bodySchema: HostPool - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: hostPool(HostPoolPatch^object) - cli: - cliKey: hostPool - bodySchema: HostPoolPatch - - operationName: ListByResourceGroup - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - operationGroupName: UserSessions - cli: - cliKey: UserSessions - operations: - - operationName: ListByHostPool - cli: - cliKey: ListByHostPool - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: $filter(string^string) - cli: - cliKey: $filter - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: userSessionId(string^string) - cli: - cliKey: userSessionId - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: userSessionId(string^string) - cli: - cliKey: userSessionId - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - operationName: Disconnect - cli: - cliKey: Disconnect - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: userSessionId(string^string) - cli: - cliKey: userSessionId - - operationName: SendMessage - cli: - cliKey: SendMessage - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: userSessionId(string^string) - cli: - cliKey: userSessionId - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: sendMessage(SendMessage^object) - cli: - cliKey: sendMessage - bodySchema: SendMessage - - operationGroupName: SessionHosts - cli: - cliKey: SessionHosts - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: sessionHost(SessionHostPatch^object) - cli: - cliKey: sessionHost - bodySchema: SessionHostPatch - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - operationGroupName: ActiveApplications - cli: - cliKey: ActiveApplications - operations: - - operationName: ListBySessionHost - cli: - cliKey: ListBySessionHost - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: $filter(string^string) - cli: - cliKey: $filter -schemas: - objects: - all: - - schemaName: ResourceProviderOperationList - cli: - cliKey: ResourceProviderOperationList - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: value(ResourceProviderOperationList-value^array) - cli: - cliKey: value - - schemaName: ResourceProviderOperation - cli: - cliKey: ResourceProviderOperation - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 2 - cli-mark: checked - properties: - - propertyName: name(ResourceProviderOperation-name^string) - cli: - cliKey: name - - propertyName: display(ResourceProviderOperation-display^object) - cli: - cliKey: display - - schemaName: ResourceProviderOperation-display - cli: - cliKey: ResourceProviderOperation-display - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - cli-mark: checked - properties: - - propertyName: provider(ResourceProviderOperation-display-provider^string) - cli: - cliKey: provider - - propertyName: resource(ResourceProviderOperation-display-resource^string) - cli: - cliKey: resource - - propertyName: operation(ResourceProviderOperation-display-operation^string) - cli: - cliKey: operation - - propertyName: description(ResourceProviderOperation-display-description^string) - cli: - cliKey: description - - schemaName: Resource - cli: - cliKey: Resource - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 0 - propertyCountIfSimplifyWithoutSimpleObject: 0 - cli-mark: checked - properties: - - propertyName: id(Resource-id^string) - cli: - cliKey: id - readOnly: true - - propertyName: name(Resource-name^string) - cli: - cliKey: name - readOnly: true - - propertyName: type(Resource-type^string) - cli: - cliKey: type - readOnly: true - - schemaName: TrackedResource - cli: - cliKey: TrackedResource - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: tags(TrackedResource-tags^dictionary) - cli: - cliKey: tags - - propertyName: location(TrackedResource-location^string) - cli: - cliKey: location - - schemaName: Workspace - cli: - cliKey: Workspace - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: properties(WorkspaceProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: WorkspaceProperties - cli: - cliKey: WorkspaceProperties - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: description(WorkspaceProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(WorkspaceProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: applicationGroupReferences(WorkspaceProperties-applicationGroupReferences^array) - cli: - cliKey: applicationGroupReferences - - schemaName: CloudError - cli: - cliKey: CloudError - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - cli-mark: checked - properties: - - propertyName: code(CloudError-code^string) - cli: - cliKey: code - - propertyName: message(CloudError-message^string) - cli: - cliKey: message - - schemaName: WorkspacePatch - cli: - cliKey: WorkspacePatch - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(WorkspacePatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: WorkspacePatchProperties - cli: - cliKey: WorkspacePatchProperties - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: description(WorkspacePatchProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(WorkspacePatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: applicationGroupReferences(WorkspacePatchProperties-applicationGroupReferences^array) - cli: - cliKey: applicationGroupReferences - - schemaName: WorkspaceList - cli: - cliKey: WorkspaceList - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: value(WorkspaceList-value^array) - cli: - cliKey: value - - propertyName: nextLink(WorkspaceList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: ApplicationGroupList - cli: - cliKey: ApplicationGroupList - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: value(ApplicationGroupList-value^array) - cli: - cliKey: value - - propertyName: nextLink(ApplicationGroupList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: ApplicationGroup - cli: - cliKey: ApplicationGroup - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: properties(ApplicationGroupProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: ApplicationGroupProperties - cli: - cliKey: ApplicationGroupProperties - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - cli-mark: checked - properties: - - propertyName: description(ApplicationGroupProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(ApplicationGroupProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: hostPoolArmPath(ApplicationGroupProperties-hostPoolArmPath^string) - cli: - cliKey: hostPoolArmPath - - propertyName: workspaceArmPath(ApplicationGroupProperties-workspaceArmPath^string) - cli: - cliKey: workspaceArmPath - readOnly: true - - propertyName: applicationGroupType(ApplicationGroupType^choice) - cli: - cliKey: applicationGroupType - - schemaName: ApplicationGroupPatch - cli: - cliKey: ApplicationGroupPatch - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(ApplicationGroupPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: ApplicationGroupPatchProperties - cli: - cliKey: ApplicationGroupPatchProperties - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - cli-mark: checked - properties: - - propertyName: description(ApplicationGroupPatchProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(ApplicationGroupPatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - schemaName: StartMenuItemList - cli: - cliKey: StartMenuItemList - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: value(StartMenuItemList-value^array) - cli: - cliKey: value - - propertyName: nextLink(StartMenuItemList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: StartMenuItem - cli: - cliKey: StartMenuItem - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 1 - cli-mark: checked - properties: - - propertyName: properties(StartMenuItemProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: StartMenuItemProperties - cli: - cliKey: StartMenuItemProperties - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 6 - cli-mark: checked - properties: - - propertyName: appAlias(StartMenuItemProperties-appAlias^string) - cli: - cliKey: appAlias - - propertyName: friendlyName(StartMenuItemProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: filePath(StartMenuItemProperties-filePath^string) - cli: - cliKey: filePath - - propertyName: commandLineArguments(StartMenuItemProperties-commandLineArguments^string) - cli: - cliKey: commandLineArguments - - propertyName: iconPath(StartMenuItemProperties-iconPath^string) - cli: - cliKey: iconPath - - propertyName: iconIndex(integer^integer) - cli: - cliKey: iconIndex - - schemaName: Application - cli: - cliKey: Application - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 1 - cli-mark: checked - properties: - - propertyName: properties(ApplicationProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: ApplicationProperties - cli: - cliKey: ApplicationProperties - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 8 - cli-mark: checked - properties: - - propertyName: description(ApplicationProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(ApplicationProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: filePath(ApplicationProperties-filePath^string) - cli: - cliKey: filePath - - propertyName: commandLineSetting(CommandLineSetting^choice) - cli: - cliKey: commandLineSetting - - propertyName: commandLineArguments(ApplicationProperties-commandLineArguments^string) - cli: - cliKey: commandLineArguments - - propertyName: showInPortal(boolean^boolean) - cli: - cliKey: showInPortal - - propertyName: iconPath(ApplicationProperties-iconPath^string) - cli: - cliKey: iconPath - - propertyName: iconIndex(integer^integer) - cli: - cliKey: iconIndex - - propertyName: iconHash(ApplicationProperties-iconHash^string) - cli: - cliKey: iconHash - readOnly: true - - propertyName: iconContent(ApplicationProperties-iconContent^byte-array) - cli: - cliKey: iconContent - readOnly: true - - schemaName: ApplicationPatch - cli: - cliKey: ApplicationPatch - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(ApplicationPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: ApplicationPatchProperties - cli: - cliKey: ApplicationPatchProperties - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 8 - cli-mark: checked - properties: - - propertyName: description(ApplicationPatchProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(ApplicationPatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: filePath(ApplicationPatchProperties-filePath^string) - cli: - cliKey: filePath - - propertyName: commandLineSetting(CommandLineSetting^choice) - cli: - cliKey: commandLineSetting - - propertyName: commandLineArguments(ApplicationPatchProperties-commandLineArguments^string) - cli: - cliKey: commandLineArguments - - propertyName: showInPortal(boolean^boolean) - cli: - cliKey: showInPortal - - propertyName: iconPath(ApplicationPatchProperties-iconPath^string) - cli: - cliKey: iconPath - - propertyName: iconIndex(integer^integer) - cli: - cliKey: iconIndex - - schemaName: ApplicationList - cli: - cliKey: ApplicationList - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: value(ApplicationList-value^array) - cli: - cliKey: value - - propertyName: nextLink(ApplicationList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: Desktop - cli: - cliKey: Desktop - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - cli-mark: checked - properties: - - propertyName: properties(DesktopProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: DesktopProperties - cli: - cliKey: DesktopProperties - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - cli-mark: checked - properties: - - propertyName: description(DesktopProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(DesktopProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: iconHash(DesktopProperties-iconHash^string) - cli: - cliKey: iconHash - readOnly: true - - propertyName: iconContent(DesktopProperties-iconContent^byte-array) - cli: - cliKey: iconContent - readOnly: true - - schemaName: DesktopPatch - cli: - cliKey: DesktopPatch - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(DesktopPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: DesktopPatchProperties - cli: - cliKey: DesktopPatchProperties - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - cli-mark: checked - properties: - - propertyName: description(DesktopPatchProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(DesktopPatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - schemaName: DesktopList - cli: - cliKey: DesktopList - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: value(DesktopList-value^array) - cli: - cliKey: value - - propertyName: nextLink(DesktopList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: HostPool - cli: - cliKey: HostPool - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: properties(HostPoolProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: HostPoolProperties - cli: - cliKey: HostPoolProperties - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 14 - propertyCountIfSimplifyWithoutSimpleObject: 12 - cli-mark: checked - properties: - - propertyName: friendlyName(HostPoolProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: description(HostPoolProperties-description^string) - cli: - cliKey: description - - propertyName: hostPoolType(HostPoolType^choice) - cli: - cliKey: hostPoolType - - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) - cli: - cliKey: personalDesktopAssignmentType - - propertyName: customRdpProperty(HostPoolProperties-customRdpProperty^string) - cli: - cliKey: customRdpProperty - - propertyName: maxSessionLimit(integer^integer) - cli: - cliKey: maxSessionLimit - - propertyName: loadBalancerType(LoadBalancerType^choice) - cli: - cliKey: loadBalancerType - - propertyName: ring(integer^integer) - cli: - cliKey: ring - - propertyName: validationEnvironment(boolean^boolean) - cli: - cliKey: validationEnvironment - - propertyName: registrationInfo(RegistrationInfo^object) - cli: - cliKey: registrationInfo - - propertyName: vmTemplate(HostPoolProperties-vmTemplate^string) - cli: - cliKey: vmTemplate - - propertyName: applicationGroupReferences(HostPoolProperties-applicationGroupReferences^array) - cli: - cliKey: applicationGroupReferences - readOnly: true - - propertyName: ssoContext(HostPoolProperties-ssoContext^string) - cli: - cliKey: ssoContext - - schemaName: RegistrationInfo - cli: - cliKey: RegistrationInfo - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 3 - propertyCountIfSimplifyWithoutSimpleObject: 3 - cli-mark: checked - properties: - - propertyName: expirationTime(RegistrationInfo-expirationTime^date-time) - cli: - cliKey: expirationTime - - propertyName: token(RegistrationInfo-token^string) - cli: - cliKey: token - - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) - cli: - cliKey: registrationTokenOperation - - schemaName: HostPoolPatch - cli: - cliKey: HostPoolPatch - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(HostPoolPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: HostPoolPatchProperties - cli: - cliKey: HostPoolPatchProperties - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 10 - cli-mark: checked - properties: - - propertyName: friendlyName(HostPoolPatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: description(HostPoolPatchProperties-description^string) - cli: - cliKey: description - - propertyName: customRdpProperty(HostPoolPatchProperties-customRdpProperty^string) - cli: - cliKey: customRdpProperty - - propertyName: maxSessionLimit(integer^integer) - cli: - cliKey: maxSessionLimit - - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) - cli: - cliKey: personalDesktopAssignmentType - - propertyName: loadBalancerType(LoadBalancerType^choice) - cli: - cliKey: loadBalancerType - - propertyName: ring(integer^integer) - cli: - cliKey: ring - - propertyName: validationEnvironment(boolean^boolean) - cli: - cliKey: validationEnvironment - - propertyName: registrationInfo(RegistrationInfoPatch^object) - cli: - cliKey: registrationInfo - - propertyName: ssoContext(HostPoolPatchProperties-ssoContext^string) - cli: - cliKey: ssoContext - - schemaName: RegistrationInfoPatch - cli: - cliKey: RegistrationInfoPatch - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 1 - propertyCountIfSimplifyWithoutSimpleObject: 1 - cli-mark: checked - properties: - - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) - cli: - cliKey: registrationTokenOperation - - schemaName: HostPoolList - cli: - cliKey: HostPoolList - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: value(HostPoolList-value^array) - cli: - cliKey: value - - propertyName: nextLink(HostPoolList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: UserSessionList - cli: - cliKey: UserSessionList - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: value(UserSessionList-value^array) - cli: - cliKey: value - - propertyName: nextLink(UserSessionList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: UserSession - cli: - cliKey: UserSession - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 1 - cli-mark: checked - properties: - - propertyName: properties(UserSessionProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: UserSessionProperties - cli: - cliKey: UserSessionProperties - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 5 - cli-mark: checked - properties: - - propertyName: userPrincipalName(UserSessionProperties-userPrincipalName^string) - cli: - cliKey: userPrincipalName - - propertyName: applicationType(ApplicationType^choice) - cli: - cliKey: applicationType - - propertyName: sessionState(SessionState^choice) - cli: - cliKey: sessionState - - propertyName: activeDirectoryUserName(UserSessionProperties-activeDirectoryUserName^string) - cli: - cliKey: activeDirectoryUserName - - propertyName: createTime(UserSessionProperties-createTime^date-time) - cli: - cliKey: createTime - - schemaName: SessionHost - cli: - cliKey: SessionHost - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 1 - cli-mark: checked - properties: - - propertyName: properties(SessionHostProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: SessionHostProperties - cli: - cliKey: SessionHostProperties - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 10 - cli-mark: checked - properties: - - propertyName: lastHeartBeat(SessionHostProperties-lastHeartBeat^date-time) - cli: - cliKey: lastHeartBeat - - propertyName: sessions(integer^integer) - cli: - cliKey: sessions - - propertyName: agentVersion(SessionHostProperties-agentVersion^string) - cli: - cliKey: agentVersion - - propertyName: allowNewSession(boolean^boolean) - cli: - cliKey: allowNewSession - - propertyName: assignedUser(SessionHostProperties-assignedUser^string) - cli: - cliKey: assignedUser - - propertyName: status(Status^choice) - cli: - cliKey: status - - propertyName: statusTimestamp(SessionHostProperties-statusTimestamp^date-time) - cli: - cliKey: statusTimestamp - readOnly: true - - propertyName: osVersion(SessionHostProperties-osVersion^string) - cli: - cliKey: osVersion - - propertyName: sxSStackVersion(SessionHostProperties-sxSStackVersion^string) - cli: - cliKey: sxSStackVersion - - propertyName: updateState(UpdateState^choice) - cli: - cliKey: updateState - - propertyName: lastUpdateTime(SessionHostProperties-lastUpdateTime^date-time) - cli: - cliKey: lastUpdateTime - readOnly: true - - propertyName: updateErrorMessage(SessionHostProperties-updateErrorMessage^string) - cli: - cliKey: updateErrorMessage - - schemaName: SessionHostPatch - cli: - cliKey: SessionHostPatch - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - cli-mark: checked - properties: - - propertyName: properties(SessionHostPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: SessionHostPatchProperties - cli: - cliKey: SessionHostPatchProperties - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - cli-mark: checked - properties: - - propertyName: allowNewSession(boolean^boolean) - cli: - cliKey: allowNewSession - - propertyName: assignedUser(SessionHostPatchProperties-assignedUser^string) - cli: - cliKey: assignedUser - - schemaName: SessionHostList - cli: - cliKey: SessionHostList - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: value(SessionHostList-value^array) - cli: - cliKey: value - - propertyName: nextLink(SessionHostList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: SendMessage - cli: - cliKey: SendMessage - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - cli-mark: checked - properties: - - propertyName: messageTitle(SendMessage-messageTitle^string) - cli: - cliKey: messageTitle - - propertyName: messageBody(SendMessage-messageBody^string) - cli: - cliKey: messageBody - choices: - all: - - choiceName: ApplicationGroupType - cli: - cliKey: ApplicationGroupType - choiceValues: - - choiceValue: RemoteApp - cli: - cliKey: RemoteApp - - choiceValue: Desktop - cli: - cliKey: Desktop - - choiceName: CommandLineSetting - cli: - cliKey: CommandLineSetting - choiceValues: - - choiceValue: DoNotAllow - cli: - cliKey: DoNotAllow - - choiceValue: Allow - cli: - cliKey: Allow - - choiceValue: Require - cli: - cliKey: Require - - choiceName: HostPoolType - cli: - cliKey: HostPoolType - choiceValues: - - choiceValue: Personal - cli: - cliKey: Personal - - choiceValue: Pooled - cli: - cliKey: Pooled - - choiceName: PersonalDesktopAssignmentType - cli: - cliKey: PersonalDesktopAssignmentType - choiceValues: - - choiceValue: Automatic - cli: - cliKey: Automatic - - choiceValue: Direct - cli: - cliKey: Direct - - choiceName: LoadBalancerType - cli: - cliKey: LoadBalancerType - choiceValues: - - choiceValue: BreadthFirst - cli: - cliKey: BreadthFirst - - choiceValue: DepthFirst - cli: - cliKey: DepthFirst - - choiceValue: Persistent - cli: - cliKey: Persistent - - choiceName: RegistrationTokenOperation - cli: - cliKey: RegistrationTokenOperation - choiceValues: - - choiceValue: Delete - cli: - cliKey: Delete - - choiceValue: None - cli: - cliKey: None - - choiceValue: Update - cli: - cliKey: Update - - choiceName: ApplicationType - cli: - cliKey: ApplicationType - choiceValues: - - choiceValue: RemoteApp - cli: - cliKey: RemoteApp - - choiceValue: Desktop - cli: - cliKey: Desktop - - choiceName: SessionState - cli: - cliKey: SessionState - choiceValues: - - choiceValue: Unknown - cli: - cliKey: Unknown - - choiceValue: Active - cli: - cliKey: Active - - choiceValue: Disconnected - cli: - cliKey: Disconnected - - choiceValue: Pending - cli: - cliKey: Pending - - choiceValue: LogOff - cli: - cliKey: LogOff - - choiceValue: UserProfileDiskMounted - cli: - cliKey: UserProfileDiskMounted - - choiceName: Status - cli: - cliKey: Status - choiceValues: - - choiceValue: Available - cli: - cliKey: Available - - choiceValue: Unavailable - cli: - cliKey: Unavailable - - choiceValue: Shutdown - cli: - cliKey: Shutdown - - choiceValue: Disconnected - cli: - cliKey: Disconnected - - choiceValue: Upgrading - cli: - cliKey: Upgrading - - choiceValue: UpgradeFailed - cli: - cliKey: UpgradeFailed - - choiceName: UpdateState - cli: - cliKey: UpdateState - choiceValues: - - choiceValue: Initial - cli: - cliKey: Initial - - choiceValue: Pending - cli: - cliKey: Pending - - choiceValue: Started - cli: - cliKey: Started - - choiceValue: Succeeded - cli: - cliKey: Succeeded - - choiceValue: Failed - cli: - cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000040-complex-marker-post.yaml b/src/desktopvirtualization/_az_debug/clicommon-000040-complex-marker-post.yaml deleted file mode 100644 index 436546b7f84..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000040-complex-marker-post.yaml +++ /dev/null @@ -1,9346 +0,0 @@ -info: - title: Desktop Virtualization API Client - extensions: - cli-dump-index: 40 -schemas: - booleans: - - &ref_53 - type: boolean - language: - default: - name: boolean - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - protocol: {} - - &ref_27 - type: boolean - language: - default: - name: boolean - description: Is validation environment. - protocol: {} - - &ref_222 - type: boolean - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: boolean - description: '' - protocol: {} - - &ref_73 - type: boolean - language: - default: - name: boolean - description: Allow a new session. - protocol: {} - numbers: - - &ref_47 - type: integer - precision: 32 - language: - default: - name: integer - description: Index of the icon. - protocol: {} - - &ref_24 - type: integer - precision: 32 - language: - default: - name: integer - description: The max session limit of HostPool. - protocol: {} - - &ref_26 - type: integer - precision: 32 - language: - default: - name: integer - description: The ring number of HostPool. - protocol: {} - - &ref_71 - type: integer - precision: 32 - language: - default: - name: integer - description: Number of sessions on SessionHost. - protocol: {} - strings: - - &ref_0 - type: string - language: - default: - name: string - description: simple string - protocol: {} - - &ref_2 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - protocol: {} - - &ref_3 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - protocol: {} - - &ref_4 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-resource - description: Resource on which the operation is performed. - protocol: {} - - &ref_5 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-operation - description: 'Type of operation: get, read, delete, etc.' - protocol: {} - - &ref_6 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-description - description: Description of this operation. - protocol: {} - - &ref_144 - type: string - apiVersions: - - version: '1.0' - minLength: 1 - language: - default: - name: string - description: '' - protocol: {} - - &ref_150 - type: string - apiVersions: - - version: '1.0' - maxLength: 90 - minLength: 1 - pattern: '^[-\w\._\(\)]+$' - language: - default: - name: string - description: '' - protocol: {} - - &ref_151 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 3 - language: - default: - name: string - description: '' - protocol: {} - - &ref_91 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: Resource-id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - protocol: {} - - &ref_92 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: Resource-name - description: The name of the resource - protocol: {} - - &ref_93 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: Resource-type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - protocol: {} - - &ref_1 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: string - description: '' - protocol: {} - - &ref_38 - type: string - apiVersions: - - version: '1.0' - extensions: - x-ms-mutability: - - read - - create - language: - default: - name: TrackedResource-location - description: The geo-location where the resource lives - protocol: {} - - &ref_11 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceProperties-description - description: Description of Workspace. - protocol: {} - - &ref_12 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceProperties-friendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_13 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceProperties-applicationGroupReferencesItem - description: '' - protocol: {} - - &ref_95 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudError-code - description: Error code - protocol: {} - - &ref_96 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudError-message - description: Error message indicating why the operation failed. - protocol: {} - - &ref_97 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchProperties-description - description: Description of Workspace. - protocol: {} - - &ref_98 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchProperties-friendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_99 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchProperties-applicationGroupReferencesItem - description: '' - protocol: {} - - &ref_101 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_167 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: string - description: '' - protocol: {} - - &ref_14 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-description - description: Description of ApplicationGroup. - protocol: {} - - &ref_15 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-friendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_16 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-hostPoolArmPath - description: HostPool arm path of ApplicationGroup. - protocol: {} - - &ref_17 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-workspaceArmPath - description: Workspace arm path of ApplicationGroup. - protocol: {} - - &ref_102 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_40 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchProperties-description - description: Description of ApplicationGroup. - protocol: {} - - &ref_41 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchProperties-friendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_42 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-appAlias - description: Alias of StartMenuItem. - protocol: {} - - &ref_43 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-friendlyName - description: Friendly name of StartMenuItem. - protocol: {} - - &ref_44 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-filePath - description: Path to the file of StartMenuItem. - protocol: {} - - &ref_45 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-commandLineArguments - description: Command line arguments for StartMenuItem. - protocol: {} - - &ref_46 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-iconPath - description: Path to the icon. - protocol: {} - - &ref_105 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_48 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-description - description: Description of Application. - protocol: {} - - &ref_49 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-friendlyName - description: Friendly name of Application. - protocol: {} - - &ref_50 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-filePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_52 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-commandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_54 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-iconPath - description: Path to icon. - protocol: {} - - &ref_55 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-iconHash - description: Hash of the icon. - protocol: {} - - &ref_108 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-description - description: Description of Application. - protocol: {} - - &ref_109 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-friendlyName - description: Friendly name of Application. - protocol: {} - - &ref_110 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-filePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_111 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-commandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_112 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-iconPath - description: Path to icon. - protocol: {} - - &ref_114 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_57 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-description - description: Description of Desktop. - protocol: {} - - &ref_58 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-friendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_59 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-iconHash - description: Hash of the icon. - protocol: {} - - &ref_116 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchProperties-description - description: Description of Desktop. - protocol: {} - - &ref_117 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchProperties-friendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_119 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_19 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-friendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_20 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-description - description: Description of HostPool. - protocol: {} - - &ref_23 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-customRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_29 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: RegistrationInfo-token - description: The registration token base64 encoded string. - protocol: {} - - &ref_31 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-vmTemplate - description: VM template for sessionhosts configuration within hostpool. - protocol: {} - - &ref_32 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-applicationGroupReferencesItem - description: '' - protocol: {} - - &ref_33 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-ssoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_61 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-friendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_62 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-description - description: Description of HostPool. - protocol: {} - - &ref_63 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-customRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_64 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-ssoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_124 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_65 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionProperties-userPrincipalName - description: The user principal name. - protocol: {} - - &ref_68 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionProperties-activeDirectoryUserName - description: The active directory user name. - protocol: {} - - &ref_125 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_235 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 48 - minLength: 3 - language: - default: - name: string - description: '' - protocol: {} - - &ref_72 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-agentVersion - description: Version of agent on SessionHost. - protocol: {} - - &ref_74 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-assignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_77 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-osVersion - description: The version of the OS on the session host. - protocol: {} - - &ref_78 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-sxSStackVersion - description: The version of the side by side stack on the session host. - protocol: {} - - &ref_81 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-updateErrorMessage - description: The error message. - protocol: {} - - &ref_82 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPatchProperties-assignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_129 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_236 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 1 - language: - default: - name: string - description: '' - protocol: {} - - &ref_130 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessage-messageTitle - description: Title of message. - protocol: {} - - &ref_131 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessage-messageBody - description: Body of message. - protocol: {} - choices: - - &ref_18 - choices: - - value: RemoteApp - language: - default: - name: RemoteApp - description: '' - cli: - cliKey: RemoteApp - - value: Desktop - language: - default: - name: Desktop - description: '' - cli: - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationGroupType - description: Resource Type of ApplicationGroup. - cli: - cliKey: ApplicationGroupType - protocol: {} - - &ref_51 - choices: - - value: DoNotAllow - language: - default: - name: DoNotAllow - description: '' - cli: - cliKey: DoNotAllow - - value: Allow - language: - default: - name: Allow - description: '' - cli: - cliKey: Allow - - value: Require - language: - default: - name: Require - description: '' - cli: - cliKey: Require - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: CommandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - cliKey: CommandLineSetting - protocol: {} - - &ref_21 - choices: - - value: Personal - language: - default: - name: Personal - description: '' - cli: - cliKey: Personal - - value: Pooled - language: - default: - name: Pooled - description: '' - cli: - cliKey: Pooled - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: HostPoolType - description: HostPool type for desktop. - cli: - cliKey: HostPoolType - protocol: {} - - &ref_22 - choices: - - value: Automatic - language: - default: - name: Automatic - description: '' - cli: - cliKey: Automatic - - value: Direct - language: - default: - name: Direct - description: '' - cli: - cliKey: Direct - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: PersonalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cli: - cliKey: PersonalDesktopAssignmentType - protocol: {} - - &ref_25 - choices: - - value: BreadthFirst - language: - default: - name: BreadthFirst - description: '' - cli: - cliKey: BreadthFirst - - value: DepthFirst - language: - default: - name: DepthFirst - description: '' - cli: - cliKey: DepthFirst - - value: Persistent - language: - default: - name: Persistent - description: '' - cli: - cliKey: Persistent - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: LoadBalancerType - description: The type of the load balancer. - cli: - cliKey: LoadBalancerType - protocol: {} - - &ref_30 - choices: - - value: Delete - language: - default: - name: Delete - description: '' - cli: - cliKey: Delete - - value: None - language: - default: - name: None - description: '' - cli: - cliKey: None - - value: Update - language: - default: - name: Update - description: '' - cli: - cliKey: Update - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: RegistrationTokenOperation - description: The type of resetting the token. - cli: - cliKey: RegistrationTokenOperation - protocol: {} - - &ref_66 - choices: - - value: RemoteApp - language: - default: - name: RemoteApp - description: '' - cli: - cliKey: RemoteApp - - value: Desktop - language: - default: - name: Desktop - description: '' - cli: - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationType - description: Application type of application. - cli: - cliKey: ApplicationType - protocol: {} - - &ref_67 - choices: - - value: Unknown - language: - default: - name: Unknown - description: '' - cli: - cliKey: Unknown - - value: Active - language: - default: - name: Active - description: '' - cli: - cliKey: Active - - value: Disconnected - language: - default: - name: Disconnected - description: '' - cli: - cliKey: Disconnected - - value: Pending - language: - default: - name: Pending - description: '' - cli: - cliKey: Pending - - value: LogOff - language: - default: - name: LogOff - description: '' - cli: - cliKey: LogOff - - value: UserProfileDiskMounted - language: - default: - name: UserProfileDiskMounted - description: '' - cli: - cliKey: UserProfileDiskMounted - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: SessionState - description: State of user session. - cli: - cliKey: SessionState - protocol: {} - - &ref_75 - choices: - - value: Available - language: - default: - name: Available - description: '' - cli: - cliKey: Available - - value: Unavailable - language: - default: - name: Unavailable - description: '' - cli: - cliKey: Unavailable - - value: Shutdown - language: - default: - name: Shutdown - description: '' - cli: - cliKey: Shutdown - - value: Disconnected - language: - default: - name: Disconnected - description: '' - cli: - cliKey: Disconnected - - value: Upgrading - language: - default: - name: Upgrading - description: '' - cli: - cliKey: Upgrading - - value: UpgradeFailed - language: - default: - name: UpgradeFailed - description: '' - cli: - cliKey: UpgradeFailed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: Status - description: Status for a SessionHost. - cli: - cliKey: Status - protocol: {} - - &ref_79 - choices: - - value: Initial - language: - default: - name: Initial - description: '' - cli: - cliKey: Initial - - value: Pending - language: - default: - name: Pending - description: '' - cli: - cliKey: Pending - - value: Started - language: - default: - name: Started - description: '' - cli: - cliKey: Started - - value: Succeeded - language: - default: - name: Succeeded - description: '' - cli: - cliKey: Succeeded - - value: Failed - language: - default: - name: Failed - description: '' - cli: - cliKey: Failed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: UpdateState - description: Update state of a SessionHost. - cli: - cliKey: UpdateState - protocol: {} - constants: - - &ref_145 - type: constant - value: - value: 2019-12-10-preview - valueType: *ref_0 - language: - default: - name: ApiVersion-2019-12-10-preview - description: Api Version (2019-12-10-preview) - protocol: {} - - &ref_155 - type: constant - value: - value: application/json - valueType: *ref_0 - language: - default: - name: application/json - description: Content Type 'application/json' - protocol: {} - dictionaries: - - &ref_37 - type: dictionary - elementType: *ref_1 - language: - default: - name: TrackedResource-tags - description: Resource tags. - cli: - cli-complexity: dictionary_simple - cli-mark: checked - protocol: {} - any: - - &ref_39 - type: any - language: - default: - name: any - description: Any object - protocol: {} - byteArrays: - - &ref_56 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-iconContent - description: the icon a 64 bit string as a byte array. - protocol: {} - - &ref_60 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-iconContent - description: The icon a 64 bit string as a byte array. - protocol: {} - dateTimes: - - &ref_28 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: RegistrationInfo-expirationTime - description: Expiration time of registration token. - protocol: {} - - &ref_69 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionProperties-createTime - description: The timestamp of the user session create. - protocol: {} - - &ref_70 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-lastHeartBeat - description: Last heart beat from SessionHost. - protocol: {} - - &ref_76 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-statusTimestamp - description: The timestamp of the status. - protocol: {} - - &ref_80 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-lastUpdateTime - description: The timestamp of the last update. - protocol: {} - objects: - - &ref_148 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_132 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: &ref_7 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_2 - serializedName: name - language: - default: - name: name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cli: - cliKey: name - protocol: {} - - schema: &ref_8 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_3 - serializedName: provider - language: - default: - name: provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cli: - cliKey: provider - protocol: {} - - schema: *ref_4 - serializedName: resource - language: - default: - name: resource - description: Resource on which the operation is performed. - cli: - cliKey: resource - protocol: {} - - schema: *ref_5 - serializedName: operation - language: - default: - name: operation - description: 'Type of operation: get, read, delete, etc.' - cli: - cliKey: operation - protocol: {} - - schema: *ref_6 - serializedName: description - language: - default: - name: description - description: Description of this operation. - cli: - cliKey: description - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperation-display - description: Display metadata associated with the operation. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ResourceProviderOperation-display - protocol: {} - serializedName: display - language: - default: - name: display - description: Display metadata associated with the operation. - cli: - cliKey: display - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperation - description: Supported operation of this resource provider. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ResourceProviderOperation - protocol: {} - language: - default: - name: ResourceProviderOperationList-value - description: List of operations supported by this resource provider. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of operations supported by this resource provider. - cli: - cliKey: value - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperationList - description: Result of the request to list operations. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ResourceProviderOperationList - protocol: {} - - *ref_7 - - *ref_8 - - &ref_10 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_9 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_34 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - schema: &ref_94 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_11 - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: - cliKey: description - protocol: {} - - schema: *ref_12 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Workspace. - cli: - cliKey: friendlyName - protocol: {} - - schema: &ref_133 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_13 - language: - default: - name: WorkspaceProperties-applicationGroupReferences - description: List of applicationGroup resource Ids. - cli: - cli-complexity: array_simple - cli-mark: checked - protocol: {} - serializedName: applicationGroupReferences - language: - default: - name: applicationGroupReferences - description: List of applicationGroup resource Ids. - cli: - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: WorkspaceProperties - description: Schema for Workspace properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Workspace - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Workspace - description: Represents a Workspace definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: Workspace - protocol: {} - - &ref_35 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - schema: &ref_103 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_14 - required: false - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: - cliKey: description - protocol: {} - - schema: *ref_15 - required: false - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of ApplicationGroup. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_16 - required: true - serializedName: hostPoolArmPath - language: - default: - name: hostPoolArmPath - description: HostPool arm path of ApplicationGroup. - cli: - cliKey: hostPoolArmPath - protocol: {} - - schema: *ref_17 - readOnly: true - required: false - serializedName: workspaceArmPath - language: - default: - name: workspaceArmPath - description: Workspace arm path of ApplicationGroup. - cli: - cliKey: workspaceArmPath - protocol: {} - - schema: *ref_18 - required: true - serializedName: applicationGroupType - language: - default: - name: applicationGroupType - description: Resource Type of ApplicationGroup. - cli: - cliKey: applicationGroupType - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationGroupProperties - description: Schema for ApplicationGroup properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ApplicationGroupProperties - protocol: {} - required: true - serializedName: properties - extensions: - x-ms-client-flatten: true - x-nullable: false - language: - default: - name: properties - description: Detailed properties for ApplicationGroup - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationGroup - description: Represents a ApplicationGroup definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroup - protocol: {} - - &ref_36 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - schema: &ref_120 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_19 - required: false - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of HostPool. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_20 - required: false - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: - cliKey: description - protocol: {} - - schema: *ref_21 - required: true - serializedName: hostPoolType - language: - default: - name: hostPoolType - description: HostPool type for desktop. - cli: - cliKey: hostPoolType - protocol: {} - - schema: *ref_22 - required: true - serializedName: personalDesktopAssignmentType - language: - default: - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cli: - cliKey: personalDesktopAssignmentType - protocol: {} - - schema: *ref_23 - required: false - serializedName: customRdpProperty - language: - default: - name: customRdpProperty - description: Custom rdp property of HostPool. - cli: - cliKey: customRdpProperty - protocol: {} - - schema: *ref_24 - required: false - serializedName: maxSessionLimit - language: - default: - name: maxSessionLimit - description: The max session limit of HostPool. - cli: - cliKey: maxSessionLimit - protocol: {} - - schema: *ref_25 - required: true - serializedName: loadBalancerType - language: - default: - name: loadBalancerType - description: The type of the load balancer. - cli: - cliKey: loadBalancerType - protocol: {} - - schema: *ref_26 - required: false - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: - cliKey: ring - protocol: {} - - schema: *ref_27 - required: false - serializedName: validationEnvironment - language: - default: - name: validationEnvironment - description: Is validation environment. - cli: - cliKey: validationEnvironment - protocol: {} - - schema: &ref_121 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_28 - serializedName: expirationTime - language: - default: - name: expirationTime - description: Expiration time of registration token. - cli: - cliKey: expirationTime - protocol: {} - - schema: *ref_29 - serializedName: token - language: - default: - name: token - description: The registration token base64 encoded string. - cli: - cliKey: token - protocol: {} - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registrationTokenOperation - description: The type of resetting the token. - cli: - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: RegistrationInfo - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 3 - propertyCountIfSimplifyWithoutSimpleObject: 3 - simplifiable: true - cliKey: RegistrationInfo - protocol: {} - required: false - serializedName: registrationInfo - language: - default: - name: registrationInfo - description: The registration info of HostPool. - cli: - cliKey: registrationInfo - protocol: {} - - schema: *ref_31 - required: false - serializedName: vmTemplate - language: - default: - name: vmTemplate - description: VM template for sessionhosts configuration within hostpool. - cli: - cliKey: vmTemplate - protocol: {} - - schema: &ref_140 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_32 - language: - default: - name: HostPoolProperties-applicationGroupReferences - description: List of applicationGroup links. - cli: - cli-complexity: array_simple - cli-mark: checked - protocol: {} - readOnly: true - required: false - serializedName: applicationGroupReferences - language: - default: - name: applicationGroupReferences - description: List of applicationGroup links. - cli: - cliKey: applicationGroupReferences - protocol: {} - - schema: *ref_33 - required: false - serializedName: ssoContext - language: - default: - name: ssoContext - description: Path to keyvault containing ssoContext secret. - cli: - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: HostPoolProperties - description: Properties of HostPool. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 14 - propertyCountIfSimplifyWithoutSimpleObject: 12 - simplifiable: true - cliKey: HostPoolProperties - protocol: {} - required: true - serializedName: properties - extensions: - x-ms-client-flatten: true - x-nullable: false - language: - default: - name: properties - description: Detailed properties for HostPool - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: HostPool - description: Represents a HostPool definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPool - protocol: {} - immediate: - - *ref_34 - - *ref_35 - - *ref_36 - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_37 - required: false - serializedName: tags - language: - default: - name: tags - description: Resource tags. - cli: - cliKey: tags - protocol: {} - - schema: *ref_38 - required: true - serializedName: location - language: - default: - name: location - description: The geo-location where the resource lives - cli: - cliKey: location - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: TrackedResource - description: The resource model definition for a ARM tracked top level resource - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: TrackedResource - protocol: {} - - *ref_34 - - *ref_35 - - &ref_83 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_104 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_40 - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: - cliKey: description - protocol: {} - - schema: *ref_41 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of ApplicationGroup. - cli: - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: ApplicationGroupPatchProperties - description: ApplicationGroup properties that can be patched. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ApplicationGroupPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: ApplicationGroup properties that can be patched. - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: ApplicationGroupPatch - description: ApplicationGroup properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupPatch - protocol: {} - - &ref_84 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_106 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_42 - serializedName: appAlias - language: - default: - name: appAlias - description: Alias of StartMenuItem. - cli: - cliKey: appAlias - protocol: {} - - schema: *ref_43 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of StartMenuItem. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_44 - serializedName: filePath - language: - default: - name: filePath - description: Path to the file of StartMenuItem. - cli: - cliKey: filePath - protocol: {} - - schema: *ref_45 - serializedName: commandLineArguments - language: - default: - name: commandLineArguments - description: Command line arguments for StartMenuItem. - cli: - cliKey: commandLineArguments - protocol: {} - - schema: *ref_46 - serializedName: iconPath - language: - default: - name: iconPath - description: Path to the icon. - cli: - cliKey: iconPath - protocol: {} - - schema: *ref_47 - serializedName: iconIndex - language: - default: - name: iconIndex - description: Index of the icon. - cli: - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: StartMenuItemProperties - description: Schema for StartMenuItem properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 6 - simplifiable: true - cliKey: StartMenuItemProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for StartMenuItem - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: StartMenuItem - description: Represents a StartMenuItem definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: StartMenuItem - protocol: {} - - &ref_85 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_107 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_48 - required: false - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: - cliKey: description - protocol: {} - - schema: *ref_49 - required: false - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Application. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_50 - required: false - serializedName: filePath - language: - default: - name: filePath - description: Specifies a path for the executable file for the application. - cli: - cliKey: filePath - protocol: {} - - schema: *ref_51 - required: true - serializedName: commandLineSetting - language: - default: - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - cliKey: commandLineSetting - protocol: {} - - schema: *ref_52 - required: false - serializedName: commandLineArguments - language: - default: - name: commandLineArguments - description: Command Line Arguments for Application. - cli: - cliKey: commandLineArguments - protocol: {} - - schema: *ref_53 - required: false - serializedName: showInPortal - language: - default: - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: - cliKey: showInPortal - protocol: {} - - schema: *ref_54 - required: false - serializedName: iconPath - language: - default: - name: iconPath - description: Path to icon. - cli: - cliKey: iconPath - protocol: {} - - schema: *ref_47 - required: false - serializedName: iconIndex - language: - default: - name: iconIndex - description: Index of the icon. - cli: - cliKey: iconIndex - protocol: {} - - schema: *ref_55 - readOnly: true - required: false - serializedName: iconHash - language: - default: - name: iconHash - description: Hash of the icon. - cli: - cliKey: iconHash - protocol: {} - - schema: *ref_56 - readOnly: true - required: false - serializedName: iconContent - language: - default: - name: iconContent - description: the icon a 64 bit string as a byte array. - cli: - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationProperties - description: Schema for Application properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 8 - simplifiable: true - cliKey: ApplicationProperties - protocol: {} - required: true - serializedName: properties - extensions: - x-ms-client-flatten: true - x-nullable: false - language: - default: - name: properties - description: Detailed properties for Application - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Application - description: Schema for Application properties. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Application - protocol: {} - - &ref_86 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_115 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_57 - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: - cliKey: description - protocol: {} - - schema: *ref_58 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Desktop. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_59 - readOnly: true - serializedName: iconHash - language: - default: - name: iconHash - description: Hash of the icon. - cli: - cliKey: iconHash - protocol: {} - - schema: *ref_60 - readOnly: true - serializedName: iconContent - language: - default: - name: iconContent - description: The icon a 64 bit string as a byte array. - cli: - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: DesktopProperties - description: Schema for Desktop properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: DesktopProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Desktop - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Desktop - description: Schema for Desktop properties. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Desktop - protocol: {} - - *ref_36 - - &ref_87 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_122 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_61 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of HostPool. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_62 - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: - cliKey: description - protocol: {} - - schema: *ref_63 - serializedName: customRdpProperty - language: - default: - name: customRdpProperty - description: Custom rdp property of HostPool. - cli: - cliKey: customRdpProperty - protocol: {} - - schema: *ref_24 - serializedName: maxSessionLimit - language: - default: - name: maxSessionLimit - description: The max session limit of HostPool. - cli: - cliKey: maxSessionLimit - protocol: {} - - schema: *ref_22 - serializedName: personalDesktopAssignmentType - language: - default: - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cli: - cliKey: personalDesktopAssignmentType - protocol: {} - - schema: *ref_25 - serializedName: loadBalancerType - language: - default: - name: loadBalancerType - description: The type of the load balancer. - cli: - cliKey: loadBalancerType - protocol: {} - - schema: *ref_26 - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: - cliKey: ring - protocol: {} - - schema: *ref_27 - serializedName: validationEnvironment - language: - default: - name: validationEnvironment - description: Is validation environment. - cli: - cliKey: validationEnvironment - protocol: {} - - schema: &ref_123 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registrationTokenOperation - description: The type of resetting the token. - cli: - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: RegistrationInfoPatch - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 1 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: RegistrationInfoPatch - protocol: {} - serializedName: registrationInfo - language: - default: - name: registrationInfo - description: The registration info of HostPool. - cli: - cliKey: registrationInfo - protocol: {} - - schema: *ref_64 - serializedName: ssoContext - language: - default: - name: ssoContext - description: Path to keyvault containing ssoContext secret. - cli: - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: HostPoolPatchProperties - description: Properties of HostPool. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 10 - simplifiable: true - cliKey: HostPoolPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: HostPool properties that can be patched. - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: HostPoolPatch - description: HostPool properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolPatch - protocol: {} - - &ref_88 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_126 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_65 - serializedName: userPrincipalName - language: - default: - name: userPrincipalName - description: The user principal name. - cli: - cliKey: userPrincipalName - protocol: {} - - schema: *ref_66 - serializedName: applicationType - language: - default: - name: applicationType - description: Application type of application. - cli: - cliKey: applicationType - protocol: {} - - schema: *ref_67 - serializedName: sessionState - language: - default: - name: sessionState - description: State of user session. - cli: - cliKey: sessionState - protocol: {} - - schema: *ref_68 - serializedName: activeDirectoryUserName - language: - default: - name: activeDirectoryUserName - description: The active directory user name. - cli: - cliKey: activeDirectoryUserName - protocol: {} - - schema: *ref_69 - serializedName: createTime - language: - default: - name: createTime - description: The timestamp of the user session create. - cli: - cliKey: createTime - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: UserSessionProperties - description: Schema for UserSession properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 5 - simplifiable: true - cliKey: UserSessionProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for UserSession - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: UserSession - description: Represents a UserSession definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: UserSession - protocol: {} - - &ref_89 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_127 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_70 - serializedName: lastHeartBeat - language: - default: - name: lastHeartBeat - description: Last heart beat from SessionHost. - cli: - cliKey: lastHeartBeat - protocol: {} - - schema: *ref_71 - serializedName: sessions - language: - default: - name: sessions - description: Number of sessions on SessionHost. - cli: - cliKey: sessions - protocol: {} - - schema: *ref_72 - serializedName: agentVersion - language: - default: - name: agentVersion - description: Version of agent on SessionHost. - cli: - cliKey: agentVersion - protocol: {} - - schema: *ref_73 - serializedName: allowNewSession - language: - default: - name: allowNewSession - description: Allow a new session. - cli: - cliKey: allowNewSession - protocol: {} - - schema: *ref_74 - serializedName: assignedUser - language: - default: - name: assignedUser - description: User assigned to SessionHost. - cli: - cliKey: assignedUser - protocol: {} - - schema: *ref_75 - serializedName: status - language: - default: - name: status - description: Status for a SessionHost. - cli: - cliKey: status - protocol: {} - - schema: *ref_76 - readOnly: true - serializedName: statusTimestamp - language: - default: - name: statusTimestamp - description: The timestamp of the status. - cli: - cliKey: statusTimestamp - protocol: {} - - schema: *ref_77 - serializedName: osVersion - language: - default: - name: osVersion - description: The version of the OS on the session host. - cli: - cliKey: osVersion - protocol: {} - - schema: *ref_78 - serializedName: sxSStackVersion - language: - default: - name: sxSStackVersion - description: The version of the side by side stack on the session host. - cli: - cliKey: sxSStackVersion - protocol: {} - - schema: *ref_79 - serializedName: updateState - language: - default: - name: updateState - description: Update state of a SessionHost. - cli: - cliKey: updateState - protocol: {} - - schema: *ref_80 - readOnly: true - serializedName: lastUpdateTime - language: - default: - name: lastUpdateTime - description: The timestamp of the last update. - cli: - cliKey: lastUpdateTime - protocol: {} - - schema: *ref_81 - serializedName: updateErrorMessage - language: - default: - name: updateErrorMessage - description: The error message. - cli: - cliKey: updateErrorMessage - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: SessionHostProperties - description: Schema for SessionHost properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 10 - simplifiable: true - cliKey: SessionHostProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for SessionHost - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: SessionHost - description: Represents a SessionHost definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHost - protocol: {} - - &ref_90 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_128 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_73 - serializedName: allowNewSession - language: - default: - name: allowNewSession - description: Allow a new session. - cli: - cliKey: allowNewSession - protocol: {} - - schema: *ref_82 - serializedName: assignedUser - language: - default: - name: assignedUser - description: User assigned to SessionHost. - cli: - cliKey: assignedUser - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: SessionHostPatchProperties - description: SessionHost properties that can be patched. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SessionHostPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for SessionHost - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: SessionHostPatch - description: SessionHost properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHostPatch - protocol: {} - immediate: - - *ref_9 - - *ref_83 - - *ref_84 - - *ref_85 - - *ref_86 - - *ref_87 - - *ref_88 - - *ref_89 - - *ref_90 - properties: - - schema: *ref_91 - readOnly: true - serializedName: id - language: - default: - name: id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cli: - cliKey: id - protocol: {} - - schema: *ref_92 - readOnly: true - serializedName: name - language: - default: - name: name - description: The name of the resource - cli: - cliKey: name - protocol: {} - - schema: *ref_93 - readOnly: true - serializedName: type - language: - default: - name: type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cli: - cliKey: type - protocol: {} - serializationFormats: - - json - usage: - - output - - input - extensions: - x-ms-azure-resource: true - language: - default: - name: Resource - description: '' - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 0 - propertyCountIfSimplifyWithoutSimpleObject: 0 - simplifiable: true - cliKey: Resource - protocol: {} - - *ref_9 - - *ref_34 - - *ref_94 - - &ref_154 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_95 - serializedName: code - language: - default: - name: code - description: Error code - cli: - cliKey: code - protocol: {} - - schema: *ref_96 - serializedName: message - language: - default: - name: message - description: Error message indicating why the operation failed. - cli: - cliKey: message - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: CloudError - description: Error response of an operation failure - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: CloudError - protocol: {} - - &ref_161 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_100 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_97 - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: - cliKey: description - protocol: {} - - schema: *ref_98 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Workspace. - cli: - cliKey: friendlyName - protocol: {} - - schema: &ref_134 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_99 - language: - default: - name: WorkspacePatchProperties-applicationGroupReferences - description: List of applicationGroup links. - cli: - cli-complexity: array_simple - cli-mark: checked - protocol: {} - serializedName: applicationGroupReferences - language: - default: - name: applicationGroupReferences - description: List of applicationGroup links. - cli: - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: WorkspacePatchProperties - description: Workspace properties that can be patched. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Workspace - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: WorkspacePatch - description: Workspace properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatch - protocol: {} - - *ref_100 - - &ref_166 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_135 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_34 - language: - default: - name: WorkspaceList-value - description: List of Workspace definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Workspace definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_101 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: WorkspaceList - usage: - - output - language: - default: - name: WorkspaceList - description: List of Workspace definitions. - namespace: '' - summary: WorkspaceList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceList - protocol: {} - - &ref_171 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_136 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_35 - language: - default: - name: ApplicationGroupList-value - description: List of ApplicationGroup definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of ApplicationGroup definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_102 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationGroupList - usage: - - output - language: - default: - name: ApplicationGroupList - description: List of ApplicationGroup definitions. - namespace: '' - summary: ApplicationGroupList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupList - protocol: {} - - *ref_35 - - *ref_103 - - *ref_83 - - *ref_104 - - &ref_187 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_137 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_84 - language: - default: - name: StartMenuItemList-value - description: List of StartMenuItem definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of StartMenuItem definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_105 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: StartMenuItemList - usage: - - output - language: - default: - name: StartMenuItemList - description: List of StartMenuItem definitions. - namespace: '' - summary: StartMenuItemList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: StartMenuItemList - protocol: {} - - *ref_84 - - *ref_106 - - *ref_85 - - *ref_107 - - &ref_198 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_113 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_108 - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: - cliKey: description - protocol: {} - - schema: *ref_109 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Application. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_110 - serializedName: filePath - language: - default: - name: filePath - description: Specifies a path for the executable file for the application. - cli: - cliKey: filePath - protocol: {} - - schema: *ref_51 - serializedName: commandLineSetting - language: - default: - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - cliKey: commandLineSetting - protocol: {} - - schema: *ref_111 - serializedName: commandLineArguments - language: - default: - name: commandLineArguments - description: Command Line Arguments for Application. - cli: - cliKey: commandLineArguments - protocol: {} - - schema: *ref_53 - serializedName: showInPortal - language: - default: - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: - cliKey: showInPortal - protocol: {} - - schema: *ref_112 - serializedName: iconPath - language: - default: - name: iconPath - description: Path to icon. - cli: - cliKey: iconPath - protocol: {} - - schema: *ref_47 - serializedName: iconIndex - language: - default: - name: iconIndex - description: Index of the icon. - cli: - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: ApplicationPatchProperties - description: Application properties that can be patched. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 8 - simplifiable: true - cliKey: ApplicationPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Application - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: ApplicationPatch - description: Application properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationPatch - protocol: {} - - *ref_113 - - &ref_205 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_138 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_85 - language: - default: - name: ApplicationList-value - description: List of Application definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Application definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_114 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationList - usage: - - output - language: - default: - name: ApplicationList - description: List of Application definitions. - namespace: '' - summary: ApplicationList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationList - protocol: {} - - *ref_86 - - *ref_115 - - &ref_209 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_118 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_116 - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: - cliKey: description - protocol: {} - - schema: *ref_117 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Desktop. - cli: - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: DesktopPatchProperties - description: Desktop properties that can be patched. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: DesktopPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Desktop - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: DesktopPatch - description: Desktop properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopPatch - protocol: {} - - *ref_118 - - &ref_216 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_139 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_86 - language: - default: - name: DesktopList-value - description: List of Desktop definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Desktop definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_119 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: DesktopList - usage: - - output - language: - default: - name: DesktopList - description: List of Desktop definitions. - namespace: '' - summary: DesktopList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopList - protocol: {} - - *ref_36 - - *ref_120 - - *ref_121 - - *ref_87 - - *ref_122 - - *ref_123 - - &ref_230 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_141 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_36 - language: - default: - name: HostPoolList-value - description: List of HostPool definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of HostPool definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_124 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: HostPoolList - usage: - - output - language: - default: - name: HostPoolList - description: List of HostPool definitions. - namespace: '' - summary: HostPoolList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolList - protocol: {} - - &ref_234 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_142 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_88 - language: - default: - name: UserSessionList-value - description: List of UserSession definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of UserSession definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_125 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: UserSessionList - usage: - - output - language: - default: - name: UserSessionList - description: List of UserSession definitions. - namespace: '' - summary: UserSessionList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: UserSessionList - protocol: {} - - *ref_88 - - *ref_126 - - *ref_89 - - *ref_127 - - *ref_90 - - *ref_128 - - &ref_272 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_143 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_89 - language: - default: - name: SessionHostList-value - description: List of SessionHost definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of SessionHost definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_129 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: SessionHostList - usage: - - output - language: - default: - name: SessionHostList - description: List of SessionHost definitions. - namespace: '' - summary: SessionHostList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: SessionHostList - protocol: {} - - &ref_253 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_130 - serializedName: messageTitle - language: - default: - name: messageTitle - description: Title of message. - cli: - cliKey: messageTitle - protocol: {} - - schema: *ref_131 - serializedName: messageBody - language: - default: - name: messageBody - description: Body of message. - cli: - cliKey: messageBody - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: SendMessage - description: Represents message sent to a UserSession. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SendMessage - protocol: {} - arrays: - - *ref_132 - - *ref_133 - - *ref_134 - - *ref_135 - - *ref_136 - - *ref_137 - - *ref_138 - - *ref_139 - - *ref_140 - - *ref_141 - - *ref_142 - - *ref_143 -globalParameters: - - &ref_149 - schema: *ref_144 - implementation: Client - required: true - extensions: - x-ms-priority: 0 - language: - default: - name: subscriptionId - description: The ID of the target subscription. - serializedName: subscriptionId - cli: - cliKey: subscriptionId - protocol: - http: - in: path - - &ref_146 - schema: *ref_0 - clientDefaultValue: 'https://management.azure.com' - implementation: Client - origin: 'modelerfour:synthesized/host' - required: true - extensions: - x-ms-skip-url-encoding: true - language: - default: - name: $host - description: server parameter - serializedName: $host - cli: - cliKey: $host - protocol: - http: - in: uri - - &ref_147 - schema: *ref_145 - implementation: Client - origin: 'modelerfour:synthesized/api-version' - required: true - language: - default: - name: ApiVersion - description: Api Version - serializedName: api-version - cli: - cliKey: ApiVersion - protocol: - http: - in: query -operationGroups: - - $key: Operations - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: /providers/Microsoft.DesktopVirtualization/operations - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_148 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - extensions: - x-ms-examples: - OperationDescription_List: - parameters: - api-version: 2019-12-10-preview - responses: - '200': - body: - value: - - name: Microsoft.DesktopVirtualization/ssocontext/read - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - - name: Microsoft.DesktopVirtualization/ssocontext/write - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - language: - default: - name: List - description: List all of the available operations the Desktop Virtualization resource provider supports. - cli: - cliKey: List - protocol: {} - language: - default: - name: Operations - description: '' - cli: - cliKey: Operations - protocol: {} - - $key: Workspaces - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_152 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_153 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_152 - - *ref_153 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Get: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: Get - description: Get a workspace. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_157 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_158 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_156 - schema: *ref_34 - implementation: Method - required: true - language: - default: - name: workspace - description: Object containing Workspace definitions. - cli: - cliKey: workspace - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_156 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_157 - - *ref_158 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Create: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '201': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: CreateOrUpdate - description: Create or update a workspace. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_159 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_160 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_159 - - *ref_160 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Delete: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: Delete - description: Remove a workspace. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_163 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_164 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_162 - schema: *ref_161 - implementation: Method - required: false - language: - default: - name: workspace - description: Object containing Workspace definitions. - cli: - cliKey: workspace - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_162 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_163 - - *ref_164 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Update: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: Update - description: Update a workspace. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_165 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: - - *ref_165 - responses: - - schema: *ref_166 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByResourceGroup - description: List workspaces. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_166 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListBySubscription: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListBySubscription - description: List workspaces in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySubscription - protocol: {} - language: - default: - name: Workspaces - description: '' - cli: - cliKey: Workspaces - protocol: {} - - $key: ApplicationGroupAssignments - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_168 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_169 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - - &ref_170 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' - method: get - uri: '{$host}' - signatureParameters: - - *ref_168 - - *ref_169 - - *ref_170 - responses: - - schema: *ref_171 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroupAssignment_WorkspaceLevelList: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: WorkspaceLevelList - description: List application group that user can use. - paging: - nextLinkName: nextLink - cli: - cliKey: WorkspaceLevelList - protocol: {} - language: - default: - name: ApplicationGroupAssignments - description: '' - cli: - cliKey: ApplicationGroupAssignments - protocol: {} - - $key: ApplicationGroups - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_172 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_173 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_172 - - *ref_173 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: Get - description: Get an application group. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_175 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_176 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_174 - schema: *ref_35 - implementation: Method - required: true - language: - default: - name: applicationGroup - description: Object containing ApplicationGroup definitions. - cli: - cliKey: applicationGroup - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_174 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_175 - - *ref_176 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Create: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '201': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: CreateOrUpdate - description: Create or update an applicationGroup. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_177 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_178 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_177 - - *ref_178 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: Delete - description: Remove an applicationGroup. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_180 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_181 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_179 - schema: *ref_83 - implementation: Method - required: false - language: - default: - name: applicationGroup - description: Object containing ApplicationGroup definitions. - cli: - cliKey: applicationGroup - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_179 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_180 - - *ref_181 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroups_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: Update - description: Update an applicationGroup. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_182 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_183 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_182 - - *ref_183 - responses: - - schema: *ref_171 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_ListByResourceGroup: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByResourceGroup - description: List applicationGroups. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_184 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_184 - responses: - - schema: *ref_171 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_List: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListBySubscription - description: List applicationGroups in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySubscription - protocol: {} - language: - default: - name: ApplicationGroups - description: '' - cli: - cliKey: ApplicationGroups - protocol: {} - - $key: StartMenuItems - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_185 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_186 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' - method: get - uri: '{$host}' - signatureParameters: - - *ref_185 - - *ref_186 - responses: - - schema: *ref_187 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - StartMenuItem_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: application1 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 - properties: - appAlias: word - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - - name: application2 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 - properties: - appAlias: excel - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List start menu items in the given application group. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: StartMenuItems - description: '' - cli: - cliKey: StartMenuItems - protocol: {} - - $key: Applications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_188 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_189 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_190 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_188 - - *ref_189 - - *ref_190 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: Get - description: Get an application. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_192 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_193 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_194 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_191 - schema: *ref_85 - implementation: Method - required: true - language: - default: - name: application - description: Object containing Application definitions. - cli: - cliKey: application - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_191 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_192 - - *ref_193 - - *ref_194 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Create: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '201': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: CreateOrUpdate - description: Create or update an application. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_195 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_196 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_197 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_195 - - *ref_196 - - *ref_197 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '204': {} - language: - default: - name: Delete - description: Remove an application. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_200 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_201 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_202 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_199 - schema: *ref_198 - implementation: Method - required: false - language: - default: - name: application - description: Object containing Application definitions. - cli: - cliKey: application - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_199 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_200 - - *ref_201 - - *ref_202 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Update: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: Update - description: Update an application. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_203 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_204 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_203 - - *ref_204 - responses: - - schema: *ref_205 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Applications_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List applications. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: Applications - description: '' - cli: - cliKey: Applications - protocol: {} - - $key: Desktops - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_206 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_207 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_208 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: desktopName - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - cliKey: desktopName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_206 - - *ref_207 - - *ref_208 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: Get - description: Get a desktop. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_211 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_212 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_213 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: desktopName - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - cliKey: desktopName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_210 - schema: *ref_209 - implementation: Method - required: false - language: - default: - name: desktop - description: Object containing Desktop definitions. - cli: - cliKey: desktop - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_210 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_211 - - *ref_212 - - *ref_213 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktop: - properties: - description: des1 - friendlyName: friendly - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: Update - description: Update a desktop. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_214 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_215 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' - method: get - uri: '{$host}' - signatureParameters: - - *ref_214 - - *ref_215 - responses: - - schema: *ref_216 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: List - description: List desktops. - cli: - cliKey: List - protocol: {} - language: - default: - name: Desktops - description: '' - cli: - cliKey: Desktops - protocol: {} - - $key: HostPools - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_217 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_218 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_217 - - *ref_218 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: Get - description: Get a host pool. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_220 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_221 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_219 - schema: *ref_36 - implementation: Method - required: true - language: - default: - name: hostPool - description: Object containing HostPool definitions. - cli: - cliKey: hostPool - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_219 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_220 - - *ref_221 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Create: - parameters: - api-version: 2019-12-10-preview - hostPool: - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '201': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: CreateOrUpdate - description: Create or update a host pool. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_223 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_224 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_225 - schema: *ref_222 - implementation: Method - language: - default: - name: force - description: Force flag to delete sessionHost. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_223 - - *ref_224 - - *ref_225 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: Delete - description: Remove a host pool. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_227 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_228 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_226 - schema: *ref_87 - implementation: Method - required: false - language: - default: - name: hostPool - description: Object containing HostPool definitions. - cli: - cliKey: hostPool - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_226 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_227 - - *ref_228 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Update: - parameters: - api-version: 2019-12-10-preview - hostPool: - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-02T14:01:54.9571247Z' - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: Update - description: Update a host pool. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_229 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: - - *ref_229 - responses: - - schema: *ref_230 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByResourceGroup - description: List hostPools. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_230 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_List: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List hostPools in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: HostPools - description: '' - cli: - cliKey: HostPools - protocol: {} - - $key: UserSessions - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_231 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_232 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_233 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_231 - - *ref_232 - - *ref_233 - responses: - - schema: *ref_234 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_ListByHostPool: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByHostPool - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByHostPool - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_237 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_238 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_239 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_240 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_237 - - *ref_238 - - *ref_239 - - *ref_240 - responses: - - schema: *ref_88 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - body: - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - language: - default: - name: Get - description: Get a userSession. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_241 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_242 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_243 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_244 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - - &ref_245 - schema: *ref_222 - implementation: Method - language: - default: - name: force - description: Force flag to login off userSession. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_241 - - *ref_242 - - *ref_243 - - *ref_244 - - *ref_245 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - '204': {} - language: - default: - name: Delete - description: Remove a userSession. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_246 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_247 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_248 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_246 - - *ref_247 - - *ref_248 - responses: - - schema: *ref_234 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_249 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_250 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_251 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_252 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' - method: post - uri: '{$host}' - signatureParameters: - - *ref_249 - - *ref_250 - - *ref_251 - - *ref_252 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Disconnect_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: Disconnect - description: Disconnect a userSession. - cli: - cliKey: Disconnect - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_255 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_256 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_257 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_258 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_254 - schema: *ref_253 - implementation: Method - required: false - language: - default: - name: sendMessage - description: Object containing message includes title and message body - cli: - cliKey: sendMessage - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_254 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' - method: post - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_255 - - *ref_256 - - *ref_257 - - *ref_258 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_SendMessage_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sendMessage: - messageBody: body - messageTitle: title - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: SendMessage - description: Send a message to a user. - cli: - cliKey: SendMessage - protocol: {} - language: - default: - name: UserSessions - description: '' - cli: - cliKey: UserSessions - protocol: {} - - $key: SessionHosts - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_259 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_260 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_261 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_259 - - *ref_260 - - *ref_261 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: Get - description: Get a session host. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_262 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_263 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_264 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_265 - schema: *ref_222 - implementation: Method - language: - default: - name: force - description: Force flag to force sessionHost deletion even when userSession exists. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_262 - - *ref_263 - - *ref_264 - - *ref_265 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - '204': {} - language: - default: - name: Delete - description: Remove a SessionHost. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_267 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_268 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_269 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_266 - schema: *ref_90 - implementation: Method - required: false - language: - default: - name: sessionHost - description: Object containing SessionHost definitions. - cli: - cliKey: sessionHost - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_266 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_267 - - *ref_268 - - *ref_269 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Update: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHost: - properties: - allowNewSession: true - assignedUser: user1@microsoft.com - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2019-01-11T19:27:13.6108027Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2019-01-24T20:00:08.2893033Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: Update - description: Update a session host. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_270 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_271 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' - method: get - uri: '{$host}' - signatureParameters: - - *ref_270 - - *ref_271 - responses: - - schema: *ref_272 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - - name: sessionHost2.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user2@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List sessionHosts. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: SessionHosts - description: '' - cli: - cliKey: SessionHosts - protocol: {} - - $key: ActiveApplications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_273 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_274 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_275 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_276 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_273 - - *ref_274 - - *ref_275 - - *ref_276 - responses: - - schema: *ref_205 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ActiveApplications_List: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListBySessionHost - description: List applications for the given session host. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySessionHost - protocol: {} - language: - default: - name: ActiveApplications - description: '' - cli: - cliKey: ActiveApplications - protocol: {} -language: - default: - name: '' - description: '' -protocol: - http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000050-flatten-set-pre-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000050-flatten-set-pre-simplified.yaml deleted file mode 100644 index 0be013f26b8..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000050-flatten-set-pre-simplified.yaml +++ /dev/null @@ -1,1978 +0,0 @@ -operationGroups: - all: - - operationGroupName: Operations - cli: - cliKey: Operations - operations: - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - operationGroupName: Workspaces - cli: - cliKey: Workspaces - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - operationName: CreateOrUpdate - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: workspace(Workspace^object) - cli: - cliKey: workspace - bodySchema: Workspace - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: workspace(WorkspacePatch^object) - cli: - cliKey: workspace - bodySchema: WorkspacePatch - - operationName: ListByResourceGroup - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - operationName: ListBySubscription - cli: - cliKey: ListBySubscription - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - operationGroupName: ApplicationGroupAssignments - cli: - cliKey: ApplicationGroupAssignments - operations: - - operationName: WorkspaceLevelList - cli: - cliKey: WorkspaceLevelList - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - parameterName: $filter(string^string) - cli: - cliKey: $filter - - operationGroupName: ApplicationGroups - cli: - cliKey: ApplicationGroups - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationName: CreateOrUpdate - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: applicationGroup(ApplicationGroup^object) - cli: - cliKey: applicationGroup - bodySchema: ApplicationGroup - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: applicationGroup(ApplicationGroupPatch^object) - cli: - cliKey: applicationGroup - bodySchema: ApplicationGroupPatch - - operationName: ListByResourceGroup - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: $filter(string^string) - cli: - cliKey: $filter - - operationName: ListBySubscription - cli: - cliKey: ListBySubscription - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: $filter(string^string) - cli: - cliKey: $filter - - operationGroupName: StartMenuItems - cli: - cliKey: StartMenuItems - operations: - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: Applications - cli: - cliKey: Applications - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: applicationName(string^string) - cli: - cliKey: applicationName - - operationName: CreateOrUpdate - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: applicationName(string^string) - cli: - cliKey: applicationName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: application(Application^object) - cli: - cliKey: application - bodySchema: Application - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: applicationName(string^string) - cli: - cliKey: applicationName - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: applicationName(string^string) - cli: - cliKey: applicationName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: application(ApplicationPatch^object) - cli: - cliKey: application - bodySchema: ApplicationPatch - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: Desktops - cli: - cliKey: Desktops - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: desktopName(string^string) - cli: - cliKey: desktopName - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: desktopName(string^string) - cli: - cliKey: desktopName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: desktop(DesktopPatch^object) - cli: - cliKey: desktop - bodySchema: DesktopPatch - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: HostPools - cli: - cliKey: HostPools - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - operationName: CreateOrUpdate - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: hostPool(HostPool^object) - cli: - cliKey: hostPool - bodySchema: HostPool - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: hostPool(HostPoolPatch^object) - cli: - cliKey: hostPool - bodySchema: HostPoolPatch - - operationName: ListByResourceGroup - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - operationGroupName: UserSessions - cli: - cliKey: UserSessions - operations: - - operationName: ListByHostPool - cli: - cliKey: ListByHostPool - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: $filter(string^string) - cli: - cliKey: $filter - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: userSessionId(string^string) - cli: - cliKey: userSessionId - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: userSessionId(string^string) - cli: - cliKey: userSessionId - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - operationName: Disconnect - cli: - cliKey: Disconnect - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: userSessionId(string^string) - cli: - cliKey: userSessionId - - operationName: SendMessage - cli: - cliKey: SendMessage - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: userSessionId(string^string) - cli: - cliKey: userSessionId - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: sendMessage(SendMessage^object) - cli: - cliKey: sendMessage - bodySchema: SendMessage - - operationGroupName: SessionHosts - cli: - cliKey: SessionHosts - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: sessionHost(SessionHostPatch^object) - cli: - cliKey: sessionHost - bodySchema: SessionHostPatch - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - operationGroupName: ActiveApplications - cli: - cliKey: ActiveApplications - operations: - - operationName: ListBySessionHost - cli: - cliKey: ListBySessionHost - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: $filter(string^string) - cli: - cliKey: $filter -schemas: - objects: - all: - - schemaName: ResourceProviderOperationList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ResourceProviderOperationList - properties: - - propertyName: value(ResourceProviderOperationList-value^array) - cli: - cliKey: value - - schemaName: ResourceProviderOperation - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ResourceProviderOperation - properties: - - propertyName: name(ResourceProviderOperation-name^string) - cli: - cliKey: name - - propertyName: display(ResourceProviderOperation-display^object) - cli: - cliKey: display - - schemaName: ResourceProviderOperation-display - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ResourceProviderOperation-display - properties: - - propertyName: provider(ResourceProviderOperation-display-provider^string) - cli: - cliKey: provider - - propertyName: resource(ResourceProviderOperation-display-resource^string) - cli: - cliKey: resource - - propertyName: operation(ResourceProviderOperation-display-operation^string) - cli: - cliKey: operation - - propertyName: description(ResourceProviderOperation-display-description^string) - cli: - cliKey: description - - schemaName: Resource - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 0 - propertyCountIfSimplifyWithoutSimpleObject: 0 - simplifiable: true - cliKey: Resource - properties: - - propertyName: id(Resource-id^string) - cli: - cliKey: id - readOnly: true - - propertyName: name(Resource-name^string) - cli: - cliKey: name - readOnly: true - - propertyName: type(Resource-type^string) - cli: - cliKey: type - readOnly: true - - schemaName: TrackedResource - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: TrackedResource - properties: - - propertyName: tags(TrackedResource-tags^dictionary) - cli: - cliKey: tags - - propertyName: location(TrackedResource-location^string) - cli: - cliKey: location - - schemaName: Workspace - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: Workspace - properties: - - propertyName: properties(WorkspaceProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: WorkspaceProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceProperties - properties: - - propertyName: description(WorkspaceProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(WorkspaceProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: applicationGroupReferences(WorkspaceProperties-applicationGroupReferences^array) - cli: - cliKey: applicationGroupReferences - - schemaName: CloudError - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: CloudError - properties: - - propertyName: code(CloudError-code^string) - cli: - cliKey: code - - propertyName: message(CloudError-message^string) - cli: - cliKey: message - - schemaName: WorkspacePatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(WorkspacePatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: WorkspacePatchProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatchProperties - properties: - - propertyName: description(WorkspacePatchProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(WorkspacePatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: applicationGroupReferences(WorkspacePatchProperties-applicationGroupReferences^array) - cli: - cliKey: applicationGroupReferences - - schemaName: WorkspaceList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceList - properties: - - propertyName: value(WorkspaceList-value^array) - cli: - cliKey: value - - propertyName: nextLink(WorkspaceList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: ApplicationGroupList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupList - properties: - - propertyName: value(ApplicationGroupList-value^array) - cli: - cliKey: value - - propertyName: nextLink(ApplicationGroupList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: ApplicationGroup - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroup - properties: - - propertyName: properties(ApplicationGroupProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: ApplicationGroupProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ApplicationGroupProperties - properties: - - propertyName: description(ApplicationGroupProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(ApplicationGroupProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: hostPoolArmPath(ApplicationGroupProperties-hostPoolArmPath^string) - cli: - cliKey: hostPoolArmPath - - propertyName: workspaceArmPath(ApplicationGroupProperties-workspaceArmPath^string) - cli: - cliKey: workspaceArmPath - readOnly: true - - propertyName: applicationGroupType(ApplicationGroupType^choice) - cli: - cliKey: applicationGroupType - - schemaName: ApplicationGroupPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(ApplicationGroupPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: ApplicationGroupPatchProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ApplicationGroupPatchProperties - properties: - - propertyName: description(ApplicationGroupPatchProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(ApplicationGroupPatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - schemaName: StartMenuItemList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: StartMenuItemList - properties: - - propertyName: value(StartMenuItemList-value^array) - cli: - cliKey: value - - propertyName: nextLink(StartMenuItemList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: StartMenuItem - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: StartMenuItem - properties: - - propertyName: properties(StartMenuItemProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: StartMenuItemProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 6 - simplifiable: true - cliKey: StartMenuItemProperties - properties: - - propertyName: appAlias(StartMenuItemProperties-appAlias^string) - cli: - cliKey: appAlias - - propertyName: friendlyName(StartMenuItemProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: filePath(StartMenuItemProperties-filePath^string) - cli: - cliKey: filePath - - propertyName: commandLineArguments(StartMenuItemProperties-commandLineArguments^string) - cli: - cliKey: commandLineArguments - - propertyName: iconPath(StartMenuItemProperties-iconPath^string) - cli: - cliKey: iconPath - - propertyName: iconIndex(integer^integer) - cli: - cliKey: iconIndex - - schemaName: Application - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Application - properties: - - propertyName: properties(ApplicationProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: ApplicationProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 8 - simplifiable: true - cliKey: ApplicationProperties - properties: - - propertyName: description(ApplicationProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(ApplicationProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: filePath(ApplicationProperties-filePath^string) - cli: - cliKey: filePath - - propertyName: commandLineSetting(CommandLineSetting^choice) - cli: - cliKey: commandLineSetting - - propertyName: commandLineArguments(ApplicationProperties-commandLineArguments^string) - cli: - cliKey: commandLineArguments - - propertyName: showInPortal(boolean^boolean) - cli: - cliKey: showInPortal - - propertyName: iconPath(ApplicationProperties-iconPath^string) - cli: - cliKey: iconPath - - propertyName: iconIndex(integer^integer) - cli: - cliKey: iconIndex - - propertyName: iconHash(ApplicationProperties-iconHash^string) - cli: - cliKey: iconHash - readOnly: true - - propertyName: iconContent(ApplicationProperties-iconContent^byte-array) - cli: - cliKey: iconContent - readOnly: true - - schemaName: ApplicationPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(ApplicationPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: ApplicationPatchProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 8 - simplifiable: true - cliKey: ApplicationPatchProperties - properties: - - propertyName: description(ApplicationPatchProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(ApplicationPatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: filePath(ApplicationPatchProperties-filePath^string) - cli: - cliKey: filePath - - propertyName: commandLineSetting(CommandLineSetting^choice) - cli: - cliKey: commandLineSetting - - propertyName: commandLineArguments(ApplicationPatchProperties-commandLineArguments^string) - cli: - cliKey: commandLineArguments - - propertyName: showInPortal(boolean^boolean) - cli: - cliKey: showInPortal - - propertyName: iconPath(ApplicationPatchProperties-iconPath^string) - cli: - cliKey: iconPath - - propertyName: iconIndex(integer^integer) - cli: - cliKey: iconIndex - - schemaName: ApplicationList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationList - properties: - - propertyName: value(ApplicationList-value^array) - cli: - cliKey: value - - propertyName: nextLink(ApplicationList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: Desktop - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Desktop - properties: - - propertyName: properties(DesktopProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: DesktopProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: DesktopProperties - properties: - - propertyName: description(DesktopProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(DesktopProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: iconHash(DesktopProperties-iconHash^string) - cli: - cliKey: iconHash - readOnly: true - - propertyName: iconContent(DesktopProperties-iconContent^byte-array) - cli: - cliKey: iconContent - readOnly: true - - schemaName: DesktopPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(DesktopPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: DesktopPatchProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: DesktopPatchProperties - properties: - - propertyName: description(DesktopPatchProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(DesktopPatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - schemaName: DesktopList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopList - properties: - - propertyName: value(DesktopList-value^array) - cli: - cliKey: value - - propertyName: nextLink(DesktopList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: HostPool - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPool - properties: - - propertyName: properties(HostPoolProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: HostPoolProperties - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 14 - propertyCountIfSimplifyWithoutSimpleObject: 12 - simplifiable: true - cliKey: HostPoolProperties - properties: - - propertyName: friendlyName(HostPoolProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: description(HostPoolProperties-description^string) - cli: - cliKey: description - - propertyName: hostPoolType(HostPoolType^choice) - cli: - cliKey: hostPoolType - - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) - cli: - cliKey: personalDesktopAssignmentType - - propertyName: customRdpProperty(HostPoolProperties-customRdpProperty^string) - cli: - cliKey: customRdpProperty - - propertyName: maxSessionLimit(integer^integer) - cli: - cliKey: maxSessionLimit - - propertyName: loadBalancerType(LoadBalancerType^choice) - cli: - cliKey: loadBalancerType - - propertyName: ring(integer^integer) - cli: - cliKey: ring - - propertyName: validationEnvironment(boolean^boolean) - cli: - cliKey: validationEnvironment - - propertyName: registrationInfo(RegistrationInfo^object) - cli: - cliKey: registrationInfo - - propertyName: vmTemplate(HostPoolProperties-vmTemplate^string) - cli: - cliKey: vmTemplate - - propertyName: applicationGroupReferences(HostPoolProperties-applicationGroupReferences^array) - cli: - cliKey: applicationGroupReferences - readOnly: true - - propertyName: ssoContext(HostPoolProperties-ssoContext^string) - cli: - cliKey: ssoContext - - schemaName: RegistrationInfo - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 3 - propertyCountIfSimplifyWithoutSimpleObject: 3 - simplifiable: true - cliKey: RegistrationInfo - properties: - - propertyName: expirationTime(RegistrationInfo-expirationTime^date-time) - cli: - cliKey: expirationTime - - propertyName: token(RegistrationInfo-token^string) - cli: - cliKey: token - - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) - cli: - cliKey: registrationTokenOperation - - schemaName: HostPoolPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(HostPoolPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: HostPoolPatchProperties - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 10 - simplifiable: true - cliKey: HostPoolPatchProperties - properties: - - propertyName: friendlyName(HostPoolPatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: description(HostPoolPatchProperties-description^string) - cli: - cliKey: description - - propertyName: customRdpProperty(HostPoolPatchProperties-customRdpProperty^string) - cli: - cliKey: customRdpProperty - - propertyName: maxSessionLimit(integer^integer) - cli: - cliKey: maxSessionLimit - - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) - cli: - cliKey: personalDesktopAssignmentType - - propertyName: loadBalancerType(LoadBalancerType^choice) - cli: - cliKey: loadBalancerType - - propertyName: ring(integer^integer) - cli: - cliKey: ring - - propertyName: validationEnvironment(boolean^boolean) - cli: - cliKey: validationEnvironment - - propertyName: registrationInfo(RegistrationInfoPatch^object) - cli: - cliKey: registrationInfo - - propertyName: ssoContext(HostPoolPatchProperties-ssoContext^string) - cli: - cliKey: ssoContext - - schemaName: RegistrationInfoPatch - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 1 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: RegistrationInfoPatch - properties: - - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) - cli: - cliKey: registrationTokenOperation - - schemaName: HostPoolList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolList - properties: - - propertyName: value(HostPoolList-value^array) - cli: - cliKey: value - - propertyName: nextLink(HostPoolList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: UserSessionList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: UserSessionList - properties: - - propertyName: value(UserSessionList-value^array) - cli: - cliKey: value - - propertyName: nextLink(UserSessionList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: UserSession - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: UserSession - properties: - - propertyName: properties(UserSessionProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: UserSessionProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 5 - simplifiable: true - cliKey: UserSessionProperties - properties: - - propertyName: userPrincipalName(UserSessionProperties-userPrincipalName^string) - cli: - cliKey: userPrincipalName - - propertyName: applicationType(ApplicationType^choice) - cli: - cliKey: applicationType - - propertyName: sessionState(SessionState^choice) - cli: - cliKey: sessionState - - propertyName: activeDirectoryUserName(UserSessionProperties-activeDirectoryUserName^string) - cli: - cliKey: activeDirectoryUserName - - propertyName: createTime(UserSessionProperties-createTime^date-time) - cli: - cliKey: createTime - - schemaName: SessionHost - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHost - properties: - - propertyName: properties(SessionHostProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: SessionHostProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 10 - simplifiable: true - cliKey: SessionHostProperties - properties: - - propertyName: lastHeartBeat(SessionHostProperties-lastHeartBeat^date-time) - cli: - cliKey: lastHeartBeat - - propertyName: sessions(integer^integer) - cli: - cliKey: sessions - - propertyName: agentVersion(SessionHostProperties-agentVersion^string) - cli: - cliKey: agentVersion - - propertyName: allowNewSession(boolean^boolean) - cli: - cliKey: allowNewSession - - propertyName: assignedUser(SessionHostProperties-assignedUser^string) - cli: - cliKey: assignedUser - - propertyName: status(Status^choice) - cli: - cliKey: status - - propertyName: statusTimestamp(SessionHostProperties-statusTimestamp^date-time) - cli: - cliKey: statusTimestamp - readOnly: true - - propertyName: osVersion(SessionHostProperties-osVersion^string) - cli: - cliKey: osVersion - - propertyName: sxSStackVersion(SessionHostProperties-sxSStackVersion^string) - cli: - cliKey: sxSStackVersion - - propertyName: updateState(UpdateState^choice) - cli: - cliKey: updateState - - propertyName: lastUpdateTime(SessionHostProperties-lastUpdateTime^date-time) - cli: - cliKey: lastUpdateTime - readOnly: true - - propertyName: updateErrorMessage(SessionHostProperties-updateErrorMessage^string) - cli: - cliKey: updateErrorMessage - - schemaName: SessionHostPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHostPatch - properties: - - propertyName: properties(SessionHostPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: SessionHostPatchProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SessionHostPatchProperties - properties: - - propertyName: allowNewSession(boolean^boolean) - cli: - cliKey: allowNewSession - - propertyName: assignedUser(SessionHostPatchProperties-assignedUser^string) - cli: - cliKey: assignedUser - - schemaName: SessionHostList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: SessionHostList - properties: - - propertyName: value(SessionHostList-value^array) - cli: - cliKey: value - - propertyName: nextLink(SessionHostList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: SendMessage - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SendMessage - properties: - - propertyName: messageTitle(SendMessage-messageTitle^string) - cli: - cliKey: messageTitle - - propertyName: messageBody(SendMessage-messageBody^string) - cli: - cliKey: messageBody - choices: - all: - - choiceName: ApplicationGroupType - cli: - cliKey: ApplicationGroupType - choiceValues: - - choiceValue: RemoteApp - cli: - cliKey: RemoteApp - - choiceValue: Desktop - cli: - cliKey: Desktop - - choiceName: CommandLineSetting - cli: - cliKey: CommandLineSetting - choiceValues: - - choiceValue: DoNotAllow - cli: - cliKey: DoNotAllow - - choiceValue: Allow - cli: - cliKey: Allow - - choiceValue: Require - cli: - cliKey: Require - - choiceName: HostPoolType - cli: - cliKey: HostPoolType - choiceValues: - - choiceValue: Personal - cli: - cliKey: Personal - - choiceValue: Pooled - cli: - cliKey: Pooled - - choiceName: PersonalDesktopAssignmentType - cli: - cliKey: PersonalDesktopAssignmentType - choiceValues: - - choiceValue: Automatic - cli: - cliKey: Automatic - - choiceValue: Direct - cli: - cliKey: Direct - - choiceName: LoadBalancerType - cli: - cliKey: LoadBalancerType - choiceValues: - - choiceValue: BreadthFirst - cli: - cliKey: BreadthFirst - - choiceValue: DepthFirst - cli: - cliKey: DepthFirst - - choiceValue: Persistent - cli: - cliKey: Persistent - - choiceName: RegistrationTokenOperation - cli: - cliKey: RegistrationTokenOperation - choiceValues: - - choiceValue: Delete - cli: - cliKey: Delete - - choiceValue: None - cli: - cliKey: None - - choiceValue: Update - cli: - cliKey: Update - - choiceName: ApplicationType - cli: - cliKey: ApplicationType - choiceValues: - - choiceValue: RemoteApp - cli: - cliKey: RemoteApp - - choiceValue: Desktop - cli: - cliKey: Desktop - - choiceName: SessionState - cli: - cliKey: SessionState - choiceValues: - - choiceValue: Unknown - cli: - cliKey: Unknown - - choiceValue: Active - cli: - cliKey: Active - - choiceValue: Disconnected - cli: - cliKey: Disconnected - - choiceValue: Pending - cli: - cliKey: Pending - - choiceValue: LogOff - cli: - cliKey: LogOff - - choiceValue: UserProfileDiskMounted - cli: - cliKey: UserProfileDiskMounted - - choiceName: Status - cli: - cliKey: Status - choiceValues: - - choiceValue: Available - cli: - cliKey: Available - - choiceValue: Unavailable - cli: - cliKey: Unavailable - - choiceValue: Shutdown - cli: - cliKey: Shutdown - - choiceValue: Disconnected - cli: - cliKey: Disconnected - - choiceValue: Upgrading - cli: - cliKey: Upgrading - - choiceValue: UpgradeFailed - cli: - cliKey: UpgradeFailed - - choiceName: UpdateState - cli: - cliKey: UpdateState - choiceValues: - - choiceValue: Initial - cli: - cliKey: Initial - - choiceValue: Pending - cli: - cliKey: Pending - - choiceValue: Started - cli: - cliKey: Started - - choiceValue: Succeeded - cli: - cliKey: Succeeded - - choiceValue: Failed - cli: - cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000050-flatten-set-pre.yaml b/src/desktopvirtualization/_az_debug/clicommon-000050-flatten-set-pre.yaml deleted file mode 100644 index f355cc4ef8a..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000050-flatten-set-pre.yaml +++ /dev/null @@ -1,9346 +0,0 @@ -info: - title: Desktop Virtualization API Client - extensions: - cli-dump-index: 50 -schemas: - booleans: - - &ref_53 - type: boolean - language: - default: - name: boolean - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - protocol: {} - - &ref_27 - type: boolean - language: - default: - name: boolean - description: Is validation environment. - protocol: {} - - &ref_222 - type: boolean - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: boolean - description: '' - protocol: {} - - &ref_73 - type: boolean - language: - default: - name: boolean - description: Allow a new session. - protocol: {} - numbers: - - &ref_47 - type: integer - precision: 32 - language: - default: - name: integer - description: Index of the icon. - protocol: {} - - &ref_24 - type: integer - precision: 32 - language: - default: - name: integer - description: The max session limit of HostPool. - protocol: {} - - &ref_26 - type: integer - precision: 32 - language: - default: - name: integer - description: The ring number of HostPool. - protocol: {} - - &ref_71 - type: integer - precision: 32 - language: - default: - name: integer - description: Number of sessions on SessionHost. - protocol: {} - strings: - - &ref_0 - type: string - language: - default: - name: string - description: simple string - protocol: {} - - &ref_2 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - protocol: {} - - &ref_3 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - protocol: {} - - &ref_4 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-resource - description: Resource on which the operation is performed. - protocol: {} - - &ref_5 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-operation - description: 'Type of operation: get, read, delete, etc.' - protocol: {} - - &ref_6 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-description - description: Description of this operation. - protocol: {} - - &ref_144 - type: string - apiVersions: - - version: '1.0' - minLength: 1 - language: - default: - name: string - description: '' - protocol: {} - - &ref_150 - type: string - apiVersions: - - version: '1.0' - maxLength: 90 - minLength: 1 - pattern: '^[-\w\._\(\)]+$' - language: - default: - name: string - description: '' - protocol: {} - - &ref_151 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 3 - language: - default: - name: string - description: '' - protocol: {} - - &ref_91 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: Resource-id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - protocol: {} - - &ref_92 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: Resource-name - description: The name of the resource - protocol: {} - - &ref_93 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: Resource-type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - protocol: {} - - &ref_1 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: string - description: '' - protocol: {} - - &ref_38 - type: string - apiVersions: - - version: '1.0' - extensions: - x-ms-mutability: - - read - - create - language: - default: - name: TrackedResource-location - description: The geo-location where the resource lives - protocol: {} - - &ref_11 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceProperties-description - description: Description of Workspace. - protocol: {} - - &ref_12 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceProperties-friendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_13 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceProperties-applicationGroupReferencesItem - description: '' - protocol: {} - - &ref_95 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudError-code - description: Error code - protocol: {} - - &ref_96 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudError-message - description: Error message indicating why the operation failed. - protocol: {} - - &ref_97 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchProperties-description - description: Description of Workspace. - protocol: {} - - &ref_98 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchProperties-friendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_99 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchProperties-applicationGroupReferencesItem - description: '' - protocol: {} - - &ref_101 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_167 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: string - description: '' - protocol: {} - - &ref_14 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-description - description: Description of ApplicationGroup. - protocol: {} - - &ref_15 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-friendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_16 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-hostPoolArmPath - description: HostPool arm path of ApplicationGroup. - protocol: {} - - &ref_17 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-workspaceArmPath - description: Workspace arm path of ApplicationGroup. - protocol: {} - - &ref_102 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_40 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchProperties-description - description: Description of ApplicationGroup. - protocol: {} - - &ref_41 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchProperties-friendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_42 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-appAlias - description: Alias of StartMenuItem. - protocol: {} - - &ref_43 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-friendlyName - description: Friendly name of StartMenuItem. - protocol: {} - - &ref_44 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-filePath - description: Path to the file of StartMenuItem. - protocol: {} - - &ref_45 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-commandLineArguments - description: Command line arguments for StartMenuItem. - protocol: {} - - &ref_46 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-iconPath - description: Path to the icon. - protocol: {} - - &ref_105 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_48 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-description - description: Description of Application. - protocol: {} - - &ref_49 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-friendlyName - description: Friendly name of Application. - protocol: {} - - &ref_50 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-filePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_52 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-commandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_54 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-iconPath - description: Path to icon. - protocol: {} - - &ref_55 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-iconHash - description: Hash of the icon. - protocol: {} - - &ref_108 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-description - description: Description of Application. - protocol: {} - - &ref_109 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-friendlyName - description: Friendly name of Application. - protocol: {} - - &ref_110 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-filePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_111 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-commandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_112 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-iconPath - description: Path to icon. - protocol: {} - - &ref_114 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_57 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-description - description: Description of Desktop. - protocol: {} - - &ref_58 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-friendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_59 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-iconHash - description: Hash of the icon. - protocol: {} - - &ref_116 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchProperties-description - description: Description of Desktop. - protocol: {} - - &ref_117 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchProperties-friendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_119 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_19 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-friendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_20 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-description - description: Description of HostPool. - protocol: {} - - &ref_23 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-customRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_29 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: RegistrationInfo-token - description: The registration token base64 encoded string. - protocol: {} - - &ref_31 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-vmTemplate - description: VM template for sessionhosts configuration within hostpool. - protocol: {} - - &ref_32 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-applicationGroupReferencesItem - description: '' - protocol: {} - - &ref_33 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-ssoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_61 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-friendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_62 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-description - description: Description of HostPool. - protocol: {} - - &ref_63 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-customRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_64 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-ssoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_124 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_65 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionProperties-userPrincipalName - description: The user principal name. - protocol: {} - - &ref_68 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionProperties-activeDirectoryUserName - description: The active directory user name. - protocol: {} - - &ref_125 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_235 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 48 - minLength: 3 - language: - default: - name: string - description: '' - protocol: {} - - &ref_72 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-agentVersion - description: Version of agent on SessionHost. - protocol: {} - - &ref_74 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-assignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_77 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-osVersion - description: The version of the OS on the session host. - protocol: {} - - &ref_78 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-sxSStackVersion - description: The version of the side by side stack on the session host. - protocol: {} - - &ref_81 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-updateErrorMessage - description: The error message. - protocol: {} - - &ref_82 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPatchProperties-assignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_129 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_236 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 1 - language: - default: - name: string - description: '' - protocol: {} - - &ref_130 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessage-messageTitle - description: Title of message. - protocol: {} - - &ref_131 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessage-messageBody - description: Body of message. - protocol: {} - choices: - - &ref_18 - choices: - - value: RemoteApp - language: - default: - name: RemoteApp - description: '' - cli: - cliKey: RemoteApp - - value: Desktop - language: - default: - name: Desktop - description: '' - cli: - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationGroupType - description: Resource Type of ApplicationGroup. - cli: - cliKey: ApplicationGroupType - protocol: {} - - &ref_51 - choices: - - value: DoNotAllow - language: - default: - name: DoNotAllow - description: '' - cli: - cliKey: DoNotAllow - - value: Allow - language: - default: - name: Allow - description: '' - cli: - cliKey: Allow - - value: Require - language: - default: - name: Require - description: '' - cli: - cliKey: Require - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: CommandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - cliKey: CommandLineSetting - protocol: {} - - &ref_21 - choices: - - value: Personal - language: - default: - name: Personal - description: '' - cli: - cliKey: Personal - - value: Pooled - language: - default: - name: Pooled - description: '' - cli: - cliKey: Pooled - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: HostPoolType - description: HostPool type for desktop. - cli: - cliKey: HostPoolType - protocol: {} - - &ref_22 - choices: - - value: Automatic - language: - default: - name: Automatic - description: '' - cli: - cliKey: Automatic - - value: Direct - language: - default: - name: Direct - description: '' - cli: - cliKey: Direct - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: PersonalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cli: - cliKey: PersonalDesktopAssignmentType - protocol: {} - - &ref_25 - choices: - - value: BreadthFirst - language: - default: - name: BreadthFirst - description: '' - cli: - cliKey: BreadthFirst - - value: DepthFirst - language: - default: - name: DepthFirst - description: '' - cli: - cliKey: DepthFirst - - value: Persistent - language: - default: - name: Persistent - description: '' - cli: - cliKey: Persistent - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: LoadBalancerType - description: The type of the load balancer. - cli: - cliKey: LoadBalancerType - protocol: {} - - &ref_30 - choices: - - value: Delete - language: - default: - name: Delete - description: '' - cli: - cliKey: Delete - - value: None - language: - default: - name: None - description: '' - cli: - cliKey: None - - value: Update - language: - default: - name: Update - description: '' - cli: - cliKey: Update - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: RegistrationTokenOperation - description: The type of resetting the token. - cli: - cliKey: RegistrationTokenOperation - protocol: {} - - &ref_66 - choices: - - value: RemoteApp - language: - default: - name: RemoteApp - description: '' - cli: - cliKey: RemoteApp - - value: Desktop - language: - default: - name: Desktop - description: '' - cli: - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationType - description: Application type of application. - cli: - cliKey: ApplicationType - protocol: {} - - &ref_67 - choices: - - value: Unknown - language: - default: - name: Unknown - description: '' - cli: - cliKey: Unknown - - value: Active - language: - default: - name: Active - description: '' - cli: - cliKey: Active - - value: Disconnected - language: - default: - name: Disconnected - description: '' - cli: - cliKey: Disconnected - - value: Pending - language: - default: - name: Pending - description: '' - cli: - cliKey: Pending - - value: LogOff - language: - default: - name: LogOff - description: '' - cli: - cliKey: LogOff - - value: UserProfileDiskMounted - language: - default: - name: UserProfileDiskMounted - description: '' - cli: - cliKey: UserProfileDiskMounted - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: SessionState - description: State of user session. - cli: - cliKey: SessionState - protocol: {} - - &ref_75 - choices: - - value: Available - language: - default: - name: Available - description: '' - cli: - cliKey: Available - - value: Unavailable - language: - default: - name: Unavailable - description: '' - cli: - cliKey: Unavailable - - value: Shutdown - language: - default: - name: Shutdown - description: '' - cli: - cliKey: Shutdown - - value: Disconnected - language: - default: - name: Disconnected - description: '' - cli: - cliKey: Disconnected - - value: Upgrading - language: - default: - name: Upgrading - description: '' - cli: - cliKey: Upgrading - - value: UpgradeFailed - language: - default: - name: UpgradeFailed - description: '' - cli: - cliKey: UpgradeFailed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: Status - description: Status for a SessionHost. - cli: - cliKey: Status - protocol: {} - - &ref_79 - choices: - - value: Initial - language: - default: - name: Initial - description: '' - cli: - cliKey: Initial - - value: Pending - language: - default: - name: Pending - description: '' - cli: - cliKey: Pending - - value: Started - language: - default: - name: Started - description: '' - cli: - cliKey: Started - - value: Succeeded - language: - default: - name: Succeeded - description: '' - cli: - cliKey: Succeeded - - value: Failed - language: - default: - name: Failed - description: '' - cli: - cliKey: Failed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: UpdateState - description: Update state of a SessionHost. - cli: - cliKey: UpdateState - protocol: {} - constants: - - &ref_145 - type: constant - value: - value: 2019-12-10-preview - valueType: *ref_0 - language: - default: - name: ApiVersion-2019-12-10-preview - description: Api Version (2019-12-10-preview) - protocol: {} - - &ref_155 - type: constant - value: - value: application/json - valueType: *ref_0 - language: - default: - name: application/json - description: Content Type 'application/json' - protocol: {} - dictionaries: - - &ref_37 - type: dictionary - elementType: *ref_1 - language: - default: - name: TrackedResource-tags - description: Resource tags. - cli: - cli-complexity: dictionary_simple - cli-mark: checked - protocol: {} - any: - - &ref_39 - type: any - language: - default: - name: any - description: Any object - protocol: {} - byteArrays: - - &ref_56 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-iconContent - description: the icon a 64 bit string as a byte array. - protocol: {} - - &ref_60 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-iconContent - description: The icon a 64 bit string as a byte array. - protocol: {} - dateTimes: - - &ref_28 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: RegistrationInfo-expirationTime - description: Expiration time of registration token. - protocol: {} - - &ref_69 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionProperties-createTime - description: The timestamp of the user session create. - protocol: {} - - &ref_70 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-lastHeartBeat - description: Last heart beat from SessionHost. - protocol: {} - - &ref_76 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-statusTimestamp - description: The timestamp of the status. - protocol: {} - - &ref_80 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-lastUpdateTime - description: The timestamp of the last update. - protocol: {} - objects: - - &ref_148 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_132 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: &ref_7 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_2 - serializedName: name - language: - default: - name: name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cli: - cliKey: name - protocol: {} - - schema: &ref_8 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_3 - serializedName: provider - language: - default: - name: provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cli: - cliKey: provider - protocol: {} - - schema: *ref_4 - serializedName: resource - language: - default: - name: resource - description: Resource on which the operation is performed. - cli: - cliKey: resource - protocol: {} - - schema: *ref_5 - serializedName: operation - language: - default: - name: operation - description: 'Type of operation: get, read, delete, etc.' - cli: - cliKey: operation - protocol: {} - - schema: *ref_6 - serializedName: description - language: - default: - name: description - description: Description of this operation. - cli: - cliKey: description - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperation-display - description: Display metadata associated with the operation. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ResourceProviderOperation-display - protocol: {} - serializedName: display - language: - default: - name: display - description: Display metadata associated with the operation. - cli: - cliKey: display - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperation - description: Supported operation of this resource provider. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ResourceProviderOperation - protocol: {} - language: - default: - name: ResourceProviderOperationList-value - description: List of operations supported by this resource provider. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of operations supported by this resource provider. - cli: - cliKey: value - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperationList - description: Result of the request to list operations. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ResourceProviderOperationList - protocol: {} - - *ref_7 - - *ref_8 - - &ref_10 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_9 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_34 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - schema: &ref_94 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_11 - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: - cliKey: description - protocol: {} - - schema: *ref_12 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Workspace. - cli: - cliKey: friendlyName - protocol: {} - - schema: &ref_133 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_13 - language: - default: - name: WorkspaceProperties-applicationGroupReferences - description: List of applicationGroup resource Ids. - cli: - cli-complexity: array_simple - cli-mark: checked - protocol: {} - serializedName: applicationGroupReferences - language: - default: - name: applicationGroupReferences - description: List of applicationGroup resource Ids. - cli: - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: WorkspaceProperties - description: Schema for Workspace properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Workspace - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Workspace - description: Represents a Workspace definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: Workspace - protocol: {} - - &ref_35 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - schema: &ref_103 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_14 - required: false - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: - cliKey: description - protocol: {} - - schema: *ref_15 - required: false - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of ApplicationGroup. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_16 - required: true - serializedName: hostPoolArmPath - language: - default: - name: hostPoolArmPath - description: HostPool arm path of ApplicationGroup. - cli: - cliKey: hostPoolArmPath - protocol: {} - - schema: *ref_17 - readOnly: true - required: false - serializedName: workspaceArmPath - language: - default: - name: workspaceArmPath - description: Workspace arm path of ApplicationGroup. - cli: - cliKey: workspaceArmPath - protocol: {} - - schema: *ref_18 - required: true - serializedName: applicationGroupType - language: - default: - name: applicationGroupType - description: Resource Type of ApplicationGroup. - cli: - cliKey: applicationGroupType - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationGroupProperties - description: Schema for ApplicationGroup properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ApplicationGroupProperties - protocol: {} - required: true - serializedName: properties - extensions: - x-ms-client-flatten: true - x-nullable: false - language: - default: - name: properties - description: Detailed properties for ApplicationGroup - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationGroup - description: Represents a ApplicationGroup definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroup - protocol: {} - - &ref_36 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - schema: &ref_120 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_19 - required: false - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of HostPool. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_20 - required: false - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: - cliKey: description - protocol: {} - - schema: *ref_21 - required: true - serializedName: hostPoolType - language: - default: - name: hostPoolType - description: HostPool type for desktop. - cli: - cliKey: hostPoolType - protocol: {} - - schema: *ref_22 - required: true - serializedName: personalDesktopAssignmentType - language: - default: - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cli: - cliKey: personalDesktopAssignmentType - protocol: {} - - schema: *ref_23 - required: false - serializedName: customRdpProperty - language: - default: - name: customRdpProperty - description: Custom rdp property of HostPool. - cli: - cliKey: customRdpProperty - protocol: {} - - schema: *ref_24 - required: false - serializedName: maxSessionLimit - language: - default: - name: maxSessionLimit - description: The max session limit of HostPool. - cli: - cliKey: maxSessionLimit - protocol: {} - - schema: *ref_25 - required: true - serializedName: loadBalancerType - language: - default: - name: loadBalancerType - description: The type of the load balancer. - cli: - cliKey: loadBalancerType - protocol: {} - - schema: *ref_26 - required: false - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: - cliKey: ring - protocol: {} - - schema: *ref_27 - required: false - serializedName: validationEnvironment - language: - default: - name: validationEnvironment - description: Is validation environment. - cli: - cliKey: validationEnvironment - protocol: {} - - schema: &ref_121 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_28 - serializedName: expirationTime - language: - default: - name: expirationTime - description: Expiration time of registration token. - cli: - cliKey: expirationTime - protocol: {} - - schema: *ref_29 - serializedName: token - language: - default: - name: token - description: The registration token base64 encoded string. - cli: - cliKey: token - protocol: {} - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registrationTokenOperation - description: The type of resetting the token. - cli: - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: RegistrationInfo - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 3 - propertyCountIfSimplifyWithoutSimpleObject: 3 - simplifiable: true - cliKey: RegistrationInfo - protocol: {} - required: false - serializedName: registrationInfo - language: - default: - name: registrationInfo - description: The registration info of HostPool. - cli: - cliKey: registrationInfo - protocol: {} - - schema: *ref_31 - required: false - serializedName: vmTemplate - language: - default: - name: vmTemplate - description: VM template for sessionhosts configuration within hostpool. - cli: - cliKey: vmTemplate - protocol: {} - - schema: &ref_140 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_32 - language: - default: - name: HostPoolProperties-applicationGroupReferences - description: List of applicationGroup links. - cli: - cli-complexity: array_simple - cli-mark: checked - protocol: {} - readOnly: true - required: false - serializedName: applicationGroupReferences - language: - default: - name: applicationGroupReferences - description: List of applicationGroup links. - cli: - cliKey: applicationGroupReferences - protocol: {} - - schema: *ref_33 - required: false - serializedName: ssoContext - language: - default: - name: ssoContext - description: Path to keyvault containing ssoContext secret. - cli: - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: HostPoolProperties - description: Properties of HostPool. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 14 - propertyCountIfSimplifyWithoutSimpleObject: 12 - simplifiable: true - cliKey: HostPoolProperties - protocol: {} - required: true - serializedName: properties - extensions: - x-ms-client-flatten: true - x-nullable: false - language: - default: - name: properties - description: Detailed properties for HostPool - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: HostPool - description: Represents a HostPool definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPool - protocol: {} - immediate: - - *ref_34 - - *ref_35 - - *ref_36 - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_37 - required: false - serializedName: tags - language: - default: - name: tags - description: Resource tags. - cli: - cliKey: tags - protocol: {} - - schema: *ref_38 - required: true - serializedName: location - language: - default: - name: location - description: The geo-location where the resource lives - cli: - cliKey: location - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: TrackedResource - description: The resource model definition for a ARM tracked top level resource - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: TrackedResource - protocol: {} - - *ref_34 - - *ref_35 - - &ref_83 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_104 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_40 - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: - cliKey: description - protocol: {} - - schema: *ref_41 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of ApplicationGroup. - cli: - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: ApplicationGroupPatchProperties - description: ApplicationGroup properties that can be patched. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ApplicationGroupPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: ApplicationGroup properties that can be patched. - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: ApplicationGroupPatch - description: ApplicationGroup properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupPatch - protocol: {} - - &ref_84 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_106 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_42 - serializedName: appAlias - language: - default: - name: appAlias - description: Alias of StartMenuItem. - cli: - cliKey: appAlias - protocol: {} - - schema: *ref_43 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of StartMenuItem. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_44 - serializedName: filePath - language: - default: - name: filePath - description: Path to the file of StartMenuItem. - cli: - cliKey: filePath - protocol: {} - - schema: *ref_45 - serializedName: commandLineArguments - language: - default: - name: commandLineArguments - description: Command line arguments for StartMenuItem. - cli: - cliKey: commandLineArguments - protocol: {} - - schema: *ref_46 - serializedName: iconPath - language: - default: - name: iconPath - description: Path to the icon. - cli: - cliKey: iconPath - protocol: {} - - schema: *ref_47 - serializedName: iconIndex - language: - default: - name: iconIndex - description: Index of the icon. - cli: - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: StartMenuItemProperties - description: Schema for StartMenuItem properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 6 - simplifiable: true - cliKey: StartMenuItemProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for StartMenuItem - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: StartMenuItem - description: Represents a StartMenuItem definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: StartMenuItem - protocol: {} - - &ref_85 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_107 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_48 - required: false - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: - cliKey: description - protocol: {} - - schema: *ref_49 - required: false - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Application. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_50 - required: false - serializedName: filePath - language: - default: - name: filePath - description: Specifies a path for the executable file for the application. - cli: - cliKey: filePath - protocol: {} - - schema: *ref_51 - required: true - serializedName: commandLineSetting - language: - default: - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - cliKey: commandLineSetting - protocol: {} - - schema: *ref_52 - required: false - serializedName: commandLineArguments - language: - default: - name: commandLineArguments - description: Command Line Arguments for Application. - cli: - cliKey: commandLineArguments - protocol: {} - - schema: *ref_53 - required: false - serializedName: showInPortal - language: - default: - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: - cliKey: showInPortal - protocol: {} - - schema: *ref_54 - required: false - serializedName: iconPath - language: - default: - name: iconPath - description: Path to icon. - cli: - cliKey: iconPath - protocol: {} - - schema: *ref_47 - required: false - serializedName: iconIndex - language: - default: - name: iconIndex - description: Index of the icon. - cli: - cliKey: iconIndex - protocol: {} - - schema: *ref_55 - readOnly: true - required: false - serializedName: iconHash - language: - default: - name: iconHash - description: Hash of the icon. - cli: - cliKey: iconHash - protocol: {} - - schema: *ref_56 - readOnly: true - required: false - serializedName: iconContent - language: - default: - name: iconContent - description: the icon a 64 bit string as a byte array. - cli: - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationProperties - description: Schema for Application properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 8 - simplifiable: true - cliKey: ApplicationProperties - protocol: {} - required: true - serializedName: properties - extensions: - x-ms-client-flatten: true - x-nullable: false - language: - default: - name: properties - description: Detailed properties for Application - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Application - description: Schema for Application properties. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Application - protocol: {} - - &ref_86 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_115 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_57 - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: - cliKey: description - protocol: {} - - schema: *ref_58 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Desktop. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_59 - readOnly: true - serializedName: iconHash - language: - default: - name: iconHash - description: Hash of the icon. - cli: - cliKey: iconHash - protocol: {} - - schema: *ref_60 - readOnly: true - serializedName: iconContent - language: - default: - name: iconContent - description: The icon a 64 bit string as a byte array. - cli: - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: DesktopProperties - description: Schema for Desktop properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: DesktopProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Desktop - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Desktop - description: Schema for Desktop properties. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Desktop - protocol: {} - - *ref_36 - - &ref_87 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_122 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_61 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of HostPool. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_62 - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: - cliKey: description - protocol: {} - - schema: *ref_63 - serializedName: customRdpProperty - language: - default: - name: customRdpProperty - description: Custom rdp property of HostPool. - cli: - cliKey: customRdpProperty - protocol: {} - - schema: *ref_24 - serializedName: maxSessionLimit - language: - default: - name: maxSessionLimit - description: The max session limit of HostPool. - cli: - cliKey: maxSessionLimit - protocol: {} - - schema: *ref_22 - serializedName: personalDesktopAssignmentType - language: - default: - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cli: - cliKey: personalDesktopAssignmentType - protocol: {} - - schema: *ref_25 - serializedName: loadBalancerType - language: - default: - name: loadBalancerType - description: The type of the load balancer. - cli: - cliKey: loadBalancerType - protocol: {} - - schema: *ref_26 - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: - cliKey: ring - protocol: {} - - schema: *ref_27 - serializedName: validationEnvironment - language: - default: - name: validationEnvironment - description: Is validation environment. - cli: - cliKey: validationEnvironment - protocol: {} - - schema: &ref_123 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registrationTokenOperation - description: The type of resetting the token. - cli: - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: RegistrationInfoPatch - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 1 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: RegistrationInfoPatch - protocol: {} - serializedName: registrationInfo - language: - default: - name: registrationInfo - description: The registration info of HostPool. - cli: - cliKey: registrationInfo - protocol: {} - - schema: *ref_64 - serializedName: ssoContext - language: - default: - name: ssoContext - description: Path to keyvault containing ssoContext secret. - cli: - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: HostPoolPatchProperties - description: Properties of HostPool. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 10 - simplifiable: true - cliKey: HostPoolPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: HostPool properties that can be patched. - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: HostPoolPatch - description: HostPool properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolPatch - protocol: {} - - &ref_88 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_126 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_65 - serializedName: userPrincipalName - language: - default: - name: userPrincipalName - description: The user principal name. - cli: - cliKey: userPrincipalName - protocol: {} - - schema: *ref_66 - serializedName: applicationType - language: - default: - name: applicationType - description: Application type of application. - cli: - cliKey: applicationType - protocol: {} - - schema: *ref_67 - serializedName: sessionState - language: - default: - name: sessionState - description: State of user session. - cli: - cliKey: sessionState - protocol: {} - - schema: *ref_68 - serializedName: activeDirectoryUserName - language: - default: - name: activeDirectoryUserName - description: The active directory user name. - cli: - cliKey: activeDirectoryUserName - protocol: {} - - schema: *ref_69 - serializedName: createTime - language: - default: - name: createTime - description: The timestamp of the user session create. - cli: - cliKey: createTime - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: UserSessionProperties - description: Schema for UserSession properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 5 - simplifiable: true - cliKey: UserSessionProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for UserSession - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: UserSession - description: Represents a UserSession definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: UserSession - protocol: {} - - &ref_89 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_127 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_70 - serializedName: lastHeartBeat - language: - default: - name: lastHeartBeat - description: Last heart beat from SessionHost. - cli: - cliKey: lastHeartBeat - protocol: {} - - schema: *ref_71 - serializedName: sessions - language: - default: - name: sessions - description: Number of sessions on SessionHost. - cli: - cliKey: sessions - protocol: {} - - schema: *ref_72 - serializedName: agentVersion - language: - default: - name: agentVersion - description: Version of agent on SessionHost. - cli: - cliKey: agentVersion - protocol: {} - - schema: *ref_73 - serializedName: allowNewSession - language: - default: - name: allowNewSession - description: Allow a new session. - cli: - cliKey: allowNewSession - protocol: {} - - schema: *ref_74 - serializedName: assignedUser - language: - default: - name: assignedUser - description: User assigned to SessionHost. - cli: - cliKey: assignedUser - protocol: {} - - schema: *ref_75 - serializedName: status - language: - default: - name: status - description: Status for a SessionHost. - cli: - cliKey: status - protocol: {} - - schema: *ref_76 - readOnly: true - serializedName: statusTimestamp - language: - default: - name: statusTimestamp - description: The timestamp of the status. - cli: - cliKey: statusTimestamp - protocol: {} - - schema: *ref_77 - serializedName: osVersion - language: - default: - name: osVersion - description: The version of the OS on the session host. - cli: - cliKey: osVersion - protocol: {} - - schema: *ref_78 - serializedName: sxSStackVersion - language: - default: - name: sxSStackVersion - description: The version of the side by side stack on the session host. - cli: - cliKey: sxSStackVersion - protocol: {} - - schema: *ref_79 - serializedName: updateState - language: - default: - name: updateState - description: Update state of a SessionHost. - cli: - cliKey: updateState - protocol: {} - - schema: *ref_80 - readOnly: true - serializedName: lastUpdateTime - language: - default: - name: lastUpdateTime - description: The timestamp of the last update. - cli: - cliKey: lastUpdateTime - protocol: {} - - schema: *ref_81 - serializedName: updateErrorMessage - language: - default: - name: updateErrorMessage - description: The error message. - cli: - cliKey: updateErrorMessage - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: SessionHostProperties - description: Schema for SessionHost properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 10 - simplifiable: true - cliKey: SessionHostProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for SessionHost - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: SessionHost - description: Represents a SessionHost definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHost - protocol: {} - - &ref_90 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_128 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_73 - serializedName: allowNewSession - language: - default: - name: allowNewSession - description: Allow a new session. - cli: - cliKey: allowNewSession - protocol: {} - - schema: *ref_82 - serializedName: assignedUser - language: - default: - name: assignedUser - description: User assigned to SessionHost. - cli: - cliKey: assignedUser - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: SessionHostPatchProperties - description: SessionHost properties that can be patched. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SessionHostPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for SessionHost - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: SessionHostPatch - description: SessionHost properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHostPatch - protocol: {} - immediate: - - *ref_9 - - *ref_83 - - *ref_84 - - *ref_85 - - *ref_86 - - *ref_87 - - *ref_88 - - *ref_89 - - *ref_90 - properties: - - schema: *ref_91 - readOnly: true - serializedName: id - language: - default: - name: id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cli: - cliKey: id - protocol: {} - - schema: *ref_92 - readOnly: true - serializedName: name - language: - default: - name: name - description: The name of the resource - cli: - cliKey: name - protocol: {} - - schema: *ref_93 - readOnly: true - serializedName: type - language: - default: - name: type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cli: - cliKey: type - protocol: {} - serializationFormats: - - json - usage: - - output - - input - extensions: - x-ms-azure-resource: true - language: - default: - name: Resource - description: '' - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 0 - propertyCountIfSimplifyWithoutSimpleObject: 0 - simplifiable: true - cliKey: Resource - protocol: {} - - *ref_9 - - *ref_34 - - *ref_94 - - &ref_154 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_95 - serializedName: code - language: - default: - name: code - description: Error code - cli: - cliKey: code - protocol: {} - - schema: *ref_96 - serializedName: message - language: - default: - name: message - description: Error message indicating why the operation failed. - cli: - cliKey: message - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: CloudError - description: Error response of an operation failure - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: CloudError - protocol: {} - - &ref_161 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_100 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_97 - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: - cliKey: description - protocol: {} - - schema: *ref_98 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Workspace. - cli: - cliKey: friendlyName - protocol: {} - - schema: &ref_134 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_99 - language: - default: - name: WorkspacePatchProperties-applicationGroupReferences - description: List of applicationGroup links. - cli: - cli-complexity: array_simple - cli-mark: checked - protocol: {} - serializedName: applicationGroupReferences - language: - default: - name: applicationGroupReferences - description: List of applicationGroup links. - cli: - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: WorkspacePatchProperties - description: Workspace properties that can be patched. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Workspace - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: WorkspacePatch - description: Workspace properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatch - protocol: {} - - *ref_100 - - &ref_166 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_135 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_34 - language: - default: - name: WorkspaceList-value - description: List of Workspace definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Workspace definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_101 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: WorkspaceList - usage: - - output - language: - default: - name: WorkspaceList - description: List of Workspace definitions. - namespace: '' - summary: WorkspaceList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceList - protocol: {} - - &ref_171 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_136 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_35 - language: - default: - name: ApplicationGroupList-value - description: List of ApplicationGroup definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of ApplicationGroup definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_102 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationGroupList - usage: - - output - language: - default: - name: ApplicationGroupList - description: List of ApplicationGroup definitions. - namespace: '' - summary: ApplicationGroupList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupList - protocol: {} - - *ref_35 - - *ref_103 - - *ref_83 - - *ref_104 - - &ref_187 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_137 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_84 - language: - default: - name: StartMenuItemList-value - description: List of StartMenuItem definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of StartMenuItem definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_105 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: StartMenuItemList - usage: - - output - language: - default: - name: StartMenuItemList - description: List of StartMenuItem definitions. - namespace: '' - summary: StartMenuItemList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: StartMenuItemList - protocol: {} - - *ref_84 - - *ref_106 - - *ref_85 - - *ref_107 - - &ref_198 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_113 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_108 - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: - cliKey: description - protocol: {} - - schema: *ref_109 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Application. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_110 - serializedName: filePath - language: - default: - name: filePath - description: Specifies a path for the executable file for the application. - cli: - cliKey: filePath - protocol: {} - - schema: *ref_51 - serializedName: commandLineSetting - language: - default: - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - cliKey: commandLineSetting - protocol: {} - - schema: *ref_111 - serializedName: commandLineArguments - language: - default: - name: commandLineArguments - description: Command Line Arguments for Application. - cli: - cliKey: commandLineArguments - protocol: {} - - schema: *ref_53 - serializedName: showInPortal - language: - default: - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: - cliKey: showInPortal - protocol: {} - - schema: *ref_112 - serializedName: iconPath - language: - default: - name: iconPath - description: Path to icon. - cli: - cliKey: iconPath - protocol: {} - - schema: *ref_47 - serializedName: iconIndex - language: - default: - name: iconIndex - description: Index of the icon. - cli: - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: ApplicationPatchProperties - description: Application properties that can be patched. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 8 - simplifiable: true - cliKey: ApplicationPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Application - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: ApplicationPatch - description: Application properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationPatch - protocol: {} - - *ref_113 - - &ref_205 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_138 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_85 - language: - default: - name: ApplicationList-value - description: List of Application definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Application definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_114 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationList - usage: - - output - language: - default: - name: ApplicationList - description: List of Application definitions. - namespace: '' - summary: ApplicationList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationList - protocol: {} - - *ref_86 - - *ref_115 - - &ref_209 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_118 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_116 - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: - cliKey: description - protocol: {} - - schema: *ref_117 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Desktop. - cli: - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: DesktopPatchProperties - description: Desktop properties that can be patched. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: DesktopPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Desktop - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: DesktopPatch - description: Desktop properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopPatch - protocol: {} - - *ref_118 - - &ref_216 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_139 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_86 - language: - default: - name: DesktopList-value - description: List of Desktop definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Desktop definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_119 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: DesktopList - usage: - - output - language: - default: - name: DesktopList - description: List of Desktop definitions. - namespace: '' - summary: DesktopList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopList - protocol: {} - - *ref_36 - - *ref_120 - - *ref_121 - - *ref_87 - - *ref_122 - - *ref_123 - - &ref_230 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_141 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_36 - language: - default: - name: HostPoolList-value - description: List of HostPool definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of HostPool definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_124 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: HostPoolList - usage: - - output - language: - default: - name: HostPoolList - description: List of HostPool definitions. - namespace: '' - summary: HostPoolList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolList - protocol: {} - - &ref_234 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_142 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_88 - language: - default: - name: UserSessionList-value - description: List of UserSession definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of UserSession definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_125 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: UserSessionList - usage: - - output - language: - default: - name: UserSessionList - description: List of UserSession definitions. - namespace: '' - summary: UserSessionList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: UserSessionList - protocol: {} - - *ref_88 - - *ref_126 - - *ref_89 - - *ref_127 - - *ref_90 - - *ref_128 - - &ref_272 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_143 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_89 - language: - default: - name: SessionHostList-value - description: List of SessionHost definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of SessionHost definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_129 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: SessionHostList - usage: - - output - language: - default: - name: SessionHostList - description: List of SessionHost definitions. - namespace: '' - summary: SessionHostList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: SessionHostList - protocol: {} - - &ref_253 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_130 - serializedName: messageTitle - language: - default: - name: messageTitle - description: Title of message. - cli: - cliKey: messageTitle - protocol: {} - - schema: *ref_131 - serializedName: messageBody - language: - default: - name: messageBody - description: Body of message. - cli: - cliKey: messageBody - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: SendMessage - description: Represents message sent to a UserSession. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SendMessage - protocol: {} - arrays: - - *ref_132 - - *ref_133 - - *ref_134 - - *ref_135 - - *ref_136 - - *ref_137 - - *ref_138 - - *ref_139 - - *ref_140 - - *ref_141 - - *ref_142 - - *ref_143 -globalParameters: - - &ref_149 - schema: *ref_144 - implementation: Client - required: true - extensions: - x-ms-priority: 0 - language: - default: - name: subscriptionId - description: The ID of the target subscription. - serializedName: subscriptionId - cli: - cliKey: subscriptionId - protocol: - http: - in: path - - &ref_146 - schema: *ref_0 - clientDefaultValue: 'https://management.azure.com' - implementation: Client - origin: 'modelerfour:synthesized/host' - required: true - extensions: - x-ms-skip-url-encoding: true - language: - default: - name: $host - description: server parameter - serializedName: $host - cli: - cliKey: $host - protocol: - http: - in: uri - - &ref_147 - schema: *ref_145 - implementation: Client - origin: 'modelerfour:synthesized/api-version' - required: true - language: - default: - name: ApiVersion - description: Api Version - serializedName: api-version - cli: - cliKey: ApiVersion - protocol: - http: - in: query -operationGroups: - - $key: Operations - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: /providers/Microsoft.DesktopVirtualization/operations - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_148 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - extensions: - x-ms-examples: - OperationDescription_List: - parameters: - api-version: 2019-12-10-preview - responses: - '200': - body: - value: - - name: Microsoft.DesktopVirtualization/ssocontext/read - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - - name: Microsoft.DesktopVirtualization/ssocontext/write - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - language: - default: - name: List - description: List all of the available operations the Desktop Virtualization resource provider supports. - cli: - cliKey: List - protocol: {} - language: - default: - name: Operations - description: '' - cli: - cliKey: Operations - protocol: {} - - $key: Workspaces - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_152 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_153 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_152 - - *ref_153 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Get: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: Get - description: Get a workspace. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_157 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_158 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_156 - schema: *ref_34 - implementation: Method - required: true - language: - default: - name: workspace - description: Object containing Workspace definitions. - cli: - cliKey: workspace - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_156 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_157 - - *ref_158 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Create: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '201': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: CreateOrUpdate - description: Create or update a workspace. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_159 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_160 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_159 - - *ref_160 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Delete: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: Delete - description: Remove a workspace. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_163 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_164 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_162 - schema: *ref_161 - implementation: Method - required: false - language: - default: - name: workspace - description: Object containing Workspace definitions. - cli: - cliKey: workspace - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_162 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_163 - - *ref_164 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Update: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: Update - description: Update a workspace. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_165 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: - - *ref_165 - responses: - - schema: *ref_166 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByResourceGroup - description: List workspaces. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_166 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListBySubscription: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListBySubscription - description: List workspaces in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySubscription - protocol: {} - language: - default: - name: Workspaces - description: '' - cli: - cliKey: Workspaces - protocol: {} - - $key: ApplicationGroupAssignments - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_168 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_169 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - - &ref_170 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' - method: get - uri: '{$host}' - signatureParameters: - - *ref_168 - - *ref_169 - - *ref_170 - responses: - - schema: *ref_171 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroupAssignment_WorkspaceLevelList: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: WorkspaceLevelList - description: List application group that user can use. - paging: - nextLinkName: nextLink - cli: - cliKey: WorkspaceLevelList - protocol: {} - language: - default: - name: ApplicationGroupAssignments - description: '' - cli: - cliKey: ApplicationGroupAssignments - protocol: {} - - $key: ApplicationGroups - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_172 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_173 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_172 - - *ref_173 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: Get - description: Get an application group. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_175 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_176 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_174 - schema: *ref_35 - implementation: Method - required: true - language: - default: - name: applicationGroup - description: Object containing ApplicationGroup definitions. - cli: - cliKey: applicationGroup - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_174 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_175 - - *ref_176 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Create: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '201': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: CreateOrUpdate - description: Create or update an applicationGroup. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_177 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_178 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_177 - - *ref_178 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: Delete - description: Remove an applicationGroup. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_180 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_181 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_179 - schema: *ref_83 - implementation: Method - required: false - language: - default: - name: applicationGroup - description: Object containing ApplicationGroup definitions. - cli: - cliKey: applicationGroup - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_179 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_180 - - *ref_181 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroups_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: Update - description: Update an applicationGroup. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_182 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_183 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_182 - - *ref_183 - responses: - - schema: *ref_171 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_ListByResourceGroup: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByResourceGroup - description: List applicationGroups. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_184 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_184 - responses: - - schema: *ref_171 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_List: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListBySubscription - description: List applicationGroups in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySubscription - protocol: {} - language: - default: - name: ApplicationGroups - description: '' - cli: - cliKey: ApplicationGroups - protocol: {} - - $key: StartMenuItems - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_185 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_186 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' - method: get - uri: '{$host}' - signatureParameters: - - *ref_185 - - *ref_186 - responses: - - schema: *ref_187 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - StartMenuItem_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: application1 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 - properties: - appAlias: word - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - - name: application2 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 - properties: - appAlias: excel - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List start menu items in the given application group. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: StartMenuItems - description: '' - cli: - cliKey: StartMenuItems - protocol: {} - - $key: Applications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_188 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_189 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_190 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_188 - - *ref_189 - - *ref_190 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: Get - description: Get an application. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_192 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_193 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_194 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_191 - schema: *ref_85 - implementation: Method - required: true - language: - default: - name: application - description: Object containing Application definitions. - cli: - cliKey: application - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_191 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_192 - - *ref_193 - - *ref_194 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Create: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '201': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: CreateOrUpdate - description: Create or update an application. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_195 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_196 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_197 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_195 - - *ref_196 - - *ref_197 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '204': {} - language: - default: - name: Delete - description: Remove an application. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_200 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_201 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_202 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_199 - schema: *ref_198 - implementation: Method - required: false - language: - default: - name: application - description: Object containing Application definitions. - cli: - cliKey: application - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_199 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_200 - - *ref_201 - - *ref_202 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Update: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: Update - description: Update an application. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_203 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_204 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_203 - - *ref_204 - responses: - - schema: *ref_205 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Applications_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List applications. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: Applications - description: '' - cli: - cliKey: Applications - protocol: {} - - $key: Desktops - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_206 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_207 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_208 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: desktopName - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - cliKey: desktopName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_206 - - *ref_207 - - *ref_208 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: Get - description: Get a desktop. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_211 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_212 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_213 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: desktopName - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - cliKey: desktopName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_210 - schema: *ref_209 - implementation: Method - required: false - language: - default: - name: desktop - description: Object containing Desktop definitions. - cli: - cliKey: desktop - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_210 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_211 - - *ref_212 - - *ref_213 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktop: - properties: - description: des1 - friendlyName: friendly - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: Update - description: Update a desktop. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_214 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_215 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' - method: get - uri: '{$host}' - signatureParameters: - - *ref_214 - - *ref_215 - responses: - - schema: *ref_216 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: List - description: List desktops. - cli: - cliKey: List - protocol: {} - language: - default: - name: Desktops - description: '' - cli: - cliKey: Desktops - protocol: {} - - $key: HostPools - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_217 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_218 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_217 - - *ref_218 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: Get - description: Get a host pool. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_220 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_221 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_219 - schema: *ref_36 - implementation: Method - required: true - language: - default: - name: hostPool - description: Object containing HostPool definitions. - cli: - cliKey: hostPool - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_219 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_220 - - *ref_221 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Create: - parameters: - api-version: 2019-12-10-preview - hostPool: - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '201': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: CreateOrUpdate - description: Create or update a host pool. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_223 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_224 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_225 - schema: *ref_222 - implementation: Method - language: - default: - name: force - description: Force flag to delete sessionHost. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_223 - - *ref_224 - - *ref_225 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: Delete - description: Remove a host pool. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_227 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_228 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_226 - schema: *ref_87 - implementation: Method - required: false - language: - default: - name: hostPool - description: Object containing HostPool definitions. - cli: - cliKey: hostPool - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_226 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_227 - - *ref_228 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Update: - parameters: - api-version: 2019-12-10-preview - hostPool: - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-02T14:01:54.9571247Z' - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: Update - description: Update a host pool. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_229 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: - - *ref_229 - responses: - - schema: *ref_230 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByResourceGroup - description: List hostPools. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_230 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_List: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List hostPools in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: HostPools - description: '' - cli: - cliKey: HostPools - protocol: {} - - $key: UserSessions - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_231 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_232 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_233 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_231 - - *ref_232 - - *ref_233 - responses: - - schema: *ref_234 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_ListByHostPool: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByHostPool - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByHostPool - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_237 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_238 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_239 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_240 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_237 - - *ref_238 - - *ref_239 - - *ref_240 - responses: - - schema: *ref_88 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - body: - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - language: - default: - name: Get - description: Get a userSession. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_241 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_242 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_243 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_244 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - - &ref_245 - schema: *ref_222 - implementation: Method - language: - default: - name: force - description: Force flag to login off userSession. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_241 - - *ref_242 - - *ref_243 - - *ref_244 - - *ref_245 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - '204': {} - language: - default: - name: Delete - description: Remove a userSession. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_246 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_247 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_248 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_246 - - *ref_247 - - *ref_248 - responses: - - schema: *ref_234 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_249 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_250 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_251 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_252 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' - method: post - uri: '{$host}' - signatureParameters: - - *ref_249 - - *ref_250 - - *ref_251 - - *ref_252 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Disconnect_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: Disconnect - description: Disconnect a userSession. - cli: - cliKey: Disconnect - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_255 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_256 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_257 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_258 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_254 - schema: *ref_253 - implementation: Method - required: false - language: - default: - name: sendMessage - description: Object containing message includes title and message body - cli: - cliKey: sendMessage - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_254 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' - method: post - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_255 - - *ref_256 - - *ref_257 - - *ref_258 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_SendMessage_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sendMessage: - messageBody: body - messageTitle: title - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: SendMessage - description: Send a message to a user. - cli: - cliKey: SendMessage - protocol: {} - language: - default: - name: UserSessions - description: '' - cli: - cliKey: UserSessions - protocol: {} - - $key: SessionHosts - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_259 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_260 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_261 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_259 - - *ref_260 - - *ref_261 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: Get - description: Get a session host. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_262 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_263 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_264 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_265 - schema: *ref_222 - implementation: Method - language: - default: - name: force - description: Force flag to force sessionHost deletion even when userSession exists. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_262 - - *ref_263 - - *ref_264 - - *ref_265 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - '204': {} - language: - default: - name: Delete - description: Remove a SessionHost. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_267 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_268 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_269 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_266 - schema: *ref_90 - implementation: Method - required: false - language: - default: - name: sessionHost - description: Object containing SessionHost definitions. - cli: - cliKey: sessionHost - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_266 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_267 - - *ref_268 - - *ref_269 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Update: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHost: - properties: - allowNewSession: true - assignedUser: user1@microsoft.com - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2019-01-11T19:27:13.6108027Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2019-01-24T20:00:08.2893033Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: Update - description: Update a session host. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_270 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_271 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' - method: get - uri: '{$host}' - signatureParameters: - - *ref_270 - - *ref_271 - responses: - - schema: *ref_272 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - - name: sessionHost2.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user2@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List sessionHosts. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: SessionHosts - description: '' - cli: - cliKey: SessionHosts - protocol: {} - - $key: ActiveApplications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_273 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_274 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_275 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_276 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_273 - - *ref_274 - - *ref_275 - - *ref_276 - responses: - - schema: *ref_205 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ActiveApplications_List: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListBySessionHost - description: List applications for the given session host. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySessionHost - protocol: {} - language: - default: - name: ActiveApplications - description: '' - cli: - cliKey: ActiveApplications - protocol: {} -language: - default: - name: '' - description: '' -protocol: - http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000060-flatten-set-post-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000060-flatten-set-post-simplified.yaml deleted file mode 100644 index d0ad07c476a..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000060-flatten-set-post-simplified.yaml +++ /dev/null @@ -1,1989 +0,0 @@ -operationGroups: - all: - - operationGroupName: Operations - cli: - cliKey: Operations - operations: - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - operationGroupName: Workspaces - cli: - cliKey: Workspaces - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - operationName: CreateOrUpdate - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: workspace(Workspace^object) - cli: - cliKey: workspace - x-ms-client-flatten: true - bodySchema: Workspace - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: workspace(WorkspacePatch^object) - cli: - cliKey: workspace - x-ms-client-flatten: true - bodySchema: WorkspacePatch - - operationName: ListByResourceGroup - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - operationName: ListBySubscription - cli: - cliKey: ListBySubscription - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - operationGroupName: ApplicationGroupAssignments - cli: - cliKey: ApplicationGroupAssignments - operations: - - operationName: WorkspaceLevelList - cli: - cliKey: WorkspaceLevelList - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspaceName(string^string) - cli: - cliKey: workspaceName - - parameterName: $filter(string^string) - cli: - cliKey: $filter - - operationGroupName: ApplicationGroups - cli: - cliKey: ApplicationGroups - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationName: CreateOrUpdate - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: applicationGroup(ApplicationGroup^object) - cli: - cliKey: applicationGroup - x-ms-client-flatten: true - bodySchema: ApplicationGroup - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: applicationGroup(ApplicationGroupPatch^object) - cli: - cliKey: applicationGroup - x-ms-client-flatten: true - bodySchema: ApplicationGroupPatch - - operationName: ListByResourceGroup - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: $filter(string^string) - cli: - cliKey: $filter - - operationName: ListBySubscription - cli: - cliKey: ListBySubscription - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: $filter(string^string) - cli: - cliKey: $filter - - operationGroupName: StartMenuItems - cli: - cliKey: StartMenuItems - operations: - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: Applications - cli: - cliKey: Applications - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: applicationName(string^string) - cli: - cliKey: applicationName - - operationName: CreateOrUpdate - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: applicationName(string^string) - cli: - cliKey: applicationName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: application(Application^object) - cli: - cliKey: application - x-ms-client-flatten: true - bodySchema: Application - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: applicationName(string^string) - cli: - cliKey: applicationName - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: applicationName(string^string) - cli: - cliKey: applicationName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: application(ApplicationPatch^object) - cli: - cliKey: application - x-ms-client-flatten: true - bodySchema: ApplicationPatch - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: Desktops - cli: - cliKey: Desktops - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: desktopName(string^string) - cli: - cliKey: desktopName - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - parameterName: desktopName(string^string) - cli: - cliKey: desktopName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: desktop(DesktopPatch^object) - cli: - cliKey: desktop - x-ms-client-flatten: true - bodySchema: DesktopPatch - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: applicationGroupName(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: HostPools - cli: - cliKey: HostPools - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - operationName: CreateOrUpdate - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: hostPool(HostPool^object) - cli: - cliKey: hostPool - x-ms-client-flatten: true - bodySchema: HostPool - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: hostPool(HostPoolPatch^object) - cli: - cliKey: hostPool - x-ms-client-flatten: true - bodySchema: HostPoolPatch - - operationName: ListByResourceGroup - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - operationGroupName: UserSessions - cli: - cliKey: UserSessions - operations: - - operationName: ListByHostPool - cli: - cliKey: ListByHostPool - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: $filter(string^string) - cli: - cliKey: $filter - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: userSessionId(string^string) - cli: - cliKey: userSessionId - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: userSessionId(string^string) - cli: - cliKey: userSessionId - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - operationName: Disconnect - cli: - cliKey: Disconnect - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: userSessionId(string^string) - cli: - cliKey: userSessionId - - operationName: SendMessage - cli: - cliKey: SendMessage - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: userSessionId(string^string) - cli: - cliKey: userSessionId - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: sendMessage(SendMessage^object) - cli: - cliKey: sendMessage - x-ms-client-flatten: true - bodySchema: SendMessage - - operationGroupName: SessionHosts - cli: - cliKey: SessionHosts - operations: - - operationName: Get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - operationName: Delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: Update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName[0]: content-type(application/json^constant) - cli: - cliKey: content-type - - parameterName[0]: sessionHost(SessionHostPatch^object) - cli: - cliKey: sessionHost - x-ms-client-flatten: true - bodySchema: SessionHostPatch - - operationName: List - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - operationGroupName: ActiveApplications - cli: - cliKey: ActiveApplications - operations: - - operationName: ListBySessionHost - cli: - cliKey: ListBySessionHost - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: ApiVersion(ApiVersion-2019-12-10-preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscriptionId(string^string) - cli: - cliKey: subscriptionId - - parameterName: resourceGroupName(string^string) - cli: - cliKey: resourceGroupName - - parameterName: hostPoolName(string^string) - cli: - cliKey: hostPoolName - - parameterName: sessionHostName(string^string) - cli: - cliKey: sessionHostName - - parameterName: $filter(string^string) - cli: - cliKey: $filter -schemas: - objects: - all: - - schemaName: ResourceProviderOperationList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ResourceProviderOperationList - properties: - - propertyName: value(ResourceProviderOperationList-value^array) - cli: - cliKey: value - - schemaName: ResourceProviderOperation - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ResourceProviderOperation - properties: - - propertyName: name(ResourceProviderOperation-name^string) - cli: - cliKey: name - - propertyName: display(ResourceProviderOperation-display^object) - cli: - cliKey: display - - schemaName: ResourceProviderOperation-display - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ResourceProviderOperation-display - properties: - - propertyName: provider(ResourceProviderOperation-display-provider^string) - cli: - cliKey: provider - - propertyName: resource(ResourceProviderOperation-display-resource^string) - cli: - cliKey: resource - - propertyName: operation(ResourceProviderOperation-display-operation^string) - cli: - cliKey: operation - - propertyName: description(ResourceProviderOperation-display-description^string) - cli: - cliKey: description - - schemaName: Resource - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 0 - propertyCountIfSimplifyWithoutSimpleObject: 0 - simplifiable: true - cliKey: Resource - properties: - - propertyName: id(Resource-id^string) - cli: - cliKey: id - readOnly: true - - propertyName: name(Resource-name^string) - cli: - cliKey: name - readOnly: true - - propertyName: type(Resource-type^string) - cli: - cliKey: type - readOnly: true - - schemaName: TrackedResource - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: TrackedResource - properties: - - propertyName: tags(TrackedResource-tags^dictionary) - cli: - cliKey: tags - - propertyName: location(TrackedResource-location^string) - cli: - cliKey: location - - schemaName: Workspace - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: Workspace - properties: - - propertyName: properties(WorkspaceProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: WorkspaceProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceProperties - properties: - - propertyName: description(WorkspaceProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(WorkspaceProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: applicationGroupReferences(WorkspaceProperties-applicationGroupReferences^array) - cli: - cliKey: applicationGroupReferences - - schemaName: CloudError - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: CloudError - properties: - - propertyName: code(CloudError-code^string) - cli: - cliKey: code - - propertyName: message(CloudError-message^string) - cli: - cliKey: message - - schemaName: WorkspacePatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(WorkspacePatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: WorkspacePatchProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatchProperties - properties: - - propertyName: description(WorkspacePatchProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(WorkspacePatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: applicationGroupReferences(WorkspacePatchProperties-applicationGroupReferences^array) - cli: - cliKey: applicationGroupReferences - - schemaName: WorkspaceList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceList - properties: - - propertyName: value(WorkspaceList-value^array) - cli: - cliKey: value - - propertyName: nextLink(WorkspaceList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: ApplicationGroupList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupList - properties: - - propertyName: value(ApplicationGroupList-value^array) - cli: - cliKey: value - - propertyName: nextLink(ApplicationGroupList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: ApplicationGroup - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroup - properties: - - propertyName: properties(ApplicationGroupProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: ApplicationGroupProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ApplicationGroupProperties - properties: - - propertyName: description(ApplicationGroupProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(ApplicationGroupProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: hostPoolArmPath(ApplicationGroupProperties-hostPoolArmPath^string) - cli: - cliKey: hostPoolArmPath - - propertyName: workspaceArmPath(ApplicationGroupProperties-workspaceArmPath^string) - cli: - cliKey: workspaceArmPath - readOnly: true - - propertyName: applicationGroupType(ApplicationGroupType^choice) - cli: - cliKey: applicationGroupType - - schemaName: ApplicationGroupPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(ApplicationGroupPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: ApplicationGroupPatchProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ApplicationGroupPatchProperties - properties: - - propertyName: description(ApplicationGroupPatchProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(ApplicationGroupPatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - schemaName: StartMenuItemList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: StartMenuItemList - properties: - - propertyName: value(StartMenuItemList-value^array) - cli: - cliKey: value - - propertyName: nextLink(StartMenuItemList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: StartMenuItem - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: StartMenuItem - properties: - - propertyName: properties(StartMenuItemProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: StartMenuItemProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 6 - simplifiable: true - cliKey: StartMenuItemProperties - properties: - - propertyName: appAlias(StartMenuItemProperties-appAlias^string) - cli: - cliKey: appAlias - - propertyName: friendlyName(StartMenuItemProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: filePath(StartMenuItemProperties-filePath^string) - cli: - cliKey: filePath - - propertyName: commandLineArguments(StartMenuItemProperties-commandLineArguments^string) - cli: - cliKey: commandLineArguments - - propertyName: iconPath(StartMenuItemProperties-iconPath^string) - cli: - cliKey: iconPath - - propertyName: iconIndex(integer^integer) - cli: - cliKey: iconIndex - - schemaName: Application - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Application - properties: - - propertyName: properties(ApplicationProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: ApplicationProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 8 - simplifiable: true - cliKey: ApplicationProperties - properties: - - propertyName: description(ApplicationProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(ApplicationProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: filePath(ApplicationProperties-filePath^string) - cli: - cliKey: filePath - - propertyName: commandLineSetting(CommandLineSetting^choice) - cli: - cliKey: commandLineSetting - - propertyName: commandLineArguments(ApplicationProperties-commandLineArguments^string) - cli: - cliKey: commandLineArguments - - propertyName: showInPortal(boolean^boolean) - cli: - cliKey: showInPortal - - propertyName: iconPath(ApplicationProperties-iconPath^string) - cli: - cliKey: iconPath - - propertyName: iconIndex(integer^integer) - cli: - cliKey: iconIndex - - propertyName: iconHash(ApplicationProperties-iconHash^string) - cli: - cliKey: iconHash - readOnly: true - - propertyName: iconContent(ApplicationProperties-iconContent^byte-array) - cli: - cliKey: iconContent - readOnly: true - - schemaName: ApplicationPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(ApplicationPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: ApplicationPatchProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 8 - simplifiable: true - cliKey: ApplicationPatchProperties - properties: - - propertyName: description(ApplicationPatchProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(ApplicationPatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: filePath(ApplicationPatchProperties-filePath^string) - cli: - cliKey: filePath - - propertyName: commandLineSetting(CommandLineSetting^choice) - cli: - cliKey: commandLineSetting - - propertyName: commandLineArguments(ApplicationPatchProperties-commandLineArguments^string) - cli: - cliKey: commandLineArguments - - propertyName: showInPortal(boolean^boolean) - cli: - cliKey: showInPortal - - propertyName: iconPath(ApplicationPatchProperties-iconPath^string) - cli: - cliKey: iconPath - - propertyName: iconIndex(integer^integer) - cli: - cliKey: iconIndex - - schemaName: ApplicationList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationList - properties: - - propertyName: value(ApplicationList-value^array) - cli: - cliKey: value - - propertyName: nextLink(ApplicationList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: Desktop - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Desktop - properties: - - propertyName: properties(DesktopProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: DesktopProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: DesktopProperties - properties: - - propertyName: description(DesktopProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(DesktopProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: iconHash(DesktopProperties-iconHash^string) - cli: - cliKey: iconHash - readOnly: true - - propertyName: iconContent(DesktopProperties-iconContent^byte-array) - cli: - cliKey: iconContent - readOnly: true - - schemaName: DesktopPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(DesktopPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: DesktopPatchProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: DesktopPatchProperties - properties: - - propertyName: description(DesktopPatchProperties-description^string) - cli: - cliKey: description - - propertyName: friendlyName(DesktopPatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - schemaName: DesktopList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopList - properties: - - propertyName: value(DesktopList-value^array) - cli: - cliKey: value - - propertyName: nextLink(DesktopList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: HostPool - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPool - properties: - - propertyName: properties(HostPoolProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: HostPoolProperties - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 14 - propertyCountIfSimplifyWithoutSimpleObject: 12 - simplifiable: true - cliKey: HostPoolProperties - properties: - - propertyName: friendlyName(HostPoolProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: description(HostPoolProperties-description^string) - cli: - cliKey: description - - propertyName: hostPoolType(HostPoolType^choice) - cli: - cliKey: hostPoolType - - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) - cli: - cliKey: personalDesktopAssignmentType - - propertyName: customRdpProperty(HostPoolProperties-customRdpProperty^string) - cli: - cliKey: customRdpProperty - - propertyName: maxSessionLimit(integer^integer) - cli: - cliKey: maxSessionLimit - - propertyName: loadBalancerType(LoadBalancerType^choice) - cli: - cliKey: loadBalancerType - - propertyName: ring(integer^integer) - cli: - cliKey: ring - - propertyName: validationEnvironment(boolean^boolean) - cli: - cliKey: validationEnvironment - - propertyName: registrationInfo(RegistrationInfo^object) - cli: - cliKey: registrationInfo - - propertyName: vmTemplate(HostPoolProperties-vmTemplate^string) - cli: - cliKey: vmTemplate - - propertyName: applicationGroupReferences(HostPoolProperties-applicationGroupReferences^array) - cli: - cliKey: applicationGroupReferences - readOnly: true - - propertyName: ssoContext(HostPoolProperties-ssoContext^string) - cli: - cliKey: ssoContext - - schemaName: RegistrationInfo - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 3 - propertyCountIfSimplifyWithoutSimpleObject: 3 - simplifiable: true - cliKey: RegistrationInfo - properties: - - propertyName: expirationTime(RegistrationInfo-expirationTime^date-time) - cli: - cliKey: expirationTime - - propertyName: token(RegistrationInfo-token^string) - cli: - cliKey: token - - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) - cli: - cliKey: registrationTokenOperation - - schemaName: HostPoolPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: properties(HostPoolPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: HostPoolPatchProperties - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 10 - simplifiable: true - cliKey: HostPoolPatchProperties - properties: - - propertyName: friendlyName(HostPoolPatchProperties-friendlyName^string) - cli: - cliKey: friendlyName - - propertyName: description(HostPoolPatchProperties-description^string) - cli: - cliKey: description - - propertyName: customRdpProperty(HostPoolPatchProperties-customRdpProperty^string) - cli: - cliKey: customRdpProperty - - propertyName: maxSessionLimit(integer^integer) - cli: - cliKey: maxSessionLimit - - propertyName: personalDesktopAssignmentType(PersonalDesktopAssignmentType^choice) - cli: - cliKey: personalDesktopAssignmentType - - propertyName: loadBalancerType(LoadBalancerType^choice) - cli: - cliKey: loadBalancerType - - propertyName: ring(integer^integer) - cli: - cliKey: ring - - propertyName: validationEnvironment(boolean^boolean) - cli: - cliKey: validationEnvironment - - propertyName: registrationInfo(RegistrationInfoPatch^object) - cli: - cliKey: registrationInfo - - propertyName: ssoContext(HostPoolPatchProperties-ssoContext^string) - cli: - cliKey: ssoContext - - schemaName: RegistrationInfoPatch - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 1 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: RegistrationInfoPatch - properties: - - propertyName: registrationTokenOperation(RegistrationTokenOperation^choice) - cli: - cliKey: registrationTokenOperation - - schemaName: HostPoolList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolList - properties: - - propertyName: value(HostPoolList-value^array) - cli: - cliKey: value - - propertyName: nextLink(HostPoolList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: UserSessionList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: UserSessionList - properties: - - propertyName: value(UserSessionList-value^array) - cli: - cliKey: value - - propertyName: nextLink(UserSessionList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: UserSession - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: UserSession - properties: - - propertyName: properties(UserSessionProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: UserSessionProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 5 - simplifiable: true - cliKey: UserSessionProperties - properties: - - propertyName: userPrincipalName(UserSessionProperties-userPrincipalName^string) - cli: - cliKey: userPrincipalName - - propertyName: applicationType(ApplicationType^choice) - cli: - cliKey: applicationType - - propertyName: sessionState(SessionState^choice) - cli: - cliKey: sessionState - - propertyName: activeDirectoryUserName(UserSessionProperties-activeDirectoryUserName^string) - cli: - cliKey: activeDirectoryUserName - - propertyName: createTime(UserSessionProperties-createTime^date-time) - cli: - cliKey: createTime - - schemaName: SessionHost - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHost - properties: - - propertyName: properties(SessionHostProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: SessionHostProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 10 - simplifiable: true - cliKey: SessionHostProperties - properties: - - propertyName: lastHeartBeat(SessionHostProperties-lastHeartBeat^date-time) - cli: - cliKey: lastHeartBeat - - propertyName: sessions(integer^integer) - cli: - cliKey: sessions - - propertyName: agentVersion(SessionHostProperties-agentVersion^string) - cli: - cliKey: agentVersion - - propertyName: allowNewSession(boolean^boolean) - cli: - cliKey: allowNewSession - - propertyName: assignedUser(SessionHostProperties-assignedUser^string) - cli: - cliKey: assignedUser - - propertyName: status(Status^choice) - cli: - cliKey: status - - propertyName: statusTimestamp(SessionHostProperties-statusTimestamp^date-time) - cli: - cliKey: statusTimestamp - readOnly: true - - propertyName: osVersion(SessionHostProperties-osVersion^string) - cli: - cliKey: osVersion - - propertyName: sxSStackVersion(SessionHostProperties-sxSStackVersion^string) - cli: - cliKey: sxSStackVersion - - propertyName: updateState(UpdateState^choice) - cli: - cliKey: updateState - - propertyName: lastUpdateTime(SessionHostProperties-lastUpdateTime^date-time) - cli: - cliKey: lastUpdateTime - readOnly: true - - propertyName: updateErrorMessage(SessionHostProperties-updateErrorMessage^string) - cli: - cliKey: updateErrorMessage - - schemaName: SessionHostPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHostPatch - properties: - - propertyName: properties(SessionHostPatchProperties^object) - cli: - cliKey: properties - x-ms-client-flatten: true - - schemaName: SessionHostPatchProperties - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SessionHostPatchProperties - properties: - - propertyName: allowNewSession(boolean^boolean) - cli: - cliKey: allowNewSession - - propertyName: assignedUser(SessionHostPatchProperties-assignedUser^string) - cli: - cliKey: assignedUser - - schemaName: SessionHostList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: SessionHostList - properties: - - propertyName: value(SessionHostList-value^array) - cli: - cliKey: value - - propertyName: nextLink(SessionHostList-nextLink^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: SendMessage - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SendMessage - properties: - - propertyName: messageTitle(SendMessage-messageTitle^string) - cli: - cliKey: messageTitle - - propertyName: messageBody(SendMessage-messageBody^string) - cli: - cliKey: messageBody - choices: - all: - - choiceName: ApplicationGroupType - cli: - cliKey: ApplicationGroupType - choiceValues: - - choiceValue: RemoteApp - cli: - cliKey: RemoteApp - - choiceValue: Desktop - cli: - cliKey: Desktop - - choiceName: CommandLineSetting - cli: - cliKey: CommandLineSetting - choiceValues: - - choiceValue: DoNotAllow - cli: - cliKey: DoNotAllow - - choiceValue: Allow - cli: - cliKey: Allow - - choiceValue: Require - cli: - cliKey: Require - - choiceName: HostPoolType - cli: - cliKey: HostPoolType - choiceValues: - - choiceValue: Personal - cli: - cliKey: Personal - - choiceValue: Pooled - cli: - cliKey: Pooled - - choiceName: PersonalDesktopAssignmentType - cli: - cliKey: PersonalDesktopAssignmentType - choiceValues: - - choiceValue: Automatic - cli: - cliKey: Automatic - - choiceValue: Direct - cli: - cliKey: Direct - - choiceName: LoadBalancerType - cli: - cliKey: LoadBalancerType - choiceValues: - - choiceValue: BreadthFirst - cli: - cliKey: BreadthFirst - - choiceValue: DepthFirst - cli: - cliKey: DepthFirst - - choiceValue: Persistent - cli: - cliKey: Persistent - - choiceName: RegistrationTokenOperation - cli: - cliKey: RegistrationTokenOperation - choiceValues: - - choiceValue: Delete - cli: - cliKey: Delete - - choiceValue: None - cli: - cliKey: None - - choiceValue: Update - cli: - cliKey: Update - - choiceName: ApplicationType - cli: - cliKey: ApplicationType - choiceValues: - - choiceValue: RemoteApp - cli: - cliKey: RemoteApp - - choiceValue: Desktop - cli: - cliKey: Desktop - - choiceName: SessionState - cli: - cliKey: SessionState - choiceValues: - - choiceValue: Unknown - cli: - cliKey: Unknown - - choiceValue: Active - cli: - cliKey: Active - - choiceValue: Disconnected - cli: - cliKey: Disconnected - - choiceValue: Pending - cli: - cliKey: Pending - - choiceValue: LogOff - cli: - cliKey: LogOff - - choiceValue: UserProfileDiskMounted - cli: - cliKey: UserProfileDiskMounted - - choiceName: Status - cli: - cliKey: Status - choiceValues: - - choiceValue: Available - cli: - cliKey: Available - - choiceValue: Unavailable - cli: - cliKey: Unavailable - - choiceValue: Shutdown - cli: - cliKey: Shutdown - - choiceValue: Disconnected - cli: - cliKey: Disconnected - - choiceValue: Upgrading - cli: - cliKey: Upgrading - - choiceValue: UpgradeFailed - cli: - cliKey: UpgradeFailed - - choiceName: UpdateState - cli: - cliKey: UpdateState - choiceValues: - - choiceValue: Initial - cli: - cliKey: Initial - - choiceValue: Pending - cli: - cliKey: Pending - - choiceValue: Started - cli: - cliKey: Started - - choiceValue: Succeeded - cli: - cliKey: Succeeded - - choiceValue: Failed - cli: - cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000060-flatten-set-post.yaml b/src/desktopvirtualization/_az_debug/clicommon-000060-flatten-set-post.yaml deleted file mode 100644 index 91d2902d92a..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000060-flatten-set-post.yaml +++ /dev/null @@ -1,9368 +0,0 @@ -info: - title: Desktop Virtualization API Client - extensions: - cli-dump-index: 60 -schemas: - booleans: - - &ref_53 - type: boolean - language: - default: - name: boolean - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - protocol: {} - - &ref_27 - type: boolean - language: - default: - name: boolean - description: Is validation environment. - protocol: {} - - &ref_222 - type: boolean - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: boolean - description: '' - protocol: {} - - &ref_73 - type: boolean - language: - default: - name: boolean - description: Allow a new session. - protocol: {} - numbers: - - &ref_47 - type: integer - precision: 32 - language: - default: - name: integer - description: Index of the icon. - protocol: {} - - &ref_24 - type: integer - precision: 32 - language: - default: - name: integer - description: The max session limit of HostPool. - protocol: {} - - &ref_26 - type: integer - precision: 32 - language: - default: - name: integer - description: The ring number of HostPool. - protocol: {} - - &ref_71 - type: integer - precision: 32 - language: - default: - name: integer - description: Number of sessions on SessionHost. - protocol: {} - strings: - - &ref_0 - type: string - language: - default: - name: string - description: simple string - protocol: {} - - &ref_2 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - protocol: {} - - &ref_3 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - protocol: {} - - &ref_4 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-resource - description: Resource on which the operation is performed. - protocol: {} - - &ref_5 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-operation - description: 'Type of operation: get, read, delete, etc.' - protocol: {} - - &ref_6 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperation-display-description - description: Description of this operation. - protocol: {} - - &ref_144 - type: string - apiVersions: - - version: '1.0' - minLength: 1 - language: - default: - name: string - description: '' - protocol: {} - - &ref_150 - type: string - apiVersions: - - version: '1.0' - maxLength: 90 - minLength: 1 - pattern: '^[-\w\._\(\)]+$' - language: - default: - name: string - description: '' - protocol: {} - - &ref_151 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 3 - language: - default: - name: string - description: '' - protocol: {} - - &ref_91 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: Resource-id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - protocol: {} - - &ref_92 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: Resource-name - description: The name of the resource - protocol: {} - - &ref_93 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: Resource-type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - protocol: {} - - &ref_1 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: string - description: '' - protocol: {} - - &ref_38 - type: string - apiVersions: - - version: '1.0' - extensions: - x-ms-mutability: - - read - - create - language: - default: - name: TrackedResource-location - description: The geo-location where the resource lives - protocol: {} - - &ref_11 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceProperties-description - description: Description of Workspace. - protocol: {} - - &ref_12 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceProperties-friendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_13 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceProperties-applicationGroupReferencesItem - description: '' - protocol: {} - - &ref_95 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudError-code - description: Error code - protocol: {} - - &ref_96 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudError-message - description: Error message indicating why the operation failed. - protocol: {} - - &ref_97 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchProperties-description - description: Description of Workspace. - protocol: {} - - &ref_98 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchProperties-friendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_99 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchProperties-applicationGroupReferencesItem - description: '' - protocol: {} - - &ref_101 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_167 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: string - description: '' - protocol: {} - - &ref_14 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-description - description: Description of ApplicationGroup. - protocol: {} - - &ref_15 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-friendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_16 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-hostPoolArmPath - description: HostPool arm path of ApplicationGroup. - protocol: {} - - &ref_17 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupProperties-workspaceArmPath - description: Workspace arm path of ApplicationGroup. - protocol: {} - - &ref_102 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_40 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchProperties-description - description: Description of ApplicationGroup. - protocol: {} - - &ref_41 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchProperties-friendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_42 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-appAlias - description: Alias of StartMenuItem. - protocol: {} - - &ref_43 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-friendlyName - description: Friendly name of StartMenuItem. - protocol: {} - - &ref_44 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-filePath - description: Path to the file of StartMenuItem. - protocol: {} - - &ref_45 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-commandLineArguments - description: Command line arguments for StartMenuItem. - protocol: {} - - &ref_46 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemProperties-iconPath - description: Path to the icon. - protocol: {} - - &ref_105 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_48 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-description - description: Description of Application. - protocol: {} - - &ref_49 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-friendlyName - description: Friendly name of Application. - protocol: {} - - &ref_50 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-filePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_52 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-commandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_54 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-iconPath - description: Path to icon. - protocol: {} - - &ref_55 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-iconHash - description: Hash of the icon. - protocol: {} - - &ref_108 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-description - description: Description of Application. - protocol: {} - - &ref_109 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-friendlyName - description: Friendly name of Application. - protocol: {} - - &ref_110 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-filePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_111 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-commandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_112 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchProperties-iconPath - description: Path to icon. - protocol: {} - - &ref_114 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_57 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-description - description: Description of Desktop. - protocol: {} - - &ref_58 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-friendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_59 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-iconHash - description: Hash of the icon. - protocol: {} - - &ref_116 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchProperties-description - description: Description of Desktop. - protocol: {} - - &ref_117 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchProperties-friendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_119 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_19 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-friendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_20 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-description - description: Description of HostPool. - protocol: {} - - &ref_23 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-customRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_29 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: RegistrationInfo-token - description: The registration token base64 encoded string. - protocol: {} - - &ref_31 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-vmTemplate - description: VM template for sessionhosts configuration within hostpool. - protocol: {} - - &ref_32 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-applicationGroupReferencesItem - description: '' - protocol: {} - - &ref_33 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolProperties-ssoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_61 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-friendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_62 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-description - description: Description of HostPool. - protocol: {} - - &ref_63 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-customRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_64 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchProperties-ssoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_124 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_65 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionProperties-userPrincipalName - description: The user principal name. - protocol: {} - - &ref_68 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionProperties-activeDirectoryUserName - description: The active directory user name. - protocol: {} - - &ref_125 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_235 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 48 - minLength: 3 - language: - default: - name: string - description: '' - protocol: {} - - &ref_72 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-agentVersion - description: Version of agent on SessionHost. - protocol: {} - - &ref_74 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-assignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_77 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-osVersion - description: The version of the OS on the session host. - protocol: {} - - &ref_78 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-sxSStackVersion - description: The version of the side by side stack on the session host. - protocol: {} - - &ref_81 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-updateErrorMessage - description: The error message. - protocol: {} - - &ref_82 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPatchProperties-assignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_129 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostList-nextLink - description: Link to the next page of results. - protocol: {} - - &ref_236 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 1 - language: - default: - name: string - description: '' - protocol: {} - - &ref_130 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessage-messageTitle - description: Title of message. - protocol: {} - - &ref_131 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessage-messageBody - description: Body of message. - protocol: {} - choices: - - &ref_18 - choices: - - value: RemoteApp - language: - default: - name: RemoteApp - description: '' - cli: - cliKey: RemoteApp - - value: Desktop - language: - default: - name: Desktop - description: '' - cli: - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationGroupType - description: Resource Type of ApplicationGroup. - cli: - cliKey: ApplicationGroupType - protocol: {} - - &ref_51 - choices: - - value: DoNotAllow - language: - default: - name: DoNotAllow - description: '' - cli: - cliKey: DoNotAllow - - value: Allow - language: - default: - name: Allow - description: '' - cli: - cliKey: Allow - - value: Require - language: - default: - name: Require - description: '' - cli: - cliKey: Require - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: CommandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - cliKey: CommandLineSetting - protocol: {} - - &ref_21 - choices: - - value: Personal - language: - default: - name: Personal - description: '' - cli: - cliKey: Personal - - value: Pooled - language: - default: - name: Pooled - description: '' - cli: - cliKey: Pooled - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: HostPoolType - description: HostPool type for desktop. - cli: - cliKey: HostPoolType - protocol: {} - - &ref_22 - choices: - - value: Automatic - language: - default: - name: Automatic - description: '' - cli: - cliKey: Automatic - - value: Direct - language: - default: - name: Direct - description: '' - cli: - cliKey: Direct - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: PersonalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cli: - cliKey: PersonalDesktopAssignmentType - protocol: {} - - &ref_25 - choices: - - value: BreadthFirst - language: - default: - name: BreadthFirst - description: '' - cli: - cliKey: BreadthFirst - - value: DepthFirst - language: - default: - name: DepthFirst - description: '' - cli: - cliKey: DepthFirst - - value: Persistent - language: - default: - name: Persistent - description: '' - cli: - cliKey: Persistent - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: LoadBalancerType - description: The type of the load balancer. - cli: - cliKey: LoadBalancerType - protocol: {} - - &ref_30 - choices: - - value: Delete - language: - default: - name: Delete - description: '' - cli: - cliKey: Delete - - value: None - language: - default: - name: None - description: '' - cli: - cliKey: None - - value: Update - language: - default: - name: Update - description: '' - cli: - cliKey: Update - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: RegistrationTokenOperation - description: The type of resetting the token. - cli: - cliKey: RegistrationTokenOperation - protocol: {} - - &ref_66 - choices: - - value: RemoteApp - language: - default: - name: RemoteApp - description: '' - cli: - cliKey: RemoteApp - - value: Desktop - language: - default: - name: Desktop - description: '' - cli: - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationType - description: Application type of application. - cli: - cliKey: ApplicationType - protocol: {} - - &ref_67 - choices: - - value: Unknown - language: - default: - name: Unknown - description: '' - cli: - cliKey: Unknown - - value: Active - language: - default: - name: Active - description: '' - cli: - cliKey: Active - - value: Disconnected - language: - default: - name: Disconnected - description: '' - cli: - cliKey: Disconnected - - value: Pending - language: - default: - name: Pending - description: '' - cli: - cliKey: Pending - - value: LogOff - language: - default: - name: LogOff - description: '' - cli: - cliKey: LogOff - - value: UserProfileDiskMounted - language: - default: - name: UserProfileDiskMounted - description: '' - cli: - cliKey: UserProfileDiskMounted - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: SessionState - description: State of user session. - cli: - cliKey: SessionState - protocol: {} - - &ref_75 - choices: - - value: Available - language: - default: - name: Available - description: '' - cli: - cliKey: Available - - value: Unavailable - language: - default: - name: Unavailable - description: '' - cli: - cliKey: Unavailable - - value: Shutdown - language: - default: - name: Shutdown - description: '' - cli: - cliKey: Shutdown - - value: Disconnected - language: - default: - name: Disconnected - description: '' - cli: - cliKey: Disconnected - - value: Upgrading - language: - default: - name: Upgrading - description: '' - cli: - cliKey: Upgrading - - value: UpgradeFailed - language: - default: - name: UpgradeFailed - description: '' - cli: - cliKey: UpgradeFailed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: Status - description: Status for a SessionHost. - cli: - cliKey: Status - protocol: {} - - &ref_79 - choices: - - value: Initial - language: - default: - name: Initial - description: '' - cli: - cliKey: Initial - - value: Pending - language: - default: - name: Pending - description: '' - cli: - cliKey: Pending - - value: Started - language: - default: - name: Started - description: '' - cli: - cliKey: Started - - value: Succeeded - language: - default: - name: Succeeded - description: '' - cli: - cliKey: Succeeded - - value: Failed - language: - default: - name: Failed - description: '' - cli: - cliKey: Failed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: UpdateState - description: Update state of a SessionHost. - cli: - cliKey: UpdateState - protocol: {} - constants: - - &ref_145 - type: constant - value: - value: 2019-12-10-preview - valueType: *ref_0 - language: - default: - name: ApiVersion-2019-12-10-preview - description: Api Version (2019-12-10-preview) - protocol: {} - - &ref_155 - type: constant - value: - value: application/json - valueType: *ref_0 - language: - default: - name: application/json - description: Content Type 'application/json' - protocol: {} - dictionaries: - - &ref_37 - type: dictionary - elementType: *ref_1 - language: - default: - name: TrackedResource-tags - description: Resource tags. - cli: - cli-complexity: dictionary_simple - cli-mark: checked - protocol: {} - any: - - &ref_39 - type: any - language: - default: - name: any - description: Any object - protocol: {} - byteArrays: - - &ref_56 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationProperties-iconContent - description: the icon a 64 bit string as a byte array. - protocol: {} - - &ref_60 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopProperties-iconContent - description: The icon a 64 bit string as a byte array. - protocol: {} - dateTimes: - - &ref_28 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: RegistrationInfo-expirationTime - description: Expiration time of registration token. - protocol: {} - - &ref_69 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionProperties-createTime - description: The timestamp of the user session create. - protocol: {} - - &ref_70 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-lastHeartBeat - description: Last heart beat from SessionHost. - protocol: {} - - &ref_76 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-statusTimestamp - description: The timestamp of the status. - protocol: {} - - &ref_80 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostProperties-lastUpdateTime - description: The timestamp of the last update. - protocol: {} - objects: - - &ref_148 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_132 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: &ref_7 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_2 - serializedName: name - language: - default: - name: name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cli: - cliKey: name - protocol: {} - - schema: &ref_8 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_3 - serializedName: provider - language: - default: - name: provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cli: - cliKey: provider - protocol: {} - - schema: *ref_4 - serializedName: resource - language: - default: - name: resource - description: Resource on which the operation is performed. - cli: - cliKey: resource - protocol: {} - - schema: *ref_5 - serializedName: operation - language: - default: - name: operation - description: 'Type of operation: get, read, delete, etc.' - cli: - cliKey: operation - protocol: {} - - schema: *ref_6 - serializedName: description - language: - default: - name: description - description: Description of this operation. - cli: - cliKey: description - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperation-display - description: Display metadata associated with the operation. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ResourceProviderOperation-display - protocol: {} - serializedName: display - language: - default: - name: display - description: Display metadata associated with the operation. - cli: - cliKey: display - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperation - description: Supported operation of this resource provider. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ResourceProviderOperation - protocol: {} - language: - default: - name: ResourceProviderOperationList-value - description: List of operations supported by this resource provider. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of operations supported by this resource provider. - cli: - cliKey: value - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperationList - description: Result of the request to list operations. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ResourceProviderOperationList - protocol: {} - - *ref_7 - - *ref_8 - - &ref_10 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_9 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_34 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - schema: &ref_94 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_11 - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: - cliKey: description - protocol: {} - - schema: *ref_12 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Workspace. - cli: - cliKey: friendlyName - protocol: {} - - schema: &ref_133 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_13 - language: - default: - name: WorkspaceProperties-applicationGroupReferences - description: List of applicationGroup resource Ids. - cli: - cli-complexity: array_simple - cli-mark: checked - protocol: {} - serializedName: applicationGroupReferences - language: - default: - name: applicationGroupReferences - description: List of applicationGroup resource Ids. - cli: - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: WorkspaceProperties - description: Schema for Workspace properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Workspace - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Workspace - description: Represents a Workspace definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: Workspace - protocol: {} - - &ref_35 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - schema: &ref_103 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_14 - required: false - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: - cliKey: description - protocol: {} - - schema: *ref_15 - required: false - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of ApplicationGroup. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_16 - required: true - serializedName: hostPoolArmPath - language: - default: - name: hostPoolArmPath - description: HostPool arm path of ApplicationGroup. - cli: - cliKey: hostPoolArmPath - protocol: {} - - schema: *ref_17 - readOnly: true - required: false - serializedName: workspaceArmPath - language: - default: - name: workspaceArmPath - description: Workspace arm path of ApplicationGroup. - cli: - cliKey: workspaceArmPath - protocol: {} - - schema: *ref_18 - required: true - serializedName: applicationGroupType - language: - default: - name: applicationGroupType - description: Resource Type of ApplicationGroup. - cli: - cliKey: applicationGroupType - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationGroupProperties - description: Schema for ApplicationGroup properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ApplicationGroupProperties - protocol: {} - required: true - serializedName: properties - extensions: - x-ms-client-flatten: true - x-nullable: false - language: - default: - name: properties - description: Detailed properties for ApplicationGroup - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationGroup - description: Represents a ApplicationGroup definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroup - protocol: {} - - &ref_36 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - schema: &ref_120 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_19 - required: false - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of HostPool. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_20 - required: false - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: - cliKey: description - protocol: {} - - schema: *ref_21 - required: true - serializedName: hostPoolType - language: - default: - name: hostPoolType - description: HostPool type for desktop. - cli: - cliKey: hostPoolType - protocol: {} - - schema: *ref_22 - required: true - serializedName: personalDesktopAssignmentType - language: - default: - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cli: - cliKey: personalDesktopAssignmentType - protocol: {} - - schema: *ref_23 - required: false - serializedName: customRdpProperty - language: - default: - name: customRdpProperty - description: Custom rdp property of HostPool. - cli: - cliKey: customRdpProperty - protocol: {} - - schema: *ref_24 - required: false - serializedName: maxSessionLimit - language: - default: - name: maxSessionLimit - description: The max session limit of HostPool. - cli: - cliKey: maxSessionLimit - protocol: {} - - schema: *ref_25 - required: true - serializedName: loadBalancerType - language: - default: - name: loadBalancerType - description: The type of the load balancer. - cli: - cliKey: loadBalancerType - protocol: {} - - schema: *ref_26 - required: false - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: - cliKey: ring - protocol: {} - - schema: *ref_27 - required: false - serializedName: validationEnvironment - language: - default: - name: validationEnvironment - description: Is validation environment. - cli: - cliKey: validationEnvironment - protocol: {} - - schema: &ref_121 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_28 - serializedName: expirationTime - language: - default: - name: expirationTime - description: Expiration time of registration token. - cli: - cliKey: expirationTime - protocol: {} - - schema: *ref_29 - serializedName: token - language: - default: - name: token - description: The registration token base64 encoded string. - cli: - cliKey: token - protocol: {} - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registrationTokenOperation - description: The type of resetting the token. - cli: - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: RegistrationInfo - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 3 - propertyCountIfSimplifyWithoutSimpleObject: 3 - simplifiable: true - cliKey: RegistrationInfo - protocol: {} - required: false - serializedName: registrationInfo - language: - default: - name: registrationInfo - description: The registration info of HostPool. - cli: - cliKey: registrationInfo - protocol: {} - - schema: *ref_31 - required: false - serializedName: vmTemplate - language: - default: - name: vmTemplate - description: VM template for sessionhosts configuration within hostpool. - cli: - cliKey: vmTemplate - protocol: {} - - schema: &ref_140 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_32 - language: - default: - name: HostPoolProperties-applicationGroupReferences - description: List of applicationGroup links. - cli: - cli-complexity: array_simple - cli-mark: checked - protocol: {} - readOnly: true - required: false - serializedName: applicationGroupReferences - language: - default: - name: applicationGroupReferences - description: List of applicationGroup links. - cli: - cliKey: applicationGroupReferences - protocol: {} - - schema: *ref_33 - required: false - serializedName: ssoContext - language: - default: - name: ssoContext - description: Path to keyvault containing ssoContext secret. - cli: - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: HostPoolProperties - description: Properties of HostPool. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 14 - propertyCountIfSimplifyWithoutSimpleObject: 12 - simplifiable: true - cliKey: HostPoolProperties - protocol: {} - required: true - serializedName: properties - extensions: - x-ms-client-flatten: true - x-nullable: false - language: - default: - name: properties - description: Detailed properties for HostPool - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: HostPool - description: Represents a HostPool definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPool - protocol: {} - immediate: - - *ref_34 - - *ref_35 - - *ref_36 - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_37 - required: false - serializedName: tags - language: - default: - name: tags - description: Resource tags. - cli: - cliKey: tags - protocol: {} - - schema: *ref_38 - required: true - serializedName: location - language: - default: - name: location - description: The geo-location where the resource lives - cli: - cliKey: location - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: TrackedResource - description: The resource model definition for a ARM tracked top level resource - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: TrackedResource - protocol: {} - - *ref_34 - - *ref_35 - - &ref_83 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_104 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_40 - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: - cliKey: description - protocol: {} - - schema: *ref_41 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of ApplicationGroup. - cli: - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: ApplicationGroupPatchProperties - description: ApplicationGroup properties that can be patched. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ApplicationGroupPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: ApplicationGroup properties that can be patched. - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: ApplicationGroupPatch - description: ApplicationGroup properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupPatch - protocol: {} - - &ref_84 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_106 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_42 - serializedName: appAlias - language: - default: - name: appAlias - description: Alias of StartMenuItem. - cli: - cliKey: appAlias - protocol: {} - - schema: *ref_43 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of StartMenuItem. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_44 - serializedName: filePath - language: - default: - name: filePath - description: Path to the file of StartMenuItem. - cli: - cliKey: filePath - protocol: {} - - schema: *ref_45 - serializedName: commandLineArguments - language: - default: - name: commandLineArguments - description: Command line arguments for StartMenuItem. - cli: - cliKey: commandLineArguments - protocol: {} - - schema: *ref_46 - serializedName: iconPath - language: - default: - name: iconPath - description: Path to the icon. - cli: - cliKey: iconPath - protocol: {} - - schema: *ref_47 - serializedName: iconIndex - language: - default: - name: iconIndex - description: Index of the icon. - cli: - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: StartMenuItemProperties - description: Schema for StartMenuItem properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 6 - simplifiable: true - cliKey: StartMenuItemProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for StartMenuItem - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: StartMenuItem - description: Represents a StartMenuItem definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: StartMenuItem - protocol: {} - - &ref_85 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_107 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_48 - required: false - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: - cliKey: description - protocol: {} - - schema: *ref_49 - required: false - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Application. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_50 - required: false - serializedName: filePath - language: - default: - name: filePath - description: Specifies a path for the executable file for the application. - cli: - cliKey: filePath - protocol: {} - - schema: *ref_51 - required: true - serializedName: commandLineSetting - language: - default: - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - cliKey: commandLineSetting - protocol: {} - - schema: *ref_52 - required: false - serializedName: commandLineArguments - language: - default: - name: commandLineArguments - description: Command Line Arguments for Application. - cli: - cliKey: commandLineArguments - protocol: {} - - schema: *ref_53 - required: false - serializedName: showInPortal - language: - default: - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: - cliKey: showInPortal - protocol: {} - - schema: *ref_54 - required: false - serializedName: iconPath - language: - default: - name: iconPath - description: Path to icon. - cli: - cliKey: iconPath - protocol: {} - - schema: *ref_47 - required: false - serializedName: iconIndex - language: - default: - name: iconIndex - description: Index of the icon. - cli: - cliKey: iconIndex - protocol: {} - - schema: *ref_55 - readOnly: true - required: false - serializedName: iconHash - language: - default: - name: iconHash - description: Hash of the icon. - cli: - cliKey: iconHash - protocol: {} - - schema: *ref_56 - readOnly: true - required: false - serializedName: iconContent - language: - default: - name: iconContent - description: the icon a 64 bit string as a byte array. - cli: - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationProperties - description: Schema for Application properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 8 - simplifiable: true - cliKey: ApplicationProperties - protocol: {} - required: true - serializedName: properties - extensions: - x-ms-client-flatten: true - x-nullable: false - language: - default: - name: properties - description: Detailed properties for Application - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Application - description: Schema for Application properties. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Application - protocol: {} - - &ref_86 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_115 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_57 - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: - cliKey: description - protocol: {} - - schema: *ref_58 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Desktop. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_59 - readOnly: true - serializedName: iconHash - language: - default: - name: iconHash - description: Hash of the icon. - cli: - cliKey: iconHash - protocol: {} - - schema: *ref_60 - readOnly: true - serializedName: iconContent - language: - default: - name: iconContent - description: The icon a 64 bit string as a byte array. - cli: - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: DesktopProperties - description: Schema for Desktop properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: DesktopProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Desktop - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Desktop - description: Schema for Desktop properties. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Desktop - protocol: {} - - *ref_36 - - &ref_87 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_122 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_61 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of HostPool. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_62 - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: - cliKey: description - protocol: {} - - schema: *ref_63 - serializedName: customRdpProperty - language: - default: - name: customRdpProperty - description: Custom rdp property of HostPool. - cli: - cliKey: customRdpProperty - protocol: {} - - schema: *ref_24 - serializedName: maxSessionLimit - language: - default: - name: maxSessionLimit - description: The max session limit of HostPool. - cli: - cliKey: maxSessionLimit - protocol: {} - - schema: *ref_22 - serializedName: personalDesktopAssignmentType - language: - default: - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cli: - cliKey: personalDesktopAssignmentType - protocol: {} - - schema: *ref_25 - serializedName: loadBalancerType - language: - default: - name: loadBalancerType - description: The type of the load balancer. - cli: - cliKey: loadBalancerType - protocol: {} - - schema: *ref_26 - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: - cliKey: ring - protocol: {} - - schema: *ref_27 - serializedName: validationEnvironment - language: - default: - name: validationEnvironment - description: Is validation environment. - cli: - cliKey: validationEnvironment - protocol: {} - - schema: &ref_123 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registrationTokenOperation - description: The type of resetting the token. - cli: - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: RegistrationInfoPatch - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 1 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: RegistrationInfoPatch - protocol: {} - serializedName: registrationInfo - language: - default: - name: registrationInfo - description: The registration info of HostPool. - cli: - cliKey: registrationInfo - protocol: {} - - schema: *ref_64 - serializedName: ssoContext - language: - default: - name: ssoContext - description: Path to keyvault containing ssoContext secret. - cli: - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: HostPoolPatchProperties - description: Properties of HostPool. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 10 - simplifiable: true - cliKey: HostPoolPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: HostPool properties that can be patched. - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: HostPoolPatch - description: HostPool properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolPatch - protocol: {} - - &ref_88 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_126 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_65 - serializedName: userPrincipalName - language: - default: - name: userPrincipalName - description: The user principal name. - cli: - cliKey: userPrincipalName - protocol: {} - - schema: *ref_66 - serializedName: applicationType - language: - default: - name: applicationType - description: Application type of application. - cli: - cliKey: applicationType - protocol: {} - - schema: *ref_67 - serializedName: sessionState - language: - default: - name: sessionState - description: State of user session. - cli: - cliKey: sessionState - protocol: {} - - schema: *ref_68 - serializedName: activeDirectoryUserName - language: - default: - name: activeDirectoryUserName - description: The active directory user name. - cli: - cliKey: activeDirectoryUserName - protocol: {} - - schema: *ref_69 - serializedName: createTime - language: - default: - name: createTime - description: The timestamp of the user session create. - cli: - cliKey: createTime - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: UserSessionProperties - description: Schema for UserSession properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 5 - simplifiable: true - cliKey: UserSessionProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for UserSession - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: UserSession - description: Represents a UserSession definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: UserSession - protocol: {} - - &ref_89 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_127 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_70 - serializedName: lastHeartBeat - language: - default: - name: lastHeartBeat - description: Last heart beat from SessionHost. - cli: - cliKey: lastHeartBeat - protocol: {} - - schema: *ref_71 - serializedName: sessions - language: - default: - name: sessions - description: Number of sessions on SessionHost. - cli: - cliKey: sessions - protocol: {} - - schema: *ref_72 - serializedName: agentVersion - language: - default: - name: agentVersion - description: Version of agent on SessionHost. - cli: - cliKey: agentVersion - protocol: {} - - schema: *ref_73 - serializedName: allowNewSession - language: - default: - name: allowNewSession - description: Allow a new session. - cli: - cliKey: allowNewSession - protocol: {} - - schema: *ref_74 - serializedName: assignedUser - language: - default: - name: assignedUser - description: User assigned to SessionHost. - cli: - cliKey: assignedUser - protocol: {} - - schema: *ref_75 - serializedName: status - language: - default: - name: status - description: Status for a SessionHost. - cli: - cliKey: status - protocol: {} - - schema: *ref_76 - readOnly: true - serializedName: statusTimestamp - language: - default: - name: statusTimestamp - description: The timestamp of the status. - cli: - cliKey: statusTimestamp - protocol: {} - - schema: *ref_77 - serializedName: osVersion - language: - default: - name: osVersion - description: The version of the OS on the session host. - cli: - cliKey: osVersion - protocol: {} - - schema: *ref_78 - serializedName: sxSStackVersion - language: - default: - name: sxSStackVersion - description: The version of the side by side stack on the session host. - cli: - cliKey: sxSStackVersion - protocol: {} - - schema: *ref_79 - serializedName: updateState - language: - default: - name: updateState - description: Update state of a SessionHost. - cli: - cliKey: updateState - protocol: {} - - schema: *ref_80 - readOnly: true - serializedName: lastUpdateTime - language: - default: - name: lastUpdateTime - description: The timestamp of the last update. - cli: - cliKey: lastUpdateTime - protocol: {} - - schema: *ref_81 - serializedName: updateErrorMessage - language: - default: - name: updateErrorMessage - description: The error message. - cli: - cliKey: updateErrorMessage - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: SessionHostProperties - description: Schema for SessionHost properties. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 10 - simplifiable: true - cliKey: SessionHostProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for SessionHost - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: SessionHost - description: Represents a SessionHost definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHost - protocol: {} - - &ref_90 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: &ref_128 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_73 - serializedName: allowNewSession - language: - default: - name: allowNewSession - description: Allow a new session. - cli: - cliKey: allowNewSession - protocol: {} - - schema: *ref_82 - serializedName: assignedUser - language: - default: - name: assignedUser - description: User assigned to SessionHost. - cli: - cliKey: assignedUser - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: SessionHostPatchProperties - description: SessionHost properties that can be patched. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SessionHostPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for SessionHost - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: SessionHostPatch - description: SessionHost properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHostPatch - protocol: {} - immediate: - - *ref_9 - - *ref_83 - - *ref_84 - - *ref_85 - - *ref_86 - - *ref_87 - - *ref_88 - - *ref_89 - - *ref_90 - properties: - - schema: *ref_91 - readOnly: true - serializedName: id - language: - default: - name: id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cli: - cliKey: id - protocol: {} - - schema: *ref_92 - readOnly: true - serializedName: name - language: - default: - name: name - description: The name of the resource - cli: - cliKey: name - protocol: {} - - schema: *ref_93 - readOnly: true - serializedName: type - language: - default: - name: type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cli: - cliKey: type - protocol: {} - serializationFormats: - - json - usage: - - output - - input - extensions: - x-ms-azure-resource: true - language: - default: - name: Resource - description: '' - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 0 - propertyCountIfSimplifyWithoutSimpleObject: 0 - simplifiable: true - cliKey: Resource - protocol: {} - - *ref_9 - - *ref_34 - - *ref_94 - - &ref_154 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_95 - serializedName: code - language: - default: - name: code - description: Error code - cli: - cliKey: code - protocol: {} - - schema: *ref_96 - serializedName: message - language: - default: - name: message - description: Error message indicating why the operation failed. - cli: - cliKey: message - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: CloudError - description: Error response of an operation failure - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: CloudError - protocol: {} - - &ref_161 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_100 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_97 - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: - cliKey: description - protocol: {} - - schema: *ref_98 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Workspace. - cli: - cliKey: friendlyName - protocol: {} - - schema: &ref_134 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_99 - language: - default: - name: WorkspacePatchProperties-applicationGroupReferences - description: List of applicationGroup links. - cli: - cli-complexity: array_simple - cli-mark: checked - protocol: {} - serializedName: applicationGroupReferences - language: - default: - name: applicationGroupReferences - description: List of applicationGroup links. - cli: - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: WorkspacePatchProperties - description: Workspace properties that can be patched. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Workspace - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: WorkspacePatch - description: Workspace properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatch - protocol: {} - - *ref_100 - - &ref_166 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_135 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_34 - language: - default: - name: WorkspaceList-value - description: List of Workspace definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Workspace definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_101 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: WorkspaceList - usage: - - output - language: - default: - name: WorkspaceList - description: List of Workspace definitions. - namespace: '' - summary: WorkspaceList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceList - protocol: {} - - &ref_171 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_136 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_35 - language: - default: - name: ApplicationGroupList-value - description: List of ApplicationGroup definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of ApplicationGroup definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_102 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationGroupList - usage: - - output - language: - default: - name: ApplicationGroupList - description: List of ApplicationGroup definitions. - namespace: '' - summary: ApplicationGroupList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupList - protocol: {} - - *ref_35 - - *ref_103 - - *ref_83 - - *ref_104 - - &ref_187 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_137 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_84 - language: - default: - name: StartMenuItemList-value - description: List of StartMenuItem definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of StartMenuItem definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_105 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: StartMenuItemList - usage: - - output - language: - default: - name: StartMenuItemList - description: List of StartMenuItem definitions. - namespace: '' - summary: StartMenuItemList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: StartMenuItemList - protocol: {} - - *ref_84 - - *ref_106 - - *ref_85 - - *ref_107 - - &ref_198 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_113 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_108 - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: - cliKey: description - protocol: {} - - schema: *ref_109 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Application. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_110 - serializedName: filePath - language: - default: - name: filePath - description: Specifies a path for the executable file for the application. - cli: - cliKey: filePath - protocol: {} - - schema: *ref_51 - serializedName: commandLineSetting - language: - default: - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - cliKey: commandLineSetting - protocol: {} - - schema: *ref_111 - serializedName: commandLineArguments - language: - default: - name: commandLineArguments - description: Command Line Arguments for Application. - cli: - cliKey: commandLineArguments - protocol: {} - - schema: *ref_53 - serializedName: showInPortal - language: - default: - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: - cliKey: showInPortal - protocol: {} - - schema: *ref_112 - serializedName: iconPath - language: - default: - name: iconPath - description: Path to icon. - cli: - cliKey: iconPath - protocol: {} - - schema: *ref_47 - serializedName: iconIndex - language: - default: - name: iconIndex - description: Index of the icon. - cli: - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: ApplicationPatchProperties - description: Application properties that can be patched. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 8 - simplifiable: true - cliKey: ApplicationPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Application - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: ApplicationPatch - description: Application properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationPatch - protocol: {} - - *ref_113 - - &ref_205 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_138 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_85 - language: - default: - name: ApplicationList-value - description: List of Application definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Application definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_114 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationList - usage: - - output - language: - default: - name: ApplicationList - description: List of Application definitions. - namespace: '' - summary: ApplicationList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationList - protocol: {} - - *ref_86 - - *ref_115 - - &ref_209 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: - cliKey: tags - protocol: {} - - schema: &ref_118 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_116 - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: - cliKey: description - protocol: {} - - schema: *ref_117 - serializedName: friendlyName - language: - default: - name: friendlyName - description: Friendly name of Desktop. - cli: - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: DesktopPatchProperties - description: Desktop properties that can be patched. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: DesktopPatchProperties - protocol: {} - serializedName: properties - extensions: - x-ms-client-flatten: true - language: - default: - name: properties - description: Detailed properties for Desktop - cli: - cliKey: properties - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: DesktopPatch - description: Desktop properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopPatch - protocol: {} - - *ref_118 - - &ref_216 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_139 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_86 - language: - default: - name: DesktopList-value - description: List of Desktop definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Desktop definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_119 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: DesktopList - usage: - - output - language: - default: - name: DesktopList - description: List of Desktop definitions. - namespace: '' - summary: DesktopList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopList - protocol: {} - - *ref_36 - - *ref_120 - - *ref_121 - - *ref_87 - - *ref_122 - - *ref_123 - - &ref_230 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_141 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_36 - language: - default: - name: HostPoolList-value - description: List of HostPool definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of HostPool definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_124 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: HostPoolList - usage: - - output - language: - default: - name: HostPoolList - description: List of HostPool definitions. - namespace: '' - summary: HostPoolList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolList - protocol: {} - - &ref_234 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_142 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_88 - language: - default: - name: UserSessionList-value - description: List of UserSession definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of UserSession definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_125 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: UserSessionList - usage: - - output - language: - default: - name: UserSessionList - description: List of UserSession definitions. - namespace: '' - summary: UserSessionList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: UserSessionList - protocol: {} - - *ref_88 - - *ref_126 - - *ref_89 - - *ref_127 - - *ref_90 - - *ref_128 - - &ref_272 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_143 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_89 - language: - default: - name: SessionHostList-value - description: List of SessionHost definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of SessionHost definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_129 - readOnly: true - serializedName: nextLink - language: - default: - name: nextLink - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: SessionHostList - usage: - - output - language: - default: - name: SessionHostList - description: List of SessionHost definitions. - namespace: '' - summary: SessionHostList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: SessionHostList - protocol: {} - - &ref_253 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_130 - serializedName: messageTitle - language: - default: - name: messageTitle - description: Title of message. - cli: - cliKey: messageTitle - protocol: {} - - schema: *ref_131 - serializedName: messageBody - language: - default: - name: messageBody - description: Body of message. - cli: - cliKey: messageBody - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: SendMessage - description: Represents message sent to a UserSession. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SendMessage - protocol: {} - arrays: - - *ref_132 - - *ref_133 - - *ref_134 - - *ref_135 - - *ref_136 - - *ref_137 - - *ref_138 - - *ref_139 - - *ref_140 - - *ref_141 - - *ref_142 - - *ref_143 -globalParameters: - - &ref_149 - schema: *ref_144 - implementation: Client - required: true - extensions: - x-ms-priority: 0 - language: - default: - name: subscriptionId - description: The ID of the target subscription. - serializedName: subscriptionId - cli: - cliKey: subscriptionId - protocol: - http: - in: path - - &ref_146 - schema: *ref_0 - clientDefaultValue: 'https://management.azure.com' - implementation: Client - origin: 'modelerfour:synthesized/host' - required: true - extensions: - x-ms-skip-url-encoding: true - language: - default: - name: $host - description: server parameter - serializedName: $host - cli: - cliKey: $host - protocol: - http: - in: uri - - &ref_147 - schema: *ref_145 - implementation: Client - origin: 'modelerfour:synthesized/api-version' - required: true - language: - default: - name: ApiVersion - description: Api Version - serializedName: api-version - cli: - cliKey: ApiVersion - protocol: - http: - in: query -operationGroups: - - $key: Operations - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: /providers/Microsoft.DesktopVirtualization/operations - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_148 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - extensions: - x-ms-examples: - OperationDescription_List: - parameters: - api-version: 2019-12-10-preview - responses: - '200': - body: - value: - - name: Microsoft.DesktopVirtualization/ssocontext/read - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - - name: Microsoft.DesktopVirtualization/ssocontext/write - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - language: - default: - name: List - description: List all of the available operations the Desktop Virtualization resource provider supports. - cli: - cliKey: List - protocol: {} - language: - default: - name: Operations - description: '' - cli: - cliKey: Operations - protocol: {} - - $key: Workspaces - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_152 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_153 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_152 - - *ref_153 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Get: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: Get - description: Get a workspace. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_157 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_158 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_156 - schema: *ref_34 - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: workspace - description: Object containing Workspace definitions. - cli: - cliKey: workspace - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_156 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_157 - - *ref_158 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Create: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '201': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: CreateOrUpdate - description: Create or update a workspace. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_159 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_160 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_159 - - *ref_160 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Delete: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: Delete - description: Remove a workspace. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_163 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_164 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_162 - schema: *ref_161 - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: workspace - description: Object containing Workspace definitions. - cli: - cliKey: workspace - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_162 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_163 - - *ref_164 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Update: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: Update - description: Update a workspace. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_165 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: - - *ref_165 - responses: - - schema: *ref_166 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByResourceGroup - description: List workspaces. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_166 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListBySubscription: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListBySubscription - description: List workspaces in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySubscription - protocol: {} - language: - default: - name: Workspaces - description: '' - cli: - cliKey: Workspaces - protocol: {} - - $key: ApplicationGroupAssignments - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_168 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_169 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: workspaceName - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - - &ref_170 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' - method: get - uri: '{$host}' - signatureParameters: - - *ref_168 - - *ref_169 - - *ref_170 - responses: - - schema: *ref_171 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroupAssignment_WorkspaceLevelList: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: WorkspaceLevelList - description: List application group that user can use. - paging: - nextLinkName: nextLink - cli: - cliKey: WorkspaceLevelList - protocol: {} - language: - default: - name: ApplicationGroupAssignments - description: '' - cli: - cliKey: ApplicationGroupAssignments - protocol: {} - - $key: ApplicationGroups - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_172 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_173 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_172 - - *ref_173 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: Get - description: Get an application group. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_175 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_176 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_174 - schema: *ref_35 - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: applicationGroup - description: Object containing ApplicationGroup definitions. - cli: - cliKey: applicationGroup - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_174 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_175 - - *ref_176 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Create: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '201': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: CreateOrUpdate - description: Create or update an applicationGroup. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_177 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_178 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_177 - - *ref_178 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: Delete - description: Remove an applicationGroup. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_180 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_181 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_179 - schema: *ref_83 - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: applicationGroup - description: Object containing ApplicationGroup definitions. - cli: - cliKey: applicationGroup - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_179 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_180 - - *ref_181 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroups_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: Update - description: Update an applicationGroup. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_182 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_183 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_182 - - *ref_183 - responses: - - schema: *ref_171 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_ListByResourceGroup: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByResourceGroup - description: List applicationGroups. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_184 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_184 - responses: - - schema: *ref_171 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_List: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListBySubscription - description: List applicationGroups in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySubscription - protocol: {} - language: - default: - name: ApplicationGroups - description: '' - cli: - cliKey: ApplicationGroups - protocol: {} - - $key: StartMenuItems - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_185 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_186 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' - method: get - uri: '{$host}' - signatureParameters: - - *ref_185 - - *ref_186 - responses: - - schema: *ref_187 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - StartMenuItem_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: application1 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 - properties: - appAlias: word - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - - name: application2 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 - properties: - appAlias: excel - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List start menu items in the given application group. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: StartMenuItems - description: '' - cli: - cliKey: StartMenuItems - protocol: {} - - $key: Applications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_188 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_189 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_190 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_188 - - *ref_189 - - *ref_190 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: Get - description: Get an application. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_192 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_193 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_194 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_191 - schema: *ref_85 - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: application - description: Object containing Application definitions. - cli: - cliKey: application - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_191 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_192 - - *ref_193 - - *ref_194 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Create: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '201': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: CreateOrUpdate - description: Create or update an application. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_195 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_196 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_197 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_195 - - *ref_196 - - *ref_197 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '204': {} - language: - default: - name: Delete - description: Remove an application. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_200 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_201 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_202 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationName - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_199 - schema: *ref_198 - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: application - description: Object containing Application definitions. - cli: - cliKey: application - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_199 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_200 - - *ref_201 - - *ref_202 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Update: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: Update - description: Update an application. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_203 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_204 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_203 - - *ref_204 - responses: - - schema: *ref_205 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Applications_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List applications. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: Applications - description: '' - cli: - cliKey: Applications - protocol: {} - - $key: Desktops - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_206 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_207 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_208 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: desktopName - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - cliKey: desktopName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_206 - - *ref_207 - - *ref_208 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: Get - description: Get a desktop. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_211 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_212 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_213 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: desktopName - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - cliKey: desktopName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_210 - schema: *ref_209 - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: desktop - description: Object containing Desktop definitions. - cli: - cliKey: desktop - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_210 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_211 - - *ref_212 - - *ref_213 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktop: - properties: - description: des1 - friendlyName: friendly - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: Update - description: Update a desktop. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_214 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_215 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: applicationGroupName - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' - method: get - uri: '{$host}' - signatureParameters: - - *ref_214 - - *ref_215 - responses: - - schema: *ref_216 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: List - description: List desktops. - cli: - cliKey: List - protocol: {} - language: - default: - name: Desktops - description: '' - cli: - cliKey: Desktops - protocol: {} - - $key: HostPools - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_217 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_218 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_217 - - *ref_218 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: Get - description: Get a host pool. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_220 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_221 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_219 - schema: *ref_36 - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: hostPool - description: Object containing HostPool definitions. - cli: - cliKey: hostPool - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_219 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_220 - - *ref_221 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Create: - parameters: - api-version: 2019-12-10-preview - hostPool: - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '201': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: CreateOrUpdate - description: Create or update a host pool. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_223 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_224 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_225 - schema: *ref_222 - implementation: Method - language: - default: - name: force - description: Force flag to delete sessionHost. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_223 - - *ref_224 - - *ref_225 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: Delete - description: Remove a host pool. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_227 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_228 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_226 - schema: *ref_87 - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: hostPool - description: Object containing HostPool definitions. - cli: - cliKey: hostPool - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_226 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_227 - - *ref_228 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Update: - parameters: - api-version: 2019-12-10-preview - hostPool: - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-02T14:01:54.9571247Z' - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: Update - description: Update a host pool. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_229 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: - - *ref_229 - responses: - - schema: *ref_230 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByResourceGroup - description: List hostPools. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_230 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_List: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List hostPools in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: HostPools - description: '' - cli: - cliKey: HostPools - protocol: {} - - $key: UserSessions - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_231 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_232 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_233 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_231 - - *ref_232 - - *ref_233 - responses: - - schema: *ref_234 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_ListByHostPool: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListByHostPool - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByHostPool - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_237 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_238 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_239 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_240 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_237 - - *ref_238 - - *ref_239 - - *ref_240 - responses: - - schema: *ref_88 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - body: - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - language: - default: - name: Get - description: Get a userSession. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_241 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_242 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_243 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_244 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - - &ref_245 - schema: *ref_222 - implementation: Method - language: - default: - name: force - description: Force flag to login off userSession. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_241 - - *ref_242 - - *ref_243 - - *ref_244 - - *ref_245 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - '204': {} - language: - default: - name: Delete - description: Remove a userSession. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_246 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_247 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_248 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_246 - - *ref_247 - - *ref_248 - responses: - - schema: *ref_234 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_249 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_250 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_251 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_252 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' - method: post - uri: '{$host}' - signatureParameters: - - *ref_249 - - *ref_250 - - *ref_251 - - *ref_252 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Disconnect_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: Disconnect - description: Disconnect a userSession. - cli: - cliKey: Disconnect - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_255 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_256 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_257 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_258 - schema: *ref_236 - implementation: Method - required: true - language: - default: - name: userSessionId - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_254 - schema: *ref_253 - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: sendMessage - description: Object containing message includes title and message body - cli: - cliKey: sendMessage - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_254 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' - method: post - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_255 - - *ref_256 - - *ref_257 - - *ref_258 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_SendMessage_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sendMessage: - messageBody: body - messageTitle: title - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: SendMessage - description: Send a message to a user. - cli: - cliKey: SendMessage - protocol: {} - language: - default: - name: UserSessions - description: '' - cli: - cliKey: UserSessions - protocol: {} - - $key: SessionHosts - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_259 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_260 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_261 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_259 - - *ref_260 - - *ref_261 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: Get - description: Get a session host. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_262 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_263 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_264 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_265 - schema: *ref_222 - implementation: Method - language: - default: - name: force - description: Force flag to force sessionHost deletion even when userSession exists. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_262 - - *ref_263 - - *ref_264 - - *ref_265 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - '204': {} - language: - default: - name: Delete - description: Remove a SessionHost. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_267 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_268 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_269 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_155 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content-type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_266 - schema: *ref_90 - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: sessionHost - description: Object containing SessionHost definitions. - cli: - cliKey: sessionHost - protocol: - http: - in: body - style: json - signatureParameters: - - *ref_266 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_267 - - *ref_268 - - *ref_269 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Update: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHost: - properties: - allowNewSession: true - assignedUser: user1@microsoft.com - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2019-01-11T19:27:13.6108027Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2019-01-24T20:00:08.2893033Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: Update - description: Update a session host. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_270 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_271 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' - method: get - uri: '{$host}' - signatureParameters: - - *ref_270 - - *ref_271 - responses: - - schema: *ref_272 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - - name: sessionHost2.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user2@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: List - description: List sessionHosts. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: SessionHosts - description: '' - cli: - cliKey: SessionHosts - protocol: {} - - $key: ActiveApplications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_146 - - *ref_147 - - *ref_149 - - &ref_273 - schema: *ref_150 - implementation: Method - required: true - language: - default: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_274 - schema: *ref_151 - implementation: Method - required: true - language: - default: - name: hostPoolName - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_275 - schema: *ref_235 - implementation: Method - required: true - language: - default: - name: sessionHostName - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_276 - schema: *ref_167 - implementation: Method - language: - default: - name: $filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_273 - - *ref_274 - - *ref_275 - - *ref_276 - responses: - - schema: *ref_205 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_154 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ActiveApplications_List: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: ListBySessionHost - description: List applications for the given session host. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySessionHost - protocol: {} - language: - default: - name: ActiveApplications - description: '' - cli: - cliKey: ActiveApplications - protocol: {} -language: - default: - name: '' - description: '' -protocol: - http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000070-modifier-pre-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000070-modifier-pre-simplified.yaml deleted file mode 100644 index f35888d5336..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000070-modifier-pre-simplified.yaml +++ /dev/null @@ -1,1994 +0,0 @@ -operationGroups: - all: - - operationGroupName: operations - cli: - cliKey: Operations - operations: - - operationName: list - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - operationGroupName: workspaces - cli: - cliKey: Workspaces - operations: - - operationName: get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspace_name(string^string) - cli: - cliKey: workspaceName - - operationName: create_or_update - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspace_name(string^string) - cli: - cliKey: workspaceName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _workspace(workspace^object) - cli: - cliKey: workspace - x-ms-client-flatten: true - bodySchema: workspace - - parameterName[0]: tags(tracked_resource_tags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(tracked_resource_location^string) - cli: - cliKey: location - - parameterName[0]: description(workspace_properties_description^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(workspace_properties_friendly_name^string) - cli: - cliKey: friendlyName - - parameterName[0]: application_group_references(workspace_properties_application_group_references^array) - cli: - cliKey: applicationGroupReferences - - operationName: delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspace_name(string^string) - cli: - cliKey: workspaceName - - operationName: update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspace_name(string^string) - cli: - cliKey: workspaceName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _workspace(workspace_patch^object) - cli: - cliKey: workspace - x-ms-client-flatten: true - bodySchema: workspace_patch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(workspace_patch_properties_description^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(workspace_patch_properties_friendly_name^string) - cli: - cliKey: friendlyName - - parameterName[0]: application_group_references(workspace_patch_properties_application_group_references^array) - cli: - cliKey: applicationGroupReferences - - operationName: list_by_resource_group - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - operationName: list_by_subscription - cli: - cliKey: ListBySubscription - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - operationGroupName: application_group_assignments - cli: - cliKey: ApplicationGroupAssignments - operations: - - operationName: workspace_level_list - cli: - cliKey: WorkspaceLevelList - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspace_name(string^string) - cli: - cliKey: workspaceName - - parameterName: filter(string^string) - cli: - cliKey: $filter - - operationGroupName: application_groups - cli: - cliKey: ApplicationGroups - operations: - - operationName: get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - operationName: create_or_update - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _application_group(application_group^object) - cli: - cliKey: applicationGroup - x-ms-client-flatten: true - bodySchema: application_group - - parameterName[0]: tags(tracked_resource_tags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(tracked_resource_location^string) - cli: - cliKey: location - - parameterName[0]: description(application_group_properties_description^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(application_group_properties_friendly_name^string) - cli: - cliKey: friendlyName - - parameterName[0]: host_pool_arm_path(application_group_properties_host_pool_arm_path^string) - cli: - cliKey: hostPoolArmPath - - parameterName[0]: application_group_type(application_group_type^choice) - cli: - cliKey: applicationGroupType - - operationName: delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - operationName: update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _application_group(application_group_patch^object) - cli: - cliKey: applicationGroup - x-ms-client-flatten: true - bodySchema: application_group_patch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(application_group_patch_properties_description^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(application_group_patch_properties_friendly_name^string) - cli: - cliKey: friendlyName - - operationName: list_by_resource_group - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: filter(string^string) - cli: - cliKey: $filter - - operationName: list_by_subscription - cli: - cliKey: ListBySubscription - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: filter(string^string) - cli: - cliKey: $filter - - operationGroupName: start_menu_items - cli: - cliKey: StartMenuItems - operations: - - operationName: list - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: applications - cli: - cliKey: Applications - operations: - - operationName: get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - parameterName: application_name(string^string) - cli: - cliKey: applicationName - - operationName: create_or_update - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - parameterName: application_name(string^string) - cli: - cliKey: applicationName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _application(application^object) - cli: - cliKey: application - x-ms-client-flatten: true - bodySchema: application - - parameterName[0]: description(application_properties_description^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(application_properties_friendly_name^string) - cli: - cliKey: friendlyName - - parameterName[0]: file_path(application_properties_file_path^string) - cli: - cliKey: filePath - - parameterName[0]: command_line_setting(command_line_setting^choice) - cli: - cliKey: commandLineSetting - - parameterName[0]: command_line_arguments(application_properties_command_line_arguments^string) - cli: - cliKey: commandLineArguments - - parameterName[0]: show_in_portal(boolean^boolean) - cli: - cliKey: showInPortal - - parameterName[0]: icon_path(application_properties_icon_path^string) - cli: - cliKey: iconPath - - parameterName[0]: icon_index(integer^integer) - cli: - cliKey: iconIndex - - operationName: delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - parameterName: application_name(string^string) - cli: - cliKey: applicationName - - operationName: update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - parameterName: application_name(string^string) - cli: - cliKey: applicationName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _application(application_patch^object) - cli: - cliKey: application - x-ms-client-flatten: true - bodySchema: application_patch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(application_patch_properties_description^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(application_patch_properties_friendly_name^string) - cli: - cliKey: friendlyName - - parameterName[0]: file_path(application_patch_properties_file_path^string) - cli: - cliKey: filePath - - parameterName[0]: command_line_setting(command_line_setting^choice) - cli: - cliKey: commandLineSetting - - parameterName[0]: command_line_arguments(application_patch_properties_command_line_arguments^string) - cli: - cliKey: commandLineArguments - - parameterName[0]: show_in_portal(boolean^boolean) - cli: - cliKey: showInPortal - - parameterName[0]: icon_path(application_patch_properties_icon_path^string) - cli: - cliKey: iconPath - - parameterName[0]: icon_index(integer^integer) - cli: - cliKey: iconIndex - - operationName: list - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: desktops - cli: - cliKey: Desktops - operations: - - operationName: get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - parameterName: desktop_name(string^string) - cli: - cliKey: desktopName - - operationName: update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - parameterName: desktop_name(string^string) - cli: - cliKey: desktopName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _desktop(desktop_patch^object) - cli: - cliKey: desktop - x-ms-client-flatten: true - bodySchema: desktop_patch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(desktop_patch_properties_description^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(desktop_patch_properties_friendly_name^string) - cli: - cliKey: friendlyName - - operationName: list - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: host_pools - cli: - cliKey: HostPools - operations: - - operationName: get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - operationName: create_or_update - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _host_pool(host_pool^object) - cli: - cliKey: hostPool - x-ms-client-flatten: true - bodySchema: host_pool - - parameterName[0]: tags(tracked_resource_tags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(tracked_resource_location^string) - cli: - cliKey: location - - parameterName[0]: friendly_name(host_pool_properties_friendly_name^string) - cli: - cliKey: friendlyName - - parameterName[0]: description(host_pool_properties_description^string) - cli: - cliKey: description - - parameterName[0]: host_pool_type(host_pool_type^choice) - cli: - cliKey: hostPoolType - - parameterName[0]: personal_desktop_assignment_type(personal_desktop_assignment_type^choice) - cli: - cliKey: personalDesktopAssignmentType - - parameterName[0]: custom_rdp_property(host_pool_properties_custom_rdp_property^string) - cli: - cliKey: customRdpProperty - - parameterName[0]: max_session_limit(integer^integer) - cli: - cliKey: maxSessionLimit - - parameterName[0]: load_balancer_type(load_balancer_type^choice) - cli: - cliKey: loadBalancerType - - parameterName[0]: ring(integer^integer) - cli: - cliKey: ring - - parameterName[0]: validation_environment(boolean^boolean) - cli: - cliKey: validationEnvironment - - parameterName[0]: registration_info(registration_info^object) - cli: - cliKey: registrationInfo - - parameterName[0]: vm_template(host_pool_properties_vm_template^string) - cli: - cliKey: vmTemplate - - parameterName[0]: sso_context(host_pool_properties_sso_context^string) - cli: - cliKey: ssoContext - - operationName: delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _host_pool(host_pool_patch^object) - cli: - cliKey: hostPool - x-ms-client-flatten: true - bodySchema: host_pool_patch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: friendly_name(host_pool_patch_properties_friendly_name^string) - cli: - cliKey: friendlyName - - parameterName[0]: description(host_pool_patch_properties_description^string) - cli: - cliKey: description - - parameterName[0]: custom_rdp_property(host_pool_patch_properties_custom_rdp_property^string) - cli: - cliKey: customRdpProperty - - parameterName[0]: max_session_limit(integer^integer) - cli: - cliKey: maxSessionLimit - - parameterName[0]: personal_desktop_assignment_type(personal_desktop_assignment_type^choice) - cli: - cliKey: personalDesktopAssignmentType - - parameterName[0]: load_balancer_type(load_balancer_type^choice) - cli: - cliKey: loadBalancerType - - parameterName[0]: ring(integer^integer) - cli: - cliKey: ring - - parameterName[0]: validation_environment(boolean^boolean) - cli: - cliKey: validationEnvironment - - parameterName[0]: registration_info(registration_info_patch^object) - cli: - cliKey: registrationInfo - - parameterName[0]: sso_context(host_pool_patch_properties_sso_context^string) - cli: - cliKey: ssoContext - - operationName: list_by_resource_group - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - operationName: list - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - operationGroupName: user_sessions - cli: - cliKey: UserSessions - operations: - - operationName: list_by_host_pool - cli: - cliKey: ListByHostPool - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: filter(string^string) - cli: - cliKey: $filter - - operationName: get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: session_host_name(string^string) - cli: - cliKey: sessionHostName - - parameterName: user_session_id(string^string) - cli: - cliKey: userSessionId - - operationName: delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: session_host_name(string^string) - cli: - cliKey: sessionHostName - - parameterName: user_session_id(string^string) - cli: - cliKey: userSessionId - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: list - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: session_host_name(string^string) - cli: - cliKey: sessionHostName - - operationName: disconnect - cli: - cliKey: Disconnect - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: session_host_name(string^string) - cli: - cliKey: sessionHostName - - parameterName: user_session_id(string^string) - cli: - cliKey: userSessionId - - operationName: send_message - cli: - cliKey: SendMessage - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: session_host_name(string^string) - cli: - cliKey: sessionHostName - - parameterName: user_session_id(string^string) - cli: - cliKey: userSessionId - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _send_message(send_message^object) - cli: - cliKey: sendMessage - x-ms-client-flatten: true - bodySchema: send_message - - parameterName[0]: message_title(send_message_title^string) - cli: - cliKey: messageTitle - - parameterName[0]: message_body(send_message_body^string) - cli: - cliKey: messageBody - - operationGroupName: session_hosts - cli: - cliKey: SessionHosts - operations: - - operationName: get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: session_host_name(string^string) - cli: - cliKey: sessionHostName - - operationName: delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: session_host_name(string^string) - cli: - cliKey: sessionHostName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: session_host_name(string^string) - cli: - cliKey: sessionHostName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _session_host(session_host_patch^object) - cli: - cliKey: sessionHost - x-ms-client-flatten: true - bodySchema: session_host_patch - - parameterName[0]: allow_new_session(boolean^boolean) - cli: - cliKey: allowNewSession - - parameterName[0]: assigned_user(session_host_patch_properties_assigned_user^string) - cli: - cliKey: assignedUser - - operationName: list - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - operationGroupName: active_applications - cli: - cliKey: ActiveApplications - operations: - - operationName: list_by_session_host - cli: - cliKey: ListBySessionHost - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: session_host_name(string^string) - cli: - cliKey: sessionHostName - - parameterName: filter(string^string) - cli: - cliKey: $filter -schemas: - objects: - all: - - schemaName: resource_provider_operation_list - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ResourceProviderOperationList - properties: - - propertyName: value(resource_provider_operation_list_value^array) - cli: - cliKey: value - - schemaName: resource_provider_operation - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ResourceProviderOperation - properties: - - propertyName: name(resource_provider_operation_name^string) - cli: - cliKey: name - - propertyName: display(resource_provider_operation_display^object) - cli: - cliKey: display - - schemaName: resource_provider_operation_display - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ResourceProviderOperation-display - properties: - - propertyName: provider(resource_provider_operation_display_provider^string) - cli: - cliKey: provider - - propertyName: resource(resource_provider_operation_display_resource^string) - cli: - cliKey: resource - - propertyName: operation(resource_provider_operation_display_operation^string) - cli: - cliKey: operation - - propertyName: description(resource_provider_operation_display_description^string) - cli: - cliKey: description - - schemaName: resource - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 0 - propertyCountIfSimplifyWithoutSimpleObject: 0 - simplifiable: true - cliKey: Resource - properties: - - propertyName: id(resource_id^string) - cli: - cliKey: id - readOnly: true - - propertyName: name(resource_name^string) - cli: - cliKey: name - readOnly: true - - propertyName: type(resource_type^string) - cli: - cliKey: type - readOnly: true - - schemaName: tracked_resource - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: TrackedResource - properties: - - propertyName: tags(tracked_resource_tags^dictionary) - cli: - cliKey: tags - - propertyName: location(tracked_resource_location^string) - cli: - cliKey: location - - schemaName: workspace - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: Workspace - properties: - - propertyName: description(workspace_properties_description^string) - cli: - cliKey: description - - propertyName: friendly_name(workspace_properties_friendly_name^string) - cli: - cliKey: friendlyName - - propertyName: application_group_references(workspace_properties_application_group_references^array) - cli: - cliKey: applicationGroupReferences - - schemaName: cloud_error - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: CloudError - properties: - - propertyName: code(cloud_error_code^string) - cli: - cliKey: code - - propertyName: message(cloud_error_message^string) - cli: - cliKey: message - - schemaName: workspace_patch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(workspace_patch_properties_description^string) - cli: - cliKey: description - - propertyName: friendly_name(workspace_patch_properties_friendly_name^string) - cli: - cliKey: friendlyName - - propertyName: application_group_references(workspace_patch_properties_application_group_references^array) - cli: - cliKey: applicationGroupReferences - - schemaName: workspace_list - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceList - properties: - - propertyName: value(workspace_list_value^array) - cli: - cliKey: value - - propertyName: next_link(workspace_list_next_link^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: application_group_list - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupList - properties: - - propertyName: value(application_group_list_value^array) - cli: - cliKey: value - - propertyName: next_link(application_group_list_next_link^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: application_group - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroup - properties: - - propertyName: description(application_group_properties_description^string) - cli: - cliKey: description - - propertyName: friendly_name(application_group_properties_friendly_name^string) - cli: - cliKey: friendlyName - - propertyName: host_pool_arm_path(application_group_properties_host_pool_arm_path^string) - cli: - cliKey: hostPoolArmPath - - propertyName: workspace_arm_path(application_group_properties_workspace_arm_path^string) - cli: - cliKey: workspaceArmPath - readOnly: true - - propertyName: application_group_type(application_group_type^choice) - cli: - cliKey: applicationGroupType - - schemaName: application_group_patch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(application_group_patch_properties_description^string) - cli: - cliKey: description - - propertyName: friendly_name(application_group_patch_properties_friendly_name^string) - cli: - cliKey: friendlyName - - schemaName: start_menu_item_list - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: StartMenuItemList - properties: - - propertyName: value(start_menu_item_list_value^array) - cli: - cliKey: value - - propertyName: next_link(start_menu_item_list_next_link^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: start_menu_item - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: StartMenuItem - properties: - - propertyName: app_alias(start_menu_item_properties_app_alias^string) - cli: - cliKey: appAlias - - propertyName: friendly_name(start_menu_item_properties_friendly_name^string) - cli: - cliKey: friendlyName - - propertyName: file_path(start_menu_item_properties_file_path^string) - cli: - cliKey: filePath - - propertyName: command_line_arguments(start_menu_item_properties_command_line_arguments^string) - cli: - cliKey: commandLineArguments - - propertyName: icon_path(start_menu_item_properties_icon_path^string) - cli: - cliKey: iconPath - - propertyName: icon_index(integer^integer) - cli: - cliKey: iconIndex - - schemaName: application - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Application - properties: - - propertyName: description(application_properties_description^string) - cli: - cliKey: description - - propertyName: friendly_name(application_properties_friendly_name^string) - cli: - cliKey: friendlyName - - propertyName: file_path(application_properties_file_path^string) - cli: - cliKey: filePath - - propertyName: command_line_setting(command_line_setting^choice) - cli: - cliKey: commandLineSetting - - propertyName: command_line_arguments(application_properties_command_line_arguments^string) - cli: - cliKey: commandLineArguments - - propertyName: show_in_portal(boolean^boolean) - cli: - cliKey: showInPortal - - propertyName: icon_path(application_properties_icon_path^string) - cli: - cliKey: iconPath - - propertyName: icon_index(integer^integer) - cli: - cliKey: iconIndex - - propertyName: icon_hash(application_properties_icon_hash^string) - cli: - cliKey: iconHash - readOnly: true - - propertyName: icon_content(application_properties_icon_content^byte-array) - cli: - cliKey: iconContent - readOnly: true - - schemaName: application_patch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(application_patch_properties_description^string) - cli: - cliKey: description - - propertyName: friendly_name(application_patch_properties_friendly_name^string) - cli: - cliKey: friendlyName - - propertyName: file_path(application_patch_properties_file_path^string) - cli: - cliKey: filePath - - propertyName: command_line_setting(command_line_setting^choice) - cli: - cliKey: commandLineSetting - - propertyName: command_line_arguments(application_patch_properties_command_line_arguments^string) - cli: - cliKey: commandLineArguments - - propertyName: show_in_portal(boolean^boolean) - cli: - cliKey: showInPortal - - propertyName: icon_path(application_patch_properties_icon_path^string) - cli: - cliKey: iconPath - - propertyName: icon_index(integer^integer) - cli: - cliKey: iconIndex - - schemaName: application_list - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationList - properties: - - propertyName: value(application_list_value^array) - cli: - cliKey: value - - propertyName: next_link(application_list_next_link^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: desktop - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Desktop - properties: - - propertyName: description(desktop_properties_description^string) - cli: - cliKey: description - - propertyName: friendly_name(desktop_properties_friendly_name^string) - cli: - cliKey: friendlyName - - propertyName: icon_hash(desktop_properties_icon_hash^string) - cli: - cliKey: iconHash - readOnly: true - - propertyName: icon_content(desktop_properties_icon_content^byte-array) - cli: - cliKey: iconContent - readOnly: true - - schemaName: desktop_patch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(desktop_patch_properties_description^string) - cli: - cliKey: description - - propertyName: friendly_name(desktop_patch_properties_friendly_name^string) - cli: - cliKey: friendlyName - - schemaName: desktop_list - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopList - properties: - - propertyName: value(desktop_list_value^array) - cli: - cliKey: value - - propertyName: next_link(desktop_list_next_link^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: host_pool - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPool - properties: - - propertyName: friendly_name(host_pool_properties_friendly_name^string) - cli: - cliKey: friendlyName - - propertyName: description(host_pool_properties_description^string) - cli: - cliKey: description - - propertyName: host_pool_type(host_pool_type^choice) - cli: - cliKey: hostPoolType - - propertyName: personal_desktop_assignment_type(personal_desktop_assignment_type^choice) - cli: - cliKey: personalDesktopAssignmentType - - propertyName: custom_rdp_property(host_pool_properties_custom_rdp_property^string) - cli: - cliKey: customRdpProperty - - propertyName: max_session_limit(integer^integer) - cli: - cliKey: maxSessionLimit - - propertyName: load_balancer_type(load_balancer_type^choice) - cli: - cliKey: loadBalancerType - - propertyName: ring(integer^integer) - cli: - cliKey: ring - - propertyName: validation_environment(boolean^boolean) - cli: - cliKey: validationEnvironment - - propertyName: registration_info(registration_info^object) - cli: - cliKey: registrationInfo - - propertyName: vm_template(host_pool_properties_vm_template^string) - cli: - cliKey: vmTemplate - - propertyName: application_group_references(host_pool_properties_application_group_references^array) - cli: - cliKey: applicationGroupReferences - readOnly: true - - propertyName: sso_context(host_pool_properties_sso_context^string) - cli: - cliKey: ssoContext - - schemaName: registration_info - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 3 - propertyCountIfSimplifyWithoutSimpleObject: 3 - simplifiable: true - cliKey: RegistrationInfo - properties: - - propertyName: expiration_time(registration_info_expiration_time^date-time) - cli: - cliKey: expirationTime - - propertyName: token(registration_info_token^string) - cli: - cliKey: token - - propertyName: registration_token_operation(registration_token_operation^choice) - cli: - cliKey: registrationTokenOperation - - schemaName: host_pool_patch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: friendly_name(host_pool_patch_properties_friendly_name^string) - cli: - cliKey: friendlyName - - propertyName: description(host_pool_patch_properties_description^string) - cli: - cliKey: description - - propertyName: custom_rdp_property(host_pool_patch_properties_custom_rdp_property^string) - cli: - cliKey: customRdpProperty - - propertyName: max_session_limit(integer^integer) - cli: - cliKey: maxSessionLimit - - propertyName: personal_desktop_assignment_type(personal_desktop_assignment_type^choice) - cli: - cliKey: personalDesktopAssignmentType - - propertyName: load_balancer_type(load_balancer_type^choice) - cli: - cliKey: loadBalancerType - - propertyName: ring(integer^integer) - cli: - cliKey: ring - - propertyName: validation_environment(boolean^boolean) - cli: - cliKey: validationEnvironment - - propertyName: registration_info(registration_info_patch^object) - cli: - cliKey: registrationInfo - - propertyName: sso_context(host_pool_patch_properties_sso_context^string) - cli: - cliKey: ssoContext - - schemaName: registration_info_patch - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 1 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: RegistrationInfoPatch - properties: - - propertyName: registration_token_operation(registration_token_operation^choice) - cli: - cliKey: registrationTokenOperation - - schemaName: host_pool_list - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolList - properties: - - propertyName: value(host_pool_list_value^array) - cli: - cliKey: value - - propertyName: next_link(host_pool_list_next_link^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: user_session_list - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: UserSessionList - properties: - - propertyName: value(user_session_list_value^array) - cli: - cliKey: value - - propertyName: next_link(user_session_list_next_link^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: user_session - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: UserSession - properties: - - propertyName: user_principal_name(user_session_properties_user_principal_name^string) - cli: - cliKey: userPrincipalName - - propertyName: application_type(application_type^choice) - cli: - cliKey: applicationType - - propertyName: session_state(session_state^choice) - cli: - cliKey: sessionState - - propertyName: active_directory_user_name(user_session_properties_active_directory_user_name^string) - cli: - cliKey: activeDirectoryUserName - - propertyName: create_time(user_session_properties_create_time^date-time) - cli: - cliKey: createTime - - schemaName: session_host - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHost - properties: - - propertyName: last_heart_beat(session_host_properties_last_heart_beat^date-time) - cli: - cliKey: lastHeartBeat - - propertyName: sessions(integer^integer) - cli: - cliKey: sessions - - propertyName: agent_version(session_host_properties_agent_version^string) - cli: - cliKey: agentVersion - - propertyName: allow_new_session(boolean^boolean) - cli: - cliKey: allowNewSession - - propertyName: assigned_user(session_host_properties_assigned_user^string) - cli: - cliKey: assignedUser - - propertyName: status(status^choice) - cli: - cliKey: status - - propertyName: status_timestamp(session_host_properties_status_timestamp^date-time) - cli: - cliKey: statusTimestamp - readOnly: true - - propertyName: os_version(session_host_properties_os_version^string) - cli: - cliKey: osVersion - - propertyName: sx_s_stack_version(session_host_properties_sx_s_stack_version^string) - cli: - cliKey: sxSStackVersion - - propertyName: update_state(update_state^choice) - cli: - cliKey: updateState - - propertyName: last_update_time(session_host_properties_last_update_time^date-time) - cli: - cliKey: lastUpdateTime - readOnly: true - - propertyName: update_error_message(session_host_properties_update_error_message^string) - cli: - cliKey: updateErrorMessage - - schemaName: session_host_patch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHostPatch - properties: - - propertyName: allow_new_session(boolean^boolean) - cli: - cliKey: allowNewSession - - propertyName: assigned_user(session_host_patch_properties_assigned_user^string) - cli: - cliKey: assignedUser - - schemaName: session_host_list - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: SessionHostList - properties: - - propertyName: value(session_host_list_value^array) - cli: - cliKey: value - - propertyName: next_link(session_host_list_next_link^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: send_message - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SendMessage - properties: - - propertyName: message_title(send_message_title^string) - cli: - cliKey: messageTitle - - propertyName: message_body(send_message_body^string) - cli: - cliKey: messageBody - choices: - all: - - choiceName: application_group_type - cli: - cliKey: ApplicationGroupType - choiceValues: - - choiceValue: remote_app - cli: - cliKey: RemoteApp - - choiceValue: desktop - cli: - cliKey: Desktop - - choiceName: command_line_setting - cli: - cliKey: CommandLineSetting - choiceValues: - - choiceValue: do_not_allow - cli: - cliKey: DoNotAllow - - choiceValue: allow - cli: - cliKey: Allow - - choiceValue: require - cli: - cliKey: Require - - choiceName: host_pool_type - cli: - cliKey: HostPoolType - choiceValues: - - choiceValue: personal - cli: - cliKey: Personal - - choiceValue: pooled - cli: - cliKey: Pooled - - choiceName: personal_desktop_assignment_type - cli: - cliKey: PersonalDesktopAssignmentType - choiceValues: - - choiceValue: automatic - cli: - cliKey: Automatic - - choiceValue: direct - cli: - cliKey: Direct - - choiceName: load_balancer_type - cli: - cliKey: LoadBalancerType - choiceValues: - - choiceValue: breadth_first - cli: - cliKey: BreadthFirst - - choiceValue: depth_first - cli: - cliKey: DepthFirst - - choiceValue: persistent - cli: - cliKey: Persistent - - choiceName: registration_token_operation - cli: - cliKey: RegistrationTokenOperation - choiceValues: - - choiceValue: delete - cli: - cliKey: Delete - - choiceValue: none - cli: - cliKey: None - - choiceValue: update - cli: - cliKey: Update - - choiceName: application_type - cli: - cliKey: ApplicationType - choiceValues: - - choiceValue: remote_app - cli: - cliKey: RemoteApp - - choiceValue: desktop - cli: - cliKey: Desktop - - choiceName: session_state - cli: - cliKey: SessionState - choiceValues: - - choiceValue: unknown - cli: - cliKey: Unknown - - choiceValue: active - cli: - cliKey: Active - - choiceValue: disconnected - cli: - cliKey: Disconnected - - choiceValue: pending - cli: - cliKey: Pending - - choiceValue: log_off - cli: - cliKey: LogOff - - choiceValue: user_profile_disk_mounted - cli: - cliKey: UserProfileDiskMounted - - choiceName: status - cli: - cliKey: Status - choiceValues: - - choiceValue: available - cli: - cliKey: Available - - choiceValue: unavailable - cli: - cliKey: Unavailable - - choiceValue: shutdown - cli: - cliKey: Shutdown - - choiceValue: disconnected - cli: - cliKey: Disconnected - - choiceValue: upgrading - cli: - cliKey: Upgrading - - choiceValue: upgrade_failed - cli: - cliKey: UpgradeFailed - - choiceName: update_state - cli: - cliKey: UpdateState - choiceValues: - - choiceValue: initial - cli: - cliKey: Initial - - choiceValue: pending - cli: - cliKey: Pending - - choiceValue: started - cli: - cliKey: Started - - choiceValue: succeeded - cli: - cliKey: Succeeded - - choiceValue: failed - cli: - cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000070-modifier-pre.yaml b/src/desktopvirtualization/_az_debug/clicommon-000070-modifier-pre.yaml deleted file mode 100644 index 53a4d834586..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000070-modifier-pre.yaml +++ /dev/null @@ -1,10094 +0,0 @@ -info: - title: Desktop Virtualization API Client - extensions: - cli-dump-index: 70 -schemas: - booleans: - - &ref_53 - type: boolean - language: - default: - name: boolean - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - protocol: {} - - &ref_27 - type: boolean - language: - default: - name: boolean - description: Is validation environment. - protocol: {} - - &ref_356 - type: boolean - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: boolean - description: '' - protocol: {} - - &ref_73 - type: boolean - language: - default: - name: boolean - description: Allow a new session. - protocol: {} - numbers: - - &ref_47 - type: integer - precision: 32 - language: - default: - name: integer - description: Index of the icon. - protocol: {} - - &ref_24 - type: integer - precision: 32 - language: - default: - name: integer - description: The max session limit of HostPool. - protocol: {} - - &ref_26 - type: integer - precision: 32 - language: - default: - name: integer - description: The ring number of HostPool. - protocol: {} - - &ref_71 - type: integer - precision: 32 - language: - default: - name: integer - description: Number of sessions on SessionHost. - protocol: {} - strings: - - &ref_0 - type: string - language: - default: - name: string - description: simple string - protocol: {} - - &ref_2 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: resource_provider_operation_name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - protocol: {} - - &ref_3 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: resource_provider_operation_display_provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - protocol: {} - - &ref_4 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: resource_provider_operation_display_resource - description: Resource on which the operation is performed. - protocol: {} - - &ref_5 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: resource_provider_operation_display_operation - description: 'Type of operation: get, read, delete, etc.' - protocol: {} - - &ref_6 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: resource_provider_operation_display_description - description: Description of this operation. - protocol: {} - - &ref_130 - type: string - apiVersions: - - version: '1.0' - minLength: 1 - language: - default: - name: string - description: '' - protocol: {} - - &ref_136 - type: string - apiVersions: - - version: '1.0' - maxLength: 90 - minLength: 1 - pattern: '^[-\w\._\(\)]+$' - language: - default: - name: string - description: '' - protocol: {} - - &ref_137 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 3 - language: - default: - name: string - description: '' - protocol: {} - - &ref_91 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: resource_id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - protocol: {} - - &ref_92 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: resource_name - description: The name of the resource - protocol: {} - - &ref_93 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: resource_type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - protocol: {} - - &ref_1 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: string - description: '' - protocol: {} - - &ref_38 - type: string - apiVersions: - - version: '1.0' - extensions: - x-ms-mutability: - - read - - create - language: - default: - name: tracked_resource_location - description: The geo-location where the resource lives - protocol: {} - - &ref_11 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: workspace_properties_description - description: Description of Workspace. - protocol: {} - - &ref_12 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: workspace_properties_friendly_name - description: Friendly name of Workspace. - protocol: {} - - &ref_13 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: workspace_properties_application_group_references_item - description: '' - protocol: {} - - &ref_94 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: cloud_error_code - description: Error code - protocol: {} - - &ref_95 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: cloud_error_message - description: Error message indicating why the operation failed. - protocol: {} - - &ref_96 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: workspace_patch_properties_description - description: Description of Workspace. - protocol: {} - - &ref_97 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: workspace_patch_properties_friendly_name - description: Friendly name of Workspace. - protocol: {} - - &ref_98 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: workspace_patch_properties_application_group_references_item - description: '' - protocol: {} - - &ref_99 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: workspace_list_next_link - description: Link to the next page of results. - protocol: {} - - &ref_180 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: string - description: '' - protocol: {} - - &ref_14 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_group_properties_description - description: Description of ApplicationGroup. - protocol: {} - - &ref_15 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_group_properties_friendly_name - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_16 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_group_properties_host_pool_arm_path - description: HostPool arm path of ApplicationGroup. - protocol: {} - - &ref_17 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_group_properties_workspace_arm_path - description: Workspace arm path of ApplicationGroup. - protocol: {} - - &ref_100 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_group_list_next_link - description: Link to the next page of results. - protocol: {} - - &ref_40 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_group_patch_properties_description - description: Description of ApplicationGroup. - protocol: {} - - &ref_41 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_group_patch_properties_friendly_name - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_42 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: start_menu_item_properties_app_alias - description: Alias of StartMenuItem. - protocol: {} - - &ref_43 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: start_menu_item_properties_friendly_name - description: Friendly name of StartMenuItem. - protocol: {} - - &ref_44 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: start_menu_item_properties_file_path - description: Path to the file of StartMenuItem. - protocol: {} - - &ref_45 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: start_menu_item_properties_command_line_arguments - description: Command line arguments for StartMenuItem. - protocol: {} - - &ref_46 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: start_menu_item_properties_icon_path - description: Path to the icon. - protocol: {} - - &ref_101 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: start_menu_item_list_next_link - description: Link to the next page of results. - protocol: {} - - &ref_48 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_properties_description - description: Description of Application. - protocol: {} - - &ref_49 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_properties_friendly_name - description: Friendly name of Application. - protocol: {} - - &ref_50 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_properties_file_path - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_52 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_properties_command_line_arguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_54 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_properties_icon_path - description: Path to icon. - protocol: {} - - &ref_55 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_properties_icon_hash - description: Hash of the icon. - protocol: {} - - &ref_102 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_patch_properties_description - description: Description of Application. - protocol: {} - - &ref_103 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_patch_properties_friendly_name - description: Friendly name of Application. - protocol: {} - - &ref_104 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_patch_properties_file_path - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_105 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_patch_properties_command_line_arguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_106 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_patch_properties_icon_path - description: Path to icon. - protocol: {} - - &ref_107 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_list_next_link - description: Link to the next page of results. - protocol: {} - - &ref_57 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: desktop_properties_description - description: Description of Desktop. - protocol: {} - - &ref_58 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: desktop_properties_friendly_name - description: Friendly name of Desktop. - protocol: {} - - &ref_59 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: desktop_properties_icon_hash - description: Hash of the icon. - protocol: {} - - &ref_108 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: desktop_patch_properties_description - description: Description of Desktop. - protocol: {} - - &ref_109 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: desktop_patch_properties_friendly_name - description: Friendly name of Desktop. - protocol: {} - - &ref_110 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: desktop_list_next_link - description: Link to the next page of results. - protocol: {} - - &ref_19 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_properties_friendly_name - description: Friendly name of HostPool. - protocol: {} - - &ref_20 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_properties_description - description: Description of HostPool. - protocol: {} - - &ref_23 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_properties_custom_rdp_property - description: Custom rdp property of HostPool. - protocol: {} - - &ref_29 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: registration_info_token - description: The registration token base64 encoded string. - protocol: {} - - &ref_31 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_properties_vm_template - description: VM template for sessionhosts configuration within hostpool. - protocol: {} - - &ref_32 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_properties_application_group_references_item - description: '' - protocol: {} - - &ref_33 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_properties_sso_context - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_61 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_patch_properties_friendly_name - description: Friendly name of HostPool. - protocol: {} - - &ref_62 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_patch_properties_description - description: Description of HostPool. - protocol: {} - - &ref_63 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_patch_properties_custom_rdp_property - description: Custom rdp property of HostPool. - protocol: {} - - &ref_64 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_patch_properties_sso_context - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_113 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_list_next_link - description: Link to the next page of results. - protocol: {} - - &ref_65 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: user_session_properties_user_principal_name - description: The user principal name. - protocol: {} - - &ref_68 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: user_session_properties_active_directory_user_name - description: The active directory user name. - protocol: {} - - &ref_114 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: user_session_list_next_link - description: Link to the next page of results. - protocol: {} - - &ref_402 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 48 - minLength: 3 - language: - default: - name: string - description: '' - protocol: {} - - &ref_72 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_agent_version - description: Version of agent on SessionHost. - protocol: {} - - &ref_74 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_assigned_user - description: User assigned to SessionHost. - protocol: {} - - &ref_77 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_os_version - description: The version of the OS on the session host. - protocol: {} - - &ref_78 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_sx_s_stack_version - description: The version of the side by side stack on the session host. - protocol: {} - - &ref_81 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_update_error_message - description: The error message. - protocol: {} - - &ref_82 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_patch_properties_assigned_user - description: User assigned to SessionHost. - protocol: {} - - &ref_115 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_list_next_link - description: Link to the next page of results. - protocol: {} - - &ref_403 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 1 - language: - default: - name: string - description: '' - protocol: {} - - &ref_116 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: send_message_title - description: Title of message. - protocol: {} - - &ref_117 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: send_message_body - description: Body of message. - protocol: {} - choices: - - &ref_18 - choices: - - value: RemoteApp - language: - default: - name: remote_app - description: '' - cli: - cliKey: RemoteApp - - value: Desktop - language: - default: - name: desktop - description: '' - cli: - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: application_group_type - description: Resource Type of ApplicationGroup. - cli: - cliKey: ApplicationGroupType - protocol: {} - - &ref_51 - choices: - - value: DoNotAllow - language: - default: - name: do_not_allow - description: '' - cli: - cliKey: DoNotAllow - - value: Allow - language: - default: - name: allow - description: '' - cli: - cliKey: Allow - - value: Require - language: - default: - name: require - description: '' - cli: - cliKey: Require - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - cliKey: CommandLineSetting - protocol: {} - - &ref_21 - choices: - - value: Personal - language: - default: - name: personal - description: '' - cli: - cliKey: Personal - - value: Pooled - language: - default: - name: pooled - description: '' - cli: - cliKey: Pooled - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: host_pool_type - description: HostPool type for desktop. - cli: - cliKey: HostPoolType - protocol: {} - - &ref_22 - choices: - - value: Automatic - language: - default: - name: automatic - description: '' - cli: - cliKey: Automatic - - value: Direct - language: - default: - name: direct - description: '' - cli: - cliKey: Direct - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: - cliKey: PersonalDesktopAssignmentType - protocol: {} - - &ref_25 - choices: - - value: BreadthFirst - language: - default: - name: breadth_first - description: '' - cli: - cliKey: BreadthFirst - - value: DepthFirst - language: - default: - name: depth_first - description: '' - cli: - cliKey: DepthFirst - - value: Persistent - language: - default: - name: persistent - description: '' - cli: - cliKey: Persistent - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: - cliKey: LoadBalancerType - protocol: {} - - &ref_30 - choices: - - value: Delete - language: - default: - name: delete - description: '' - cli: - cliKey: Delete - - value: None - language: - default: - name: none - description: '' - cli: - cliKey: None - - value: Update - language: - default: - name: update - description: '' - cli: - cliKey: Update - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: registration_token_operation - description: The type of resetting the token. - cli: - cliKey: RegistrationTokenOperation - protocol: {} - - &ref_66 - choices: - - value: RemoteApp - language: - default: - name: remote_app - description: '' - cli: - cliKey: RemoteApp - - value: Desktop - language: - default: - name: desktop - description: '' - cli: - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: application_type - description: Application type of application. - cli: - cliKey: ApplicationType - protocol: {} - - &ref_67 - choices: - - value: Unknown - language: - default: - name: unknown - description: '' - cli: - cliKey: Unknown - - value: Active - language: - default: - name: active - description: '' - cli: - cliKey: Active - - value: Disconnected - language: - default: - name: disconnected - description: '' - cli: - cliKey: Disconnected - - value: Pending - language: - default: - name: pending - description: '' - cli: - cliKey: Pending - - value: LogOff - language: - default: - name: log_off - description: '' - cli: - cliKey: LogOff - - value: UserProfileDiskMounted - language: - default: - name: user_profile_disk_mounted - description: '' - cli: - cliKey: UserProfileDiskMounted - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: session_state - description: State of user session. - cli: - cliKey: SessionState - protocol: {} - - &ref_75 - choices: - - value: Available - language: - default: - name: available - description: '' - cli: - cliKey: Available - - value: Unavailable - language: - default: - name: unavailable - description: '' - cli: - cliKey: Unavailable - - value: Shutdown - language: - default: - name: shutdown - description: '' - cli: - cliKey: Shutdown - - value: Disconnected - language: - default: - name: disconnected - description: '' - cli: - cliKey: Disconnected - - value: Upgrading - language: - default: - name: upgrading - description: '' - cli: - cliKey: Upgrading - - value: UpgradeFailed - language: - default: - name: upgrade_failed - description: '' - cli: - cliKey: UpgradeFailed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: status - description: Status for a SessionHost. - cli: - cliKey: Status - protocol: {} - - &ref_79 - choices: - - value: Initial - language: - default: - name: initial - description: '' - cli: - cliKey: Initial - - value: Pending - language: - default: - name: pending - description: '' - cli: - cliKey: Pending - - value: Started - language: - default: - name: started - description: '' - cli: - cliKey: Started - - value: Succeeded - language: - default: - name: succeeded - description: '' - cli: - cliKey: Succeeded - - value: Failed - language: - default: - name: failed - description: '' - cli: - cliKey: Failed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: update_state - description: Update state of a SessionHost. - cli: - cliKey: UpdateState - protocol: {} - constants: - - &ref_131 - type: constant - value: - value: 2019-12-10-preview - valueType: *ref_0 - language: - default: - name: api_version2019_12_10_preview - description: Api Version (2019-12-10-preview) - protocol: {} - - &ref_141 - type: constant - value: - value: application/json - valueType: *ref_0 - language: - default: - name: application_json - description: Content Type 'application/json' - protocol: {} - dictionaries: - - &ref_37 - type: dictionary - elementType: *ref_1 - language: - default: - name: tracked_resource_tags - description: Resource tags. - cli: - cli-complexity: dictionary_simple - cli-mark: checked - protocol: {} - any: - - &ref_39 - type: any - language: - default: - name: any - description: Any object - protocol: {} - byteArrays: - - &ref_56 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_properties_icon_content - description: the icon a 64 bit string as a byte array. - protocol: {} - - &ref_60 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: desktop_properties_icon_content - description: The icon a 64 bit string as a byte array. - protocol: {} - dateTimes: - - &ref_28 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: registration_info_expiration_time - description: Expiration time of registration token. - protocol: {} - - &ref_69 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: user_session_properties_create_time - description: The timestamp of the user session create. - protocol: {} - - &ref_70 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_last_heart_beat - description: Last heart beat from SessionHost. - protocol: {} - - &ref_76 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_status_timestamp - description: The timestamp of the status. - protocol: {} - - &ref_80 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_last_update_time - description: The timestamp of the last update. - protocol: {} - objects: - - &ref_134 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_118 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: &ref_7 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_2 - serializedName: name - language: - default: - name: name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cli: - cliKey: name - protocol: {} - - schema: &ref_8 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_3 - serializedName: provider - language: - default: - name: provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cli: - cliKey: provider - protocol: {} - - schema: *ref_4 - serializedName: resource - language: - default: - name: resource - description: Resource on which the operation is performed. - cli: - cliKey: resource - protocol: {} - - schema: *ref_5 - serializedName: operation - language: - default: - name: operation - description: 'Type of operation: get, read, delete, etc.' - cli: - cliKey: operation - protocol: {} - - schema: *ref_6 - serializedName: description - language: - default: - name: description - description: Description of this operation. - cli: - cliKey: description - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: resource_provider_operation_display - description: Display metadata associated with the operation. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ResourceProviderOperation-display - protocol: {} - serializedName: display - language: - default: - name: display - description: Display metadata associated with the operation. - cli: - cliKey: display - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: resource_provider_operation - description: Supported operation of this resource provider. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ResourceProviderOperation - protocol: {} - language: - default: - name: resource_provider_operation_list_value - description: List of operations supported by this resource provider. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of operations supported by this resource provider. - cli: - cliKey: value - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: resource_provider_operation_list - description: Result of the request to list operations. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ResourceProviderOperationList - protocol: {} - - *ref_7 - - *ref_8 - - &ref_10 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_9 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_34 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_147 - schema: *ref_11 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: &ref_148 - cliKey: description - protocol: {} - - &ref_149 - schema: *ref_12 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: &ref_150 - cliKey: friendlyName - protocol: {} - - &ref_151 - schema: &ref_119 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_13 - language: - default: - name: workspace_properties_application_group_references - description: List of applicationGroup resource Ids. - cli: - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup resource Ids. - cli: &ref_152 - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: workspace - description: Represents a Workspace definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: Workspace - protocol: {} - - &ref_35 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_188 - schema: *ref_14 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: &ref_189 - cliKey: description - protocol: {} - - &ref_190 - schema: *ref_15 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: &ref_191 - cliKey: friendlyName - protocol: {} - - &ref_192 - schema: *ref_16 - flattenedNames: - - properties - - hostPoolArmPath - required: true - serializedName: hostPoolArmPath - language: - default: - name: host_pool_arm_path - description: HostPool arm path of ApplicationGroup. - cli: &ref_193 - cliKey: hostPoolArmPath - protocol: {} - - schema: *ref_17 - flattenedNames: - - properties - - workspaceArmPath - readOnly: true - required: false - serializedName: workspaceArmPath - language: - default: - name: workspace_arm_path - description: Workspace arm path of ApplicationGroup. - cli: - cliKey: workspaceArmPath - protocol: {} - - &ref_194 - schema: *ref_18 - flattenedNames: - - properties - - applicationGroupType - required: true - serializedName: applicationGroupType - language: - default: - name: application_group_type - description: Resource Type of ApplicationGroup. - cli: &ref_195 - cliKey: applicationGroupType - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: application_group - description: Represents a ApplicationGroup definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroup - protocol: {} - - &ref_36 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_316 - schema: *ref_19 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: &ref_317 - cliKey: friendlyName - protocol: {} - - &ref_318 - schema: *ref_20 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: &ref_319 - cliKey: description - protocol: {} - - &ref_320 - schema: *ref_21 - flattenedNames: - - properties - - hostPoolType - required: true - serializedName: hostPoolType - language: - default: - name: host_pool_type - description: HostPool type for desktop. - cli: &ref_321 - cliKey: hostPoolType - protocol: {} - - &ref_322 - schema: *ref_22 - flattenedNames: - - properties - - personalDesktopAssignmentType - required: true - serializedName: personalDesktopAssignmentType - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: &ref_323 - cliKey: personalDesktopAssignmentType - protocol: {} - - &ref_324 - schema: *ref_23 - flattenedNames: - - properties - - customRdpProperty - required: false - serializedName: customRdpProperty - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: &ref_325 - cliKey: customRdpProperty - protocol: {} - - &ref_326 - schema: *ref_24 - flattenedNames: - - properties - - maxSessionLimit - required: false - serializedName: maxSessionLimit - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: &ref_327 - cliKey: maxSessionLimit - protocol: {} - - &ref_328 - schema: *ref_25 - flattenedNames: - - properties - - loadBalancerType - required: true - serializedName: loadBalancerType - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: &ref_329 - cliKey: loadBalancerType - protocol: {} - - &ref_330 - schema: *ref_26 - flattenedNames: - - properties - - ring - required: false - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: &ref_331 - cliKey: ring - protocol: {} - - &ref_332 - schema: *ref_27 - flattenedNames: - - properties - - validationEnvironment - required: false - serializedName: validationEnvironment - language: - default: - name: validation_environment - description: Is validation environment. - cli: &ref_333 - cliKey: validationEnvironment - protocol: {} - - &ref_334 - schema: &ref_111 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_28 - serializedName: expirationTime - language: - default: - name: expiration_time - description: Expiration time of registration token. - cli: - cliKey: expirationTime - protocol: {} - - schema: *ref_29 - serializedName: token - language: - default: - name: token - description: The registration token base64 encoded string. - cli: - cliKey: token - protocol: {} - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registration_token_operation - description: The type of resetting the token. - cli: - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: registration_info - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 3 - propertyCountIfSimplifyWithoutSimpleObject: 3 - simplifiable: true - cliKey: RegistrationInfo - protocol: {} - flattenedNames: - - properties - - registrationInfo - required: false - serializedName: registrationInfo - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: &ref_335 - cliKey: registrationInfo - protocol: {} - - &ref_336 - schema: *ref_31 - flattenedNames: - - properties - - vmTemplate - required: false - serializedName: vmTemplate - language: - default: - name: vm_template - description: VM template for sessionhosts configuration within hostpool. - cli: &ref_337 - cliKey: vmTemplate - protocol: {} - - schema: &ref_126 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_32 - language: - default: - name: host_pool_properties_application_group_references - description: List of applicationGroup links. - cli: - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - readOnly: true - required: false - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: - cliKey: applicationGroupReferences - protocol: {} - - &ref_338 - schema: *ref_33 - flattenedNames: - - properties - - ssoContext - required: false - serializedName: ssoContext - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: &ref_339 - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: host_pool - description: Represents a HostPool definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPool - protocol: {} - immediate: - - *ref_34 - - *ref_35 - - *ref_36 - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_143 - schema: *ref_37 - required: false - serializedName: tags - language: - default: - name: tags - description: Resource tags. - cli: &ref_144 - cliKey: tags - protocol: {} - - &ref_145 - schema: *ref_38 - required: true - serializedName: location - language: - default: - name: location - description: The geo-location where the resource lives - cli: &ref_146 - cliKey: location - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: tracked_resource - description: The resource model definition for a ARM tracked top level resource - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: TrackedResource - protocol: {} - - *ref_34 - - *ref_35 - - &ref_83 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_207 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_208 - cliKey: tags - protocol: {} - - &ref_209 - schema: *ref_40 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: &ref_210 - cliKey: description - protocol: {} - - &ref_211 - schema: *ref_41 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: &ref_212 - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: application_group_patch - description: ApplicationGroup properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupPatch - protocol: {} - - &ref_84 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_42 - flattenedNames: - - properties - - appAlias - serializedName: appAlias - language: - default: - name: app_alias - description: Alias of StartMenuItem. - cli: - cliKey: appAlias - protocol: {} - - schema: *ref_43 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of StartMenuItem. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_44 - flattenedNames: - - properties - - filePath - serializedName: filePath - language: - default: - name: file_path - description: Path to the file of StartMenuItem. - cli: - cliKey: filePath - protocol: {} - - schema: *ref_45 - flattenedNames: - - properties - - commandLineArguments - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command line arguments for StartMenuItem. - cli: - cliKey: commandLineArguments - protocol: {} - - schema: *ref_46 - flattenedNames: - - properties - - iconPath - serializedName: iconPath - language: - default: - name: icon_path - description: Path to the icon. - cli: - cliKey: iconPath - protocol: {} - - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: start_menu_item - description: Represents a StartMenuItem definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: StartMenuItem - protocol: {} - - &ref_85 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_228 - schema: *ref_48 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: &ref_229 - cliKey: description - protocol: {} - - &ref_230 - schema: *ref_49 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: &ref_231 - cliKey: friendlyName - protocol: {} - - &ref_232 - schema: *ref_50 - flattenedNames: - - properties - - filePath - required: false - serializedName: filePath - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: &ref_233 - cliKey: filePath - protocol: {} - - &ref_234 - schema: *ref_51 - flattenedNames: - - properties - - commandLineSetting - required: true - serializedName: commandLineSetting - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: &ref_235 - cliKey: commandLineSetting - protocol: {} - - &ref_236 - schema: *ref_52 - flattenedNames: - - properties - - commandLineArguments - required: false - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: &ref_237 - cliKey: commandLineArguments - protocol: {} - - &ref_238 - schema: *ref_53 - flattenedNames: - - properties - - showInPortal - required: false - serializedName: showInPortal - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: &ref_239 - cliKey: showInPortal - protocol: {} - - &ref_240 - schema: *ref_54 - flattenedNames: - - properties - - iconPath - required: false - serializedName: iconPath - language: - default: - name: icon_path - description: Path to icon. - cli: &ref_241 - cliKey: iconPath - protocol: {} - - &ref_242 - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - required: false - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: &ref_243 - cliKey: iconIndex - protocol: {} - - schema: *ref_55 - flattenedNames: - - properties - - iconHash - readOnly: true - required: false - serializedName: iconHash - language: - default: - name: icon_hash - description: Hash of the icon. - cli: - cliKey: iconHash - protocol: {} - - schema: *ref_56 - flattenedNames: - - properties - - iconContent - readOnly: true - required: false - serializedName: iconContent - language: - default: - name: icon_content - description: the icon a 64 bit string as a byte array. - cli: - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: application - description: Schema for Application properties. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Application - protocol: {} - - &ref_86 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_57 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: - cliKey: description - protocol: {} - - schema: *ref_58 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_59 - flattenedNames: - - properties - - iconHash - readOnly: true - serializedName: iconHash - language: - default: - name: icon_hash - description: Hash of the icon. - cli: - cliKey: iconHash - protocol: {} - - schema: *ref_60 - flattenedNames: - - properties - - iconContent - readOnly: true - serializedName: iconContent - language: - default: - name: icon_content - description: The icon a 64 bit string as a byte array. - cli: - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: desktop - description: Schema for Desktop properties. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Desktop - protocol: {} - - *ref_36 - - &ref_87 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_361 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_362 - cliKey: tags - protocol: {} - - &ref_363 - schema: *ref_61 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: &ref_364 - cliKey: friendlyName - protocol: {} - - &ref_365 - schema: *ref_62 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: &ref_366 - cliKey: description - protocol: {} - - &ref_367 - schema: *ref_63 - flattenedNames: - - properties - - customRdpProperty - serializedName: customRdpProperty - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: &ref_368 - cliKey: customRdpProperty - protocol: {} - - &ref_369 - schema: *ref_24 - flattenedNames: - - properties - - maxSessionLimit - serializedName: maxSessionLimit - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: &ref_370 - cliKey: maxSessionLimit - protocol: {} - - &ref_371 - schema: *ref_22 - flattenedNames: - - properties - - personalDesktopAssignmentType - serializedName: personalDesktopAssignmentType - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: &ref_372 - cliKey: personalDesktopAssignmentType - protocol: {} - - &ref_373 - schema: *ref_25 - flattenedNames: - - properties - - loadBalancerType - serializedName: loadBalancerType - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: &ref_374 - cliKey: loadBalancerType - protocol: {} - - &ref_375 - schema: *ref_26 - flattenedNames: - - properties - - ring - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: &ref_376 - cliKey: ring - protocol: {} - - &ref_377 - schema: *ref_27 - flattenedNames: - - properties - - validationEnvironment - serializedName: validationEnvironment - language: - default: - name: validation_environment - description: Is validation environment. - cli: &ref_378 - cliKey: validationEnvironment - protocol: {} - - &ref_379 - schema: &ref_112 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registration_token_operation - description: The type of resetting the token. - cli: - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: registration_info_patch - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 1 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: RegistrationInfoPatch - protocol: {} - flattenedNames: - - properties - - registrationInfo - serializedName: registrationInfo - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: &ref_380 - cliKey: registrationInfo - protocol: {} - - &ref_381 - schema: *ref_64 - flattenedNames: - - properties - - ssoContext - serializedName: ssoContext - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: &ref_382 - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: host_pool_patch - description: HostPool properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolPatch - protocol: {} - - &ref_88 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_65 - flattenedNames: - - properties - - userPrincipalName - serializedName: userPrincipalName - language: - default: - name: user_principal_name - description: The user principal name. - cli: - cliKey: userPrincipalName - protocol: {} - - schema: *ref_66 - flattenedNames: - - properties - - applicationType - serializedName: applicationType - language: - default: - name: application_type - description: Application type of application. - cli: - cliKey: applicationType - protocol: {} - - schema: *ref_67 - flattenedNames: - - properties - - sessionState - serializedName: sessionState - language: - default: - name: session_state - description: State of user session. - cli: - cliKey: sessionState - protocol: {} - - schema: *ref_68 - flattenedNames: - - properties - - activeDirectoryUserName - serializedName: activeDirectoryUserName - language: - default: - name: active_directory_user_name - description: The active directory user name. - cli: - cliKey: activeDirectoryUserName - protocol: {} - - schema: *ref_69 - flattenedNames: - - properties - - createTime - serializedName: createTime - language: - default: - name: create_time - description: The timestamp of the user session create. - cli: - cliKey: createTime - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: user_session - description: Represents a UserSession definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: UserSession - protocol: {} - - &ref_89 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_70 - flattenedNames: - - properties - - lastHeartBeat - serializedName: lastHeartBeat - language: - default: - name: last_heart_beat - description: Last heart beat from SessionHost. - cli: - cliKey: lastHeartBeat - protocol: {} - - schema: *ref_71 - flattenedNames: - - properties - - sessions - serializedName: sessions - language: - default: - name: sessions - description: Number of sessions on SessionHost. - cli: - cliKey: sessions - protocol: {} - - schema: *ref_72 - flattenedNames: - - properties - - agentVersion - serializedName: agentVersion - language: - default: - name: agent_version - description: Version of agent on SessionHost. - cli: - cliKey: agentVersion - protocol: {} - - schema: *ref_73 - flattenedNames: - - properties - - allowNewSession - serializedName: allowNewSession - language: - default: - name: allow_new_session - description: Allow a new session. - cli: - cliKey: allowNewSession - protocol: {} - - schema: *ref_74 - flattenedNames: - - properties - - assignedUser - serializedName: assignedUser - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: - cliKey: assignedUser - protocol: {} - - schema: *ref_75 - flattenedNames: - - properties - - status - serializedName: status - language: - default: - name: status - description: Status for a SessionHost. - cli: - cliKey: status - protocol: {} - - schema: *ref_76 - flattenedNames: - - properties - - statusTimestamp - readOnly: true - serializedName: statusTimestamp - language: - default: - name: status_timestamp - description: The timestamp of the status. - cli: - cliKey: statusTimestamp - protocol: {} - - schema: *ref_77 - flattenedNames: - - properties - - osVersion - serializedName: osVersion - language: - default: - name: os_version - description: The version of the OS on the session host. - cli: - cliKey: osVersion - protocol: {} - - schema: *ref_78 - flattenedNames: - - properties - - sxSStackVersion - serializedName: sxSStackVersion - language: - default: - name: sx_s_stack_version - description: The version of the side by side stack on the session host. - cli: - cliKey: sxSStackVersion - protocol: {} - - schema: *ref_79 - flattenedNames: - - properties - - updateState - serializedName: updateState - language: - default: - name: update_state - description: Update state of a SessionHost. - cli: - cliKey: updateState - protocol: {} - - schema: *ref_80 - flattenedNames: - - properties - - lastUpdateTime - readOnly: true - serializedName: lastUpdateTime - language: - default: - name: last_update_time - description: The timestamp of the last update. - cli: - cliKey: lastUpdateTime - protocol: {} - - schema: *ref_81 - flattenedNames: - - properties - - updateErrorMessage - serializedName: updateErrorMessage - language: - default: - name: update_error_message - description: The error message. - cli: - cliKey: updateErrorMessage - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: session_host - description: Represents a SessionHost definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHost - protocol: {} - - &ref_90 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_440 - schema: *ref_73 - flattenedNames: - - properties - - allowNewSession - serializedName: allowNewSession - language: - default: - name: allow_new_session - description: Allow a new session. - cli: &ref_441 - cliKey: allowNewSession - protocol: {} - - &ref_442 - schema: *ref_82 - flattenedNames: - - properties - - assignedUser - serializedName: assignedUser - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: &ref_443 - cliKey: assignedUser - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: session_host_patch - description: SessionHost properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHostPatch - protocol: {} - immediate: - - *ref_9 - - *ref_83 - - *ref_84 - - *ref_85 - - *ref_86 - - *ref_87 - - *ref_88 - - *ref_89 - - *ref_90 - properties: - - schema: *ref_91 - readOnly: true - serializedName: id - language: - default: - name: id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cli: - cliKey: id - protocol: {} - - schema: *ref_92 - readOnly: true - serializedName: name - language: - default: - name: name - description: The name of the resource - cli: - cliKey: name - protocol: {} - - schema: *ref_93 - readOnly: true - serializedName: type - language: - default: - name: type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cli: - cliKey: type - protocol: {} - serializationFormats: - - json - usage: - - output - - input - extensions: - x-ms-azure-resource: true - language: - default: - name: resource - description: '' - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 0 - propertyCountIfSimplifyWithoutSimpleObject: 0 - simplifiable: true - cliKey: Resource - protocol: {} - - *ref_9 - - *ref_34 - - &ref_140 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_94 - serializedName: code - language: - default: - name: code - description: Error code - cli: - cliKey: code - protocol: {} - - schema: *ref_95 - serializedName: message - language: - default: - name: message - description: Error message indicating why the operation failed. - cli: - cliKey: message - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: cloud_error - description: Error response of an operation failure - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: CloudError - protocol: {} - - &ref_162 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_164 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_165 - cliKey: tags - protocol: {} - - &ref_166 - schema: *ref_96 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: &ref_167 - cliKey: description - protocol: {} - - &ref_168 - schema: *ref_97 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: &ref_169 - cliKey: friendlyName - protocol: {} - - &ref_170 - schema: &ref_120 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_98 - language: - default: - name: workspace_patch_properties_application_group_references - description: List of applicationGroup links. - cli: - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: &ref_171 - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: workspace_patch - description: Workspace properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatch - protocol: {} - - &ref_179 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_121 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_34 - language: - default: - name: workspace_list_value - description: List of Workspace definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Workspace definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_99 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: WorkspaceList - usage: - - output - language: - default: - name: workspace_list - description: List of Workspace definitions. - namespace: '' - summary: WorkspaceList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceList - protocol: {} - - &ref_184 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_122 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_35 - language: - default: - name: application_group_list_value - description: List of ApplicationGroup definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of ApplicationGroup definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_100 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationGroupList - usage: - - output - language: - default: - name: application_group_list - description: List of ApplicationGroup definitions. - namespace: '' - summary: ApplicationGroupList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupList - protocol: {} - - *ref_35 - - *ref_83 - - &ref_223 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_123 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_84 - language: - default: - name: start_menu_item_list_value - description: List of StartMenuItem definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of StartMenuItem definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_101 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: StartMenuItemList - usage: - - output - language: - default: - name: start_menu_item_list - description: List of StartMenuItem definitions. - namespace: '' - summary: StartMenuItemList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: StartMenuItemList - protocol: {} - - *ref_84 - - *ref_85 - - &ref_258 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_260 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_261 - cliKey: tags - protocol: {} - - &ref_262 - schema: *ref_102 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: &ref_263 - cliKey: description - protocol: {} - - &ref_264 - schema: *ref_103 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: &ref_265 - cliKey: friendlyName - protocol: {} - - &ref_266 - schema: *ref_104 - flattenedNames: - - properties - - filePath - serializedName: filePath - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: &ref_267 - cliKey: filePath - protocol: {} - - &ref_268 - schema: *ref_51 - flattenedNames: - - properties - - commandLineSetting - serializedName: commandLineSetting - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: &ref_269 - cliKey: commandLineSetting - protocol: {} - - &ref_270 - schema: *ref_105 - flattenedNames: - - properties - - commandLineArguments - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: &ref_271 - cliKey: commandLineArguments - protocol: {} - - &ref_272 - schema: *ref_53 - flattenedNames: - - properties - - showInPortal - serializedName: showInPortal - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: &ref_273 - cliKey: showInPortal - protocol: {} - - &ref_274 - schema: *ref_106 - flattenedNames: - - properties - - iconPath - serializedName: iconPath - language: - default: - name: icon_path - description: Path to icon. - cli: &ref_275 - cliKey: iconPath - protocol: {} - - &ref_276 - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: &ref_277 - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: application_patch - description: Application properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationPatch - protocol: {} - - &ref_292 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_124 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_85 - language: - default: - name: application_list_value - description: List of Application definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Application definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_107 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationList - usage: - - output - language: - default: - name: application_list - description: List of Application definitions. - namespace: '' - summary: ApplicationList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationList - protocol: {} - - *ref_86 - - &ref_296 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_298 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_299 - cliKey: tags - protocol: {} - - &ref_300 - schema: *ref_108 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: &ref_301 - cliKey: description - protocol: {} - - &ref_302 - schema: *ref_109 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: &ref_303 - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: desktop_patch - description: Desktop properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopPatch - protocol: {} - - &ref_312 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_125 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_86 - language: - default: - name: desktop_list_value - description: List of Desktop definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Desktop definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_110 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: DesktopList - usage: - - output - language: - default: - name: desktop_list - description: List of Desktop definitions. - namespace: '' - summary: DesktopList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopList - protocol: {} - - *ref_36 - - *ref_111 - - *ref_87 - - *ref_112 - - &ref_397 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_127 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_36 - language: - default: - name: host_pool_list_value - description: List of HostPool definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of HostPool definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_113 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: HostPoolList - usage: - - output - language: - default: - name: host_pool_list - description: List of HostPool definitions. - namespace: '' - summary: HostPoolList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolList - protocol: {} - - &ref_401 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_128 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_88 - language: - default: - name: user_session_list_value - description: List of UserSession definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of UserSession definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_114 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: UserSessionList - usage: - - output - language: - default: - name: user_session_list - description: List of UserSession definitions. - namespace: '' - summary: UserSessionList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: UserSessionList - protocol: {} - - *ref_88 - - *ref_89 - - *ref_90 - - &ref_451 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_129 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_89 - language: - default: - name: session_host_list_value - description: List of SessionHost definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of SessionHost definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_115 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: SessionHostList - usage: - - output - language: - default: - name: session_host_list - description: List of SessionHost definitions. - namespace: '' - summary: SessionHostList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: SessionHostList - protocol: {} - - &ref_420 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_422 - schema: *ref_116 - serializedName: messageTitle - language: - default: - name: message_title - description: Title of message. - cli: &ref_423 - cliKey: messageTitle - protocol: {} - - &ref_424 - schema: *ref_117 - serializedName: messageBody - language: - default: - name: message_body - description: Body of message. - cli: &ref_425 - cliKey: messageBody - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: send_message - description: Represents message sent to a UserSession. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SendMessage - protocol: {} - arrays: - - *ref_118 - - *ref_119 - - *ref_120 - - *ref_121 - - *ref_122 - - *ref_123 - - *ref_124 - - *ref_125 - - *ref_126 - - *ref_127 - - *ref_128 - - *ref_129 -globalParameters: - - &ref_135 - schema: *ref_130 - implementation: Client - required: true - extensions: - x-ms-priority: 0 - language: - default: - name: subscription_id - description: The ID of the target subscription. - serializedName: subscriptionId - cli: - cliKey: subscriptionId - protocol: - http: - in: path - - &ref_132 - schema: *ref_0 - clientDefaultValue: 'https://management.azure.com' - implementation: Client - origin: 'modelerfour:synthesized/host' - required: true - extensions: - x-ms-skip-url-encoding: true - language: - default: - name: $host - description: server parameter - serializedName: $host - cli: - cliKey: $host - protocol: - http: - in: uri - - &ref_133 - schema: *ref_131 - implementation: Client - origin: 'modelerfour:synthesized/api-version' - required: true - language: - default: - name: api_version - description: Api Version - serializedName: api-version - cli: - cliKey: ApiVersion - protocol: - http: - in: query -operationGroups: - - $key: Operations - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: /providers/Microsoft.DesktopVirtualization/operations - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_134 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - extensions: - x-ms-examples: - OperationDescription_List: - parameters: - api-version: 2019-12-10-preview - responses: - '200': - body: - value: - - name: Microsoft.DesktopVirtualization/ssocontext/read - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - - name: Microsoft.DesktopVirtualization/ssocontext/write - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - language: - default: - name: list - description: List all of the available operations the Desktop Virtualization resource provider supports. - cli: - cliKey: List - protocol: {} - language: - default: - name: operations - description: '' - cli: - cliKey: Operations - protocol: {} - - $key: Workspaces - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_138 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_139 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_138 - - *ref_139 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Get: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get a workspace. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_158 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_159 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_142 - schema: *ref_34 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _workspace - description: Object containing Workspace definitions. - cli: - cliKey: workspace - protocol: - http: - in: body - style: json - - &ref_153 - schema: *ref_37 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_154 - schema: *ref_38 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_155 - schema: *ref_11 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_147 - language: - default: - name: description - description: Description of Workspace. - cli: *ref_148 - protocol: {} - - &ref_156 - schema: *ref_12 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_149 - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: *ref_150 - protocol: {} - - &ref_157 - schema: *ref_119 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_151 - language: - default: - name: application_group_references - description: List of applicationGroup resource Ids. - cli: *ref_152 - protocol: {} - signatureParameters: - - *ref_153 - - *ref_154 - - *ref_155 - - *ref_156 - - *ref_157 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_158 - - *ref_159 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Create: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '201': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update a workspace. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_160 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_161 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_160 - - *ref_161 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Delete: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove a workspace. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_176 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_177 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_163 - schema: *ref_162 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _workspace - description: Object containing Workspace definitions. - cli: - cliKey: workspace - protocol: - http: - in: body - style: json - - &ref_172 - schema: *ref_39 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_164 - language: - default: - name: tags - description: tags to be updated - cli: *ref_165 - protocol: {} - - &ref_173 - schema: *ref_96 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_166 - language: - default: - name: description - description: Description of Workspace. - cli: *ref_167 - protocol: {} - - &ref_174 - schema: *ref_97 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_168 - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: *ref_169 - protocol: {} - - &ref_175 - schema: *ref_120 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_170 - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: *ref_171 - protocol: {} - signatureParameters: - - *ref_172 - - *ref_173 - - *ref_174 - - *ref_175 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_176 - - *ref_177 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Update: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update a workspace. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_178 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: - - *ref_178 - responses: - - schema: *ref_179 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List workspaces. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_179 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListBySubscription: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_subscription - description: List workspaces in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySubscription - protocol: {} - language: - default: - name: workspaces - description: '' - cli: - cliKey: Workspaces - protocol: {} - - $key: ApplicationGroupAssignments - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_181 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_182 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - - &ref_183 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' - method: get - uri: '{$host}' - signatureParameters: - - *ref_181 - - *ref_182 - - *ref_183 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroupAssignment_WorkspaceLevelList: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: workspace_level_list - description: List application group that user can use. - paging: - nextLinkName: nextLink - cli: - cliKey: WorkspaceLevelList - protocol: {} - language: - default: - name: application_group_assignments - description: '' - cli: - cliKey: ApplicationGroupAssignments - protocol: {} - - $key: ApplicationGroups - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_185 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_186 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_185 - - *ref_186 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get an application group. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_202 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_203 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_187 - schema: *ref_35 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _application_group - description: Object containing ApplicationGroup definitions. - cli: - cliKey: applicationGroup - protocol: - http: - in: body - style: json - - &ref_196 - schema: *ref_37 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_197 - schema: *ref_38 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_198 - schema: *ref_14 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_188 - language: - default: - name: description - description: Description of ApplicationGroup. - cli: *ref_189 - protocol: {} - - &ref_199 - schema: *ref_15 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_190 - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: *ref_191 - protocol: {} - - &ref_200 - schema: *ref_16 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_192 - language: - default: - name: host_pool_arm_path - description: HostPool arm path of ApplicationGroup. - cli: *ref_193 - protocol: {} - - &ref_201 - schema: *ref_18 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_194 - language: - default: - name: application_group_type - description: Resource Type of ApplicationGroup. - cli: *ref_195 - protocol: {} - signatureParameters: - - *ref_196 - - *ref_197 - - *ref_198 - - *ref_199 - - *ref_200 - - *ref_201 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_202 - - *ref_203 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Create: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '201': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update an applicationGroup. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_204 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_205 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_204 - - *ref_205 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove an applicationGroup. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_216 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_217 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_206 - schema: *ref_83 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _application_group - description: Object containing ApplicationGroup definitions. - cli: - cliKey: applicationGroup - protocol: - http: - in: body - style: json - - &ref_213 - schema: *ref_39 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_207 - language: - default: - name: tags - description: tags to be updated - cli: *ref_208 - protocol: {} - - &ref_214 - schema: *ref_40 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_209 - language: - default: - name: description - description: Description of ApplicationGroup. - cli: *ref_210 - protocol: {} - - &ref_215 - schema: *ref_41 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_211 - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: *ref_212 - protocol: {} - signatureParameters: - - *ref_213 - - *ref_214 - - *ref_215 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_216 - - *ref_217 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroups_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update an applicationGroup. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_218 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_219 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_218 - - *ref_219 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_ListByResourceGroup: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List applicationGroups. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_220 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_220 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_List: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_subscription - description: List applicationGroups in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySubscription - protocol: {} - language: - default: - name: application_groups - description: '' - cli: - cliKey: ApplicationGroups - protocol: {} - - $key: StartMenuItems - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_221 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_222 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' - method: get - uri: '{$host}' - signatureParameters: - - *ref_221 - - *ref_222 - responses: - - schema: *ref_223 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - StartMenuItem_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: application1 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 - properties: - appAlias: word - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - - name: application2 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 - properties: - appAlias: excel - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List start menu items in the given application group. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: start_menu_items - description: '' - cli: - cliKey: StartMenuItems - protocol: {} - - $key: Applications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_224 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_225 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_226 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_224 - - *ref_225 - - *ref_226 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: get - description: Get an application. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_252 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_253 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_254 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_227 - schema: *ref_85 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _application - description: Object containing Application definitions. - cli: - cliKey: application - protocol: - http: - in: body - style: json - - &ref_244 - schema: *ref_48 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_228 - language: - default: - name: description - description: Description of Application. - cli: *ref_229 - protocol: {} - - &ref_245 - schema: *ref_49 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_230 - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: *ref_231 - protocol: {} - - &ref_246 - schema: *ref_50 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_232 - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: *ref_233 - protocol: {} - - &ref_247 - schema: *ref_51 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: true - targetProperty: *ref_234 - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: *ref_235 - protocol: {} - - &ref_248 - schema: *ref_52 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_236 - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: *ref_237 - protocol: {} - - &ref_249 - schema: *ref_53 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_238 - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: *ref_239 - protocol: {} - - &ref_250 - schema: *ref_54 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_240 - language: - default: - name: icon_path - description: Path to icon. - cli: *ref_241 - protocol: {} - - &ref_251 - schema: *ref_47 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_242 - language: - default: - name: icon_index - description: Index of the icon. - cli: *ref_243 - protocol: {} - signatureParameters: - - *ref_244 - - *ref_245 - - *ref_246 - - *ref_247 - - *ref_248 - - *ref_249 - - *ref_250 - - *ref_251 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_252 - - *ref_253 - - *ref_254 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Create: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '201': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: create_or_update - description: Create or update an application. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_255 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_256 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_257 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_255 - - *ref_256 - - *ref_257 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '204': {} - language: - default: - name: delete - description: Remove an application. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_287 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_288 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_289 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_259 - schema: *ref_258 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _application - description: Object containing Application definitions. - cli: - cliKey: application - protocol: - http: - in: body - style: json - - &ref_278 - schema: *ref_39 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_260 - language: - default: - name: tags - description: tags to be updated - cli: *ref_261 - protocol: {} - - &ref_279 - schema: *ref_102 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_262 - language: - default: - name: description - description: Description of Application. - cli: *ref_263 - protocol: {} - - &ref_280 - schema: *ref_103 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_264 - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: *ref_265 - protocol: {} - - &ref_281 - schema: *ref_104 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_266 - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: *ref_267 - protocol: {} - - &ref_282 - schema: *ref_51 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_268 - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: *ref_269 - protocol: {} - - &ref_283 - schema: *ref_105 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_270 - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: *ref_271 - protocol: {} - - &ref_284 - schema: *ref_53 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_272 - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: *ref_273 - protocol: {} - - &ref_285 - schema: *ref_106 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_274 - language: - default: - name: icon_path - description: Path to icon. - cli: *ref_275 - protocol: {} - - &ref_286 - schema: *ref_47 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_276 - language: - default: - name: icon_index - description: Index of the icon. - cli: *ref_277 - protocol: {} - signatureParameters: - - *ref_278 - - *ref_279 - - *ref_280 - - *ref_281 - - *ref_282 - - *ref_283 - - *ref_284 - - *ref_285 - - *ref_286 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_287 - - *ref_288 - - *ref_289 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Update: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: update - description: Update an application. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_290 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_291 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_290 - - *ref_291 - responses: - - schema: *ref_292 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Applications_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List applications. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: applications - description: '' - cli: - cliKey: Applications - protocol: {} - - $key: Desktops - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_293 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_294 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_295 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: desktop_name - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - cliKey: desktopName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_293 - - *ref_294 - - *ref_295 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: get - description: Get a desktop. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_307 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_308 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_309 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: desktop_name - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - cliKey: desktopName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_297 - schema: *ref_296 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _desktop - description: Object containing Desktop definitions. - cli: - cliKey: desktop - protocol: - http: - in: body - style: json - - &ref_304 - schema: *ref_39 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_298 - language: - default: - name: tags - description: tags to be updated - cli: *ref_299 - protocol: {} - - &ref_305 - schema: *ref_108 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_300 - language: - default: - name: description - description: Description of Desktop. - cli: *ref_301 - protocol: {} - - &ref_306 - schema: *ref_109 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_302 - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: *ref_303 - protocol: {} - signatureParameters: - - *ref_304 - - *ref_305 - - *ref_306 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_307 - - *ref_308 - - *ref_309 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktop: - properties: - description: des1 - friendlyName: friendly - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: update - description: Update a desktop. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_310 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_311 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' - method: get - uri: '{$host}' - signatureParameters: - - *ref_310 - - *ref_311 - responses: - - schema: *ref_312 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: list - description: List desktops. - cli: - cliKey: List - protocol: {} - language: - default: - name: desktops - description: '' - cli: - cliKey: Desktops - protocol: {} - - $key: HostPools - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_313 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_314 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_313 - - *ref_314 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get a host pool. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_354 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_355 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_315 - schema: *ref_36 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _host_pool - description: Object containing HostPool definitions. - cli: - cliKey: hostPool - protocol: - http: - in: body - style: json - - &ref_340 - schema: *ref_37 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_341 - schema: *ref_38 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_342 - schema: *ref_19 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_316 - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: *ref_317 - protocol: {} - - &ref_343 - schema: *ref_20 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_318 - language: - default: - name: description - description: Description of HostPool. - cli: *ref_319 - protocol: {} - - &ref_344 - schema: *ref_21 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_320 - language: - default: - name: host_pool_type - description: HostPool type for desktop. - cli: *ref_321 - protocol: {} - - &ref_345 - schema: *ref_22 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_322 - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: *ref_323 - protocol: {} - - &ref_346 - schema: *ref_23 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_324 - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: *ref_325 - protocol: {} - - &ref_347 - schema: *ref_24 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_326 - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: *ref_327 - protocol: {} - - &ref_348 - schema: *ref_25 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_328 - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: *ref_329 - protocol: {} - - &ref_349 - schema: *ref_26 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_330 - language: - default: - name: ring - description: The ring number of HostPool. - cli: *ref_331 - protocol: {} - - &ref_350 - schema: *ref_27 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_332 - language: - default: - name: validation_environment - description: Is validation environment. - cli: *ref_333 - protocol: {} - - &ref_351 - schema: *ref_111 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_334 - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: *ref_335 - protocol: {} - - &ref_352 - schema: *ref_31 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_336 - language: - default: - name: vm_template - description: VM template for sessionhosts configuration within hostpool. - cli: *ref_337 - protocol: {} - - &ref_353 - schema: *ref_33 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_338 - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: *ref_339 - protocol: {} - signatureParameters: - - *ref_340 - - *ref_341 - - *ref_342 - - *ref_343 - - *ref_344 - - *ref_345 - - *ref_346 - - *ref_347 - - *ref_348 - - *ref_349 - - *ref_350 - - *ref_351 - - *ref_352 - - *ref_353 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_354 - - *ref_355 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Create: - parameters: - api-version: 2019-12-10-preview - hostPool: - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '201': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update a host pool. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_357 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_358 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_359 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to delete sessionHost. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_357 - - *ref_358 - - *ref_359 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove a host pool. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_394 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_395 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_360 - schema: *ref_87 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _host_pool - description: Object containing HostPool definitions. - cli: - cliKey: hostPool - protocol: - http: - in: body - style: json - - &ref_383 - schema: *ref_39 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_361 - language: - default: - name: tags - description: tags to be updated - cli: *ref_362 - protocol: {} - - &ref_384 - schema: *ref_61 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_363 - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: *ref_364 - protocol: {} - - &ref_385 - schema: *ref_62 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_365 - language: - default: - name: description - description: Description of HostPool. - cli: *ref_366 - protocol: {} - - &ref_386 - schema: *ref_63 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_367 - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: *ref_368 - protocol: {} - - &ref_387 - schema: *ref_24 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_369 - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: *ref_370 - protocol: {} - - &ref_388 - schema: *ref_22 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_371 - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: *ref_372 - protocol: {} - - &ref_389 - schema: *ref_25 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_373 - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: *ref_374 - protocol: {} - - &ref_390 - schema: *ref_26 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_375 - language: - default: - name: ring - description: The ring number of HostPool. - cli: *ref_376 - protocol: {} - - &ref_391 - schema: *ref_27 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_377 - language: - default: - name: validation_environment - description: Is validation environment. - cli: *ref_378 - protocol: {} - - &ref_392 - schema: *ref_112 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_379 - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: *ref_380 - protocol: {} - - &ref_393 - schema: *ref_64 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_381 - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: *ref_382 - protocol: {} - signatureParameters: - - *ref_383 - - *ref_384 - - *ref_385 - - *ref_386 - - *ref_387 - - *ref_388 - - *ref_389 - - *ref_390 - - *ref_391 - - *ref_392 - - *ref_393 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_394 - - *ref_395 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Update: - parameters: - api-version: 2019-12-10-preview - hostPool: - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-02T14:01:54.9571247Z' - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update a host pool. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_396 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: - - *ref_396 - responses: - - schema: *ref_397 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List hostPools. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_397 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_List: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List hostPools in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: host_pools - description: '' - cli: - cliKey: HostPools - protocol: {} - - $key: UserSessions - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_398 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_399 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_400 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_398 - - *ref_399 - - *ref_400 - responses: - - schema: *ref_401 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_ListByHostPool: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_host_pool - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByHostPool - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_404 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_405 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_406 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_407 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_404 - - *ref_405 - - *ref_406 - - *ref_407 - responses: - - schema: *ref_88 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - body: - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - language: - default: - name: get - description: Get a userSession. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_408 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_409 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_410 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_411 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - - &ref_412 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to login off userSession. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_408 - - *ref_409 - - *ref_410 - - *ref_411 - - *ref_412 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - '204': {} - language: - default: - name: delete - description: Remove a userSession. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_413 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_414 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_415 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_413 - - *ref_414 - - *ref_415 - responses: - - schema: *ref_401 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_416 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_417 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_418 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_419 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' - method: post - uri: '{$host}' - signatureParameters: - - *ref_416 - - *ref_417 - - *ref_418 - - *ref_419 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Disconnect_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: disconnect - description: Disconnect a userSession. - cli: - cliKey: Disconnect - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_428 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_429 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_430 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_431 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_421 - schema: *ref_420 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _send_message - description: Object containing message includes title and message body - cli: - cliKey: sendMessage - protocol: - http: - in: body - style: json - - &ref_426 - schema: *ref_116 - implementation: Method - originalParameter: *ref_421 - pathToProperty: [] - targetProperty: *ref_422 - language: - default: - name: message_title - description: Title of message. - cli: *ref_423 - protocol: {} - - &ref_427 - schema: *ref_117 - implementation: Method - originalParameter: *ref_421 - pathToProperty: [] - targetProperty: *ref_424 - language: - default: - name: message_body - description: Body of message. - cli: *ref_425 - protocol: {} - signatureParameters: - - *ref_426 - - *ref_427 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' - method: post - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_428 - - *ref_429 - - *ref_430 - - *ref_431 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_SendMessage_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sendMessage: - messageBody: body - messageTitle: title - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: send_message - description: Send a message to a user. - cli: - cliKey: SendMessage - protocol: {} - language: - default: - name: user_sessions - description: '' - cli: - cliKey: UserSessions - protocol: {} - - $key: SessionHosts - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_432 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_433 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_434 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_432 - - *ref_433 - - *ref_434 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: get - description: Get a session host. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_435 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_436 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_437 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_438 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to force sessionHost deletion even when userSession exists. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_435 - - *ref_436 - - *ref_437 - - *ref_438 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - '204': {} - language: - default: - name: delete - description: Remove a SessionHost. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_446 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_447 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_448 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_439 - schema: *ref_90 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _session_host - description: Object containing SessionHost definitions. - cli: - cliKey: sessionHost - protocol: - http: - in: body - style: json - - &ref_444 - schema: *ref_73 - implementation: Method - originalParameter: *ref_439 - pathToProperty: [] - targetProperty: *ref_440 - language: - default: - name: allow_new_session - description: Allow a new session. - cli: *ref_441 - protocol: {} - - &ref_445 - schema: *ref_82 - implementation: Method - originalParameter: *ref_439 - pathToProperty: [] - targetProperty: *ref_442 - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: *ref_443 - protocol: {} - signatureParameters: - - *ref_444 - - *ref_445 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_446 - - *ref_447 - - *ref_448 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Update: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHost: - properties: - allowNewSession: true - assignedUser: user1@microsoft.com - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2019-01-11T19:27:13.6108027Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2019-01-24T20:00:08.2893033Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: update - description: Update a session host. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_449 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_450 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' - method: get - uri: '{$host}' - signatureParameters: - - *ref_449 - - *ref_450 - responses: - - schema: *ref_451 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - - name: sessionHost2.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user2@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List sessionHosts. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: session_hosts - description: '' - cli: - cliKey: SessionHosts - protocol: {} - - $key: ActiveApplications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_452 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_453 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_454 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_455 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_452 - - *ref_453 - - *ref_454 - - *ref_455 - responses: - - schema: *ref_292 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ActiveApplications_List: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_session_host - description: List applications for the given session host. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySessionHost - protocol: {} - language: - default: - name: active_applications - description: '' - cli: - cliKey: ActiveApplications - protocol: {} -language: - default: - name: DesktopVirtualizationAPIClient - description: '' -protocol: - http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000080-modifier-post-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000080-modifier-post-simplified.yaml deleted file mode 100644 index 59345b97497..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000080-modifier-post-simplified.yaml +++ /dev/null @@ -1,2002 +0,0 @@ -operationGroups: - all: - - operationGroupName: operations - cli: - cliKey: Operations - operations: - - operationName: list - cli: - cliKey: List - hidden: true - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - operationGroupName: workspaces - cli: - cliKey: Workspaces - operations: - - operationName: get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspace_name(string^string) - cli: - cliKey: workspaceName - - operationName: create_or_update - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspace_name(string^string) - cli: - cliKey: workspaceName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _workspace(workspace^object) - cli: - cliKey: workspace - x-ms-client-flatten: true - bodySchema: workspace - - parameterName[0]: tags(tracked_resource_tags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(tracked_resource_location^string) - cli: - cliKey: location - - parameterName[0]: description(workspace_properties_description^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(workspace_properties_friendly_name^string) - cli: - cliKey: friendlyName - - parameterName[0]: application_group_references(workspace_properties_application_group_references^array) - cli: - cliKey: applicationGroupReferences - - operationName: delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspace_name(string^string) - cli: - cliKey: workspaceName - - operationName: update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspace_name(string^string) - cli: - cliKey: workspaceName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _workspace(workspace_patch^object) - cli: - cliKey: workspace - x-ms-client-flatten: true - bodySchema: workspace_patch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(workspace_patch_properties_description^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(workspace_patch_properties_friendly_name^string) - cli: - cliKey: friendlyName - - parameterName[0]: application_group_references(workspace_patch_properties_application_group_references^array) - cli: - cliKey: applicationGroupReferences - - operationName: list_by_resource_group - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - operationName: list_by_subscription - cli: - cliKey: ListBySubscription - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - operationGroupName: application_group_assignments - cli: - cliKey: ApplicationGroupAssignments - hidden: true - operations: - - operationName: workspace_level_list - cli: - cliKey: WorkspaceLevelList - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: workspace_name(string^string) - cli: - cliKey: workspaceName - - parameterName: filter(string^string) - cli: - cliKey: $filter - - operationGroupName: application_groups - cli: - cliKey: ApplicationGroups - operations: - - operationName: get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - operationName: create_or_update - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _application_group(application_group^object) - cli: - cliKey: applicationGroup - x-ms-client-flatten: true - bodySchema: application_group - - parameterName[0]: tags(tracked_resource_tags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(tracked_resource_location^string) - cli: - cliKey: location - - parameterName[0]: description(application_group_properties_description^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(application_group_properties_friendly_name^string) - cli: - cliKey: friendlyName - - parameterName[0]: host_pool_arm_path(application_group_properties_host_pool_arm_path^string) - cli: - cliKey: hostPoolArmPath - - parameterName[0]: application_group_type(application_group_type^choice) - cli: - cliKey: applicationGroupType - - operationName: delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - operationName: update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _application_group(application_group_patch^object) - cli: - cliKey: applicationGroup - x-ms-client-flatten: true - bodySchema: application_group_patch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(application_group_patch_properties_description^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(application_group_patch_properties_friendly_name^string) - cli: - cliKey: friendlyName - - operationName: list_by_resource_group - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: filter(string^string) - cli: - cliKey: $filter - - operationName: list_by_subscription - cli: - cliKey: ListBySubscription - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: filter(string^string) - cli: - cliKey: $filter - - operationGroupName: start_menu_items - cli: - cliKey: StartMenuItems - hidden: true - operations: - - operationName: list - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: applications - cli: - cliKey: Applications - hidden: true - operations: - - operationName: get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - parameterName: application_name(string^string) - cli: - cliKey: applicationName - - operationName: create_or_update - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - parameterName: application_name(string^string) - cli: - cliKey: applicationName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _application(application^object) - cli: - cliKey: application - x-ms-client-flatten: true - bodySchema: application - - parameterName[0]: description(application_properties_description^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(application_properties_friendly_name^string) - cli: - cliKey: friendlyName - - parameterName[0]: file_path(application_properties_file_path^string) - cli: - cliKey: filePath - - parameterName[0]: command_line_setting(command_line_setting^choice) - cli: - cliKey: commandLineSetting - - parameterName[0]: command_line_arguments(application_properties_command_line_arguments^string) - cli: - cliKey: commandLineArguments - - parameterName[0]: show_in_portal(boolean^boolean) - cli: - cliKey: showInPortal - - parameterName[0]: icon_path(application_properties_icon_path^string) - cli: - cliKey: iconPath - - parameterName[0]: icon_index(integer^integer) - cli: - cliKey: iconIndex - - operationName: delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - parameterName: application_name(string^string) - cli: - cliKey: applicationName - - operationName: update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - parameterName: application_name(string^string) - cli: - cliKey: applicationName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _application(application_patch^object) - cli: - cliKey: application - x-ms-client-flatten: true - bodySchema: application_patch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(application_patch_properties_description^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(application_patch_properties_friendly_name^string) - cli: - cliKey: friendlyName - - parameterName[0]: file_path(application_patch_properties_file_path^string) - cli: - cliKey: filePath - - parameterName[0]: command_line_setting(command_line_setting^choice) - cli: - cliKey: commandLineSetting - - parameterName[0]: command_line_arguments(application_patch_properties_command_line_arguments^string) - cli: - cliKey: commandLineArguments - - parameterName[0]: show_in_portal(boolean^boolean) - cli: - cliKey: showInPortal - - parameterName[0]: icon_path(application_patch_properties_icon_path^string) - cli: - cliKey: iconPath - - parameterName[0]: icon_index(integer^integer) - cli: - cliKey: iconIndex - - operationName: list - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: desktops - cli: - cliKey: Desktops - hidden: true - operations: - - operationName: get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - parameterName: desktop_name(string^string) - cli: - cliKey: desktopName - - operationName: update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - parameterName: desktop_name(string^string) - cli: - cliKey: desktopName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _desktop(desktop_patch^object) - cli: - cliKey: desktop - x-ms-client-flatten: true - bodySchema: desktop_patch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(desktop_patch_properties_description^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(desktop_patch_properties_friendly_name^string) - cli: - cliKey: friendlyName - - operationName: list - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: application_group_name(string^string) - cli: - cliKey: applicationGroupName - - operationGroupName: host_pools - cli: - cliKey: HostPools - operations: - - operationName: get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - operationName: create_or_update - cli: - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _host_pool(host_pool^object) - cli: - cliKey: hostPool - x-ms-client-flatten: true - bodySchema: host_pool - - parameterName[0]: tags(tracked_resource_tags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(tracked_resource_location^string) - cli: - cliKey: location - - parameterName[0]: friendly_name(host_pool_properties_friendly_name^string) - cli: - cliKey: friendlyName - - parameterName[0]: description(host_pool_properties_description^string) - cli: - cliKey: description - - parameterName[0]: host_pool_type(host_pool_type^choice) - cli: - cliKey: hostPoolType - - parameterName[0]: personal_desktop_assignment_type(personal_desktop_assignment_type^choice) - cli: - cliKey: personalDesktopAssignmentType - - parameterName[0]: custom_rdp_property(host_pool_properties_custom_rdp_property^string) - cli: - cliKey: customRdpProperty - - parameterName[0]: max_session_limit(integer^integer) - cli: - cliKey: maxSessionLimit - - parameterName[0]: load_balancer_type(load_balancer_type^choice) - cli: - cliKey: loadBalancerType - - parameterName[0]: ring(integer^integer) - cli: - cliKey: ring - - parameterName[0]: validation_environment(boolean^boolean) - cli: - cliKey: validationEnvironment - - parameterName[0]: registration_info(registration_info^object) - cli: - cliKey: registrationInfo - - parameterName[0]: vm_template(host_pool_properties_vm_template^string) - cli: - cliKey: vmTemplate - - parameterName[0]: sso_context(host_pool_properties_sso_context^string) - cli: - cliKey: ssoContext - - operationName: delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _host_pool(host_pool_patch^object) - cli: - cliKey: hostPool - x-ms-client-flatten: true - bodySchema: host_pool_patch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: friendly_name(host_pool_patch_properties_friendly_name^string) - cli: - cliKey: friendlyName - - parameterName[0]: description(host_pool_patch_properties_description^string) - cli: - cliKey: description - - parameterName[0]: custom_rdp_property(host_pool_patch_properties_custom_rdp_property^string) - cli: - cliKey: customRdpProperty - - parameterName[0]: max_session_limit(integer^integer) - cli: - cliKey: maxSessionLimit - - parameterName[0]: personal_desktop_assignment_type(personal_desktop_assignment_type^choice) - cli: - cliKey: personalDesktopAssignmentType - - parameterName[0]: load_balancer_type(load_balancer_type^choice) - cli: - cliKey: loadBalancerType - - parameterName[0]: ring(integer^integer) - cli: - cliKey: ring - - parameterName[0]: validation_environment(boolean^boolean) - cli: - cliKey: validationEnvironment - - parameterName[0]: registration_info(registration_info_patch^object) - cli: - cliKey: registrationInfo - - parameterName[0]: sso_context(host_pool_patch_properties_sso_context^string) - cli: - cliKey: ssoContext - - operationName: list_by_resource_group - cli: - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - operationName: list - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - operationGroupName: user_sessions - cli: - cliKey: UserSessions - hidden: true - operations: - - operationName: list_by_host_pool - cli: - cliKey: ListByHostPool - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: filter(string^string) - cli: - cliKey: $filter - - operationName: get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: session_host_name(string^string) - cli: - cliKey: sessionHostName - - parameterName: user_session_id(string^string) - cli: - cliKey: userSessionId - - operationName: delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: session_host_name(string^string) - cli: - cliKey: sessionHostName - - parameterName: user_session_id(string^string) - cli: - cliKey: userSessionId - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: list - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: session_host_name(string^string) - cli: - cliKey: sessionHostName - - operationName: disconnect - cli: - cliKey: Disconnect - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: session_host_name(string^string) - cli: - cliKey: sessionHostName - - parameterName: user_session_id(string^string) - cli: - cliKey: userSessionId - - operationName: send_message - cli: - cliKey: SendMessage - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: session_host_name(string^string) - cli: - cliKey: sessionHostName - - parameterName: user_session_id(string^string) - cli: - cliKey: userSessionId - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _send_message(send_message^object) - cli: - cliKey: sendMessage - x-ms-client-flatten: true - bodySchema: send_message - - parameterName[0]: message_title(send_message_title^string) - cli: - cliKey: messageTitle - - parameterName[0]: message_body(send_message_body^string) - cli: - cliKey: messageBody - - operationGroupName: session_hosts - cli: - cliKey: SessionHosts - hidden: true - operations: - - operationName: get - cli: - cliKey: Get - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: session_host_name(string^string) - cli: - cliKey: sessionHostName - - operationName: delete - cli: - cliKey: Delete - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: session_host_name(string^string) - cli: - cliKey: sessionHostName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: update - cli: - cliKey: Update - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: session_host_name(string^string) - cli: - cliKey: sessionHostName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - - parameterName[0]: _session_host(session_host_patch^object) - cli: - cliKey: sessionHost - x-ms-client-flatten: true - bodySchema: session_host_patch - - parameterName[0]: allow_new_session(boolean^boolean) - cli: - cliKey: allowNewSession - - parameterName[0]: assigned_user(session_host_patch_properties_assigned_user^string) - cli: - cliKey: assignedUser - - operationName: list - cli: - cliKey: List - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - operationGroupName: active_applications - cli: - cliKey: ActiveApplications - hidden: true - operations: - - operationName: list_by_session_host - cli: - cliKey: ListBySessionHost - parameters: - - parameterName: $host(string^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - - parameterName: subscription_id(string^string) - cli: - cliKey: subscriptionId - - parameterName: resource_group_name(string^string) - cli: - cliKey: resourceGroupName - - parameterName: host_pool_name(string^string) - cli: - cliKey: hostPoolName - - parameterName: session_host_name(string^string) - cli: - cliKey: sessionHostName - - parameterName: filter(string^string) - cli: - cliKey: $filter -schemas: - objects: - all: - - schemaName: resource_provider_operation_list - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ResourceProviderOperationList - properties: - - propertyName: value(resource_provider_operation_list_value^array) - cli: - cliKey: value - - schemaName: resource_provider_operation - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ResourceProviderOperation - properties: - - propertyName: name(resource_provider_operation_name^string) - cli: - cliKey: name - - propertyName: display(resource_provider_operation_display^object) - cli: - cliKey: display - - schemaName: resource_provider_operation_display - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ResourceProviderOperation-display - properties: - - propertyName: provider(resource_provider_operation_display_provider^string) - cli: - cliKey: provider - - propertyName: resource(resource_provider_operation_display_resource^string) - cli: - cliKey: resource - - propertyName: operation(resource_provider_operation_display_operation^string) - cli: - cliKey: operation - - propertyName: description(resource_provider_operation_display_description^string) - cli: - cliKey: description - - schemaName: resource - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 0 - propertyCountIfSimplifyWithoutSimpleObject: 0 - simplifiable: true - cliKey: Resource - properties: - - propertyName: id(resource_id^string) - cli: - cliKey: id - readOnly: true - - propertyName: name(resource_name^string) - cli: - cliKey: name - readOnly: true - - propertyName: type(resource_type^string) - cli: - cliKey: type - readOnly: true - - schemaName: tracked_resource - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: TrackedResource - properties: - - propertyName: tags(tracked_resource_tags^dictionary) - cli: - cliKey: tags - - propertyName: location(tracked_resource_location^string) - cli: - cliKey: location - - schemaName: workspace - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: Workspace - properties: - - propertyName: description(workspace_properties_description^string) - cli: - cliKey: description - - propertyName: friendly_name(workspace_properties_friendly_name^string) - cli: - cliKey: friendlyName - - propertyName: application_group_references(workspace_properties_application_group_references^array) - cli: - cliKey: applicationGroupReferences - - schemaName: cloud_error - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: CloudError - properties: - - propertyName: code(cloud_error_code^string) - cli: - cliKey: code - - propertyName: message(cloud_error_message^string) - cli: - cliKey: message - - schemaName: workspace_patch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(workspace_patch_properties_description^string) - cli: - cliKey: description - - propertyName: friendly_name(workspace_patch_properties_friendly_name^string) - cli: - cliKey: friendlyName - - propertyName: application_group_references(workspace_patch_properties_application_group_references^array) - cli: - cliKey: applicationGroupReferences - - schemaName: workspace_list - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceList - properties: - - propertyName: value(workspace_list_value^array) - cli: - cliKey: value - - propertyName: next_link(workspace_list_next_link^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: application_group_list - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupList - properties: - - propertyName: value(application_group_list_value^array) - cli: - cliKey: value - - propertyName: next_link(application_group_list_next_link^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: application_group - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroup - properties: - - propertyName: description(application_group_properties_description^string) - cli: - cliKey: description - - propertyName: friendly_name(application_group_properties_friendly_name^string) - cli: - cliKey: friendlyName - - propertyName: host_pool_arm_path(application_group_properties_host_pool_arm_path^string) - cli: - cliKey: hostPoolArmPath - - propertyName: workspace_arm_path(application_group_properties_workspace_arm_path^string) - cli: - cliKey: workspaceArmPath - readOnly: true - - propertyName: application_group_type(application_group_type^choice) - cli: - cliKey: applicationGroupType - - schemaName: application_group_patch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(application_group_patch_properties_description^string) - cli: - cliKey: description - - propertyName: friendly_name(application_group_patch_properties_friendly_name^string) - cli: - cliKey: friendlyName - - schemaName: start_menu_item_list - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: StartMenuItemList - properties: - - propertyName: value(start_menu_item_list_value^array) - cli: - cliKey: value - - propertyName: next_link(start_menu_item_list_next_link^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: start_menu_item - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: StartMenuItem - properties: - - propertyName: app_alias(start_menu_item_properties_app_alias^string) - cli: - cliKey: appAlias - - propertyName: friendly_name(start_menu_item_properties_friendly_name^string) - cli: - cliKey: friendlyName - - propertyName: file_path(start_menu_item_properties_file_path^string) - cli: - cliKey: filePath - - propertyName: command_line_arguments(start_menu_item_properties_command_line_arguments^string) - cli: - cliKey: commandLineArguments - - propertyName: icon_path(start_menu_item_properties_icon_path^string) - cli: - cliKey: iconPath - - propertyName: icon_index(integer^integer) - cli: - cliKey: iconIndex - - schemaName: application - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Application - properties: - - propertyName: description(application_properties_description^string) - cli: - cliKey: description - - propertyName: friendly_name(application_properties_friendly_name^string) - cli: - cliKey: friendlyName - - propertyName: file_path(application_properties_file_path^string) - cli: - cliKey: filePath - - propertyName: command_line_setting(command_line_setting^choice) - cli: - cliKey: commandLineSetting - - propertyName: command_line_arguments(application_properties_command_line_arguments^string) - cli: - cliKey: commandLineArguments - - propertyName: show_in_portal(boolean^boolean) - cli: - cliKey: showInPortal - - propertyName: icon_path(application_properties_icon_path^string) - cli: - cliKey: iconPath - - propertyName: icon_index(integer^integer) - cli: - cliKey: iconIndex - - propertyName: icon_hash(application_properties_icon_hash^string) - cli: - cliKey: iconHash - readOnly: true - - propertyName: icon_content(application_properties_icon_content^byte-array) - cli: - cliKey: iconContent - readOnly: true - - schemaName: application_patch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(application_patch_properties_description^string) - cli: - cliKey: description - - propertyName: friendly_name(application_patch_properties_friendly_name^string) - cli: - cliKey: friendlyName - - propertyName: file_path(application_patch_properties_file_path^string) - cli: - cliKey: filePath - - propertyName: command_line_setting(command_line_setting^choice) - cli: - cliKey: commandLineSetting - - propertyName: command_line_arguments(application_patch_properties_command_line_arguments^string) - cli: - cliKey: commandLineArguments - - propertyName: show_in_portal(boolean^boolean) - cli: - cliKey: showInPortal - - propertyName: icon_path(application_patch_properties_icon_path^string) - cli: - cliKey: iconPath - - propertyName: icon_index(integer^integer) - cli: - cliKey: iconIndex - - schemaName: application_list - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationList - properties: - - propertyName: value(application_list_value^array) - cli: - cliKey: value - - propertyName: next_link(application_list_next_link^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: desktop - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Desktop - properties: - - propertyName: description(desktop_properties_description^string) - cli: - cliKey: description - - propertyName: friendly_name(desktop_properties_friendly_name^string) - cli: - cliKey: friendlyName - - propertyName: icon_hash(desktop_properties_icon_hash^string) - cli: - cliKey: iconHash - readOnly: true - - propertyName: icon_content(desktop_properties_icon_content^byte-array) - cli: - cliKey: iconContent - readOnly: true - - schemaName: desktop_patch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(desktop_patch_properties_description^string) - cli: - cliKey: description - - propertyName: friendly_name(desktop_patch_properties_friendly_name^string) - cli: - cliKey: friendlyName - - schemaName: desktop_list - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopList - properties: - - propertyName: value(desktop_list_value^array) - cli: - cliKey: value - - propertyName: next_link(desktop_list_next_link^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: host_pool - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPool - properties: - - propertyName: friendly_name(host_pool_properties_friendly_name^string) - cli: - cliKey: friendlyName - - propertyName: description(host_pool_properties_description^string) - cli: - cliKey: description - - propertyName: host_pool_type(host_pool_type^choice) - cli: - cliKey: hostPoolType - - propertyName: personal_desktop_assignment_type(personal_desktop_assignment_type^choice) - cli: - cliKey: personalDesktopAssignmentType - - propertyName: custom_rdp_property(host_pool_properties_custom_rdp_property^string) - cli: - cliKey: customRdpProperty - - propertyName: max_session_limit(integer^integer) - cli: - cliKey: maxSessionLimit - - propertyName: load_balancer_type(load_balancer_type^choice) - cli: - cliKey: loadBalancerType - - propertyName: ring(integer^integer) - cli: - cliKey: ring - - propertyName: validation_environment(boolean^boolean) - cli: - cliKey: validationEnvironment - - propertyName: registration_info(registration_info^object) - cli: - cliKey: registrationInfo - - propertyName: vm_template(host_pool_properties_vm_template^string) - cli: - cliKey: vmTemplate - - propertyName: application_group_references(host_pool_properties_application_group_references^array) - cli: - cliKey: applicationGroupReferences - readOnly: true - - propertyName: sso_context(host_pool_properties_sso_context^string) - cli: - cliKey: ssoContext - - schemaName: registration_info - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 3 - propertyCountIfSimplifyWithoutSimpleObject: 3 - simplifiable: true - cliKey: RegistrationInfo - properties: - - propertyName: expiration_time(registration_info_expiration_time^date-time) - cli: - cliKey: expirationTime - - propertyName: token(registration_info_token^string) - cli: - cliKey: token - - propertyName: registration_token_operation(registration_token_operation^choice) - cli: - cliKey: registrationTokenOperation - - schemaName: host_pool_patch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: friendly_name(host_pool_patch_properties_friendly_name^string) - cli: - cliKey: friendlyName - - propertyName: description(host_pool_patch_properties_description^string) - cli: - cliKey: description - - propertyName: custom_rdp_property(host_pool_patch_properties_custom_rdp_property^string) - cli: - cliKey: customRdpProperty - - propertyName: max_session_limit(integer^integer) - cli: - cliKey: maxSessionLimit - - propertyName: personal_desktop_assignment_type(personal_desktop_assignment_type^choice) - cli: - cliKey: personalDesktopAssignmentType - - propertyName: load_balancer_type(load_balancer_type^choice) - cli: - cliKey: loadBalancerType - - propertyName: ring(integer^integer) - cli: - cliKey: ring - - propertyName: validation_environment(boolean^boolean) - cli: - cliKey: validationEnvironment - - propertyName: registration_info(registration_info_patch^object) - cli: - cliKey: registrationInfo - - propertyName: sso_context(host_pool_patch_properties_sso_context^string) - cli: - cliKey: ssoContext - - schemaName: registration_info_patch - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 1 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: RegistrationInfoPatch - properties: - - propertyName: registration_token_operation(registration_token_operation^choice) - cli: - cliKey: registrationTokenOperation - - schemaName: host_pool_list - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolList - properties: - - propertyName: value(host_pool_list_value^array) - cli: - cliKey: value - - propertyName: next_link(host_pool_list_next_link^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: user_session_list - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: UserSessionList - properties: - - propertyName: value(user_session_list_value^array) - cli: - cliKey: value - - propertyName: next_link(user_session_list_next_link^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: user_session - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: UserSession - properties: - - propertyName: user_principal_name(user_session_properties_user_principal_name^string) - cli: - cliKey: userPrincipalName - - propertyName: application_type(application_type^choice) - cli: - cliKey: applicationType - - propertyName: session_state(session_state^choice) - cli: - cliKey: sessionState - - propertyName: active_directory_user_name(user_session_properties_active_directory_user_name^string) - cli: - cliKey: activeDirectoryUserName - - propertyName: create_time(user_session_properties_create_time^date-time) - cli: - cliKey: createTime - - schemaName: session_host - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHost - properties: - - propertyName: last_heart_beat(session_host_properties_last_heart_beat^date-time) - cli: - cliKey: lastHeartBeat - - propertyName: sessions(integer^integer) - cli: - cliKey: sessions - - propertyName: agent_version(session_host_properties_agent_version^string) - cli: - cliKey: agentVersion - - propertyName: allow_new_session(boolean^boolean) - cli: - cliKey: allowNewSession - - propertyName: assigned_user(session_host_properties_assigned_user^string) - cli: - cliKey: assignedUser - - propertyName: status(status^choice) - cli: - cliKey: status - - propertyName: status_timestamp(session_host_properties_status_timestamp^date-time) - cli: - cliKey: statusTimestamp - readOnly: true - - propertyName: os_version(session_host_properties_os_version^string) - cli: - cliKey: osVersion - - propertyName: sx_s_stack_version(session_host_properties_sx_s_stack_version^string) - cli: - cliKey: sxSStackVersion - - propertyName: update_state(update_state^choice) - cli: - cliKey: updateState - - propertyName: last_update_time(session_host_properties_last_update_time^date-time) - cli: - cliKey: lastUpdateTime - readOnly: true - - propertyName: update_error_message(session_host_properties_update_error_message^string) - cli: - cliKey: updateErrorMessage - - schemaName: session_host_patch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHostPatch - properties: - - propertyName: allow_new_session(boolean^boolean) - cli: - cliKey: allowNewSession - - propertyName: assigned_user(session_host_patch_properties_assigned_user^string) - cli: - cliKey: assignedUser - - schemaName: session_host_list - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: SessionHostList - properties: - - propertyName: value(session_host_list_value^array) - cli: - cliKey: value - - propertyName: next_link(session_host_list_next_link^string) - cli: - cliKey: nextLink - readOnly: true - - schemaName: send_message - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SendMessage - properties: - - propertyName: message_title(send_message_title^string) - cli: - cliKey: messageTitle - - propertyName: message_body(send_message_body^string) - cli: - cliKey: messageBody - choices: - all: - - choiceName: application_group_type - cli: - cliKey: ApplicationGroupType - choiceValues: - - choiceValue: remote_app - cli: - cliKey: RemoteApp - - choiceValue: desktop - cli: - cliKey: Desktop - - choiceName: command_line_setting - cli: - cliKey: CommandLineSetting - choiceValues: - - choiceValue: do_not_allow - cli: - cliKey: DoNotAllow - - choiceValue: allow - cli: - cliKey: Allow - - choiceValue: require - cli: - cliKey: Require - - choiceName: host_pool_type - cli: - cliKey: HostPoolType - choiceValues: - - choiceValue: personal - cli: - cliKey: Personal - - choiceValue: pooled - cli: - cliKey: Pooled - - choiceName: personal_desktop_assignment_type - cli: - cliKey: PersonalDesktopAssignmentType - choiceValues: - - choiceValue: automatic - cli: - cliKey: Automatic - - choiceValue: direct - cli: - cliKey: Direct - - choiceName: load_balancer_type - cli: - cliKey: LoadBalancerType - choiceValues: - - choiceValue: breadth_first - cli: - cliKey: BreadthFirst - - choiceValue: depth_first - cli: - cliKey: DepthFirst - - choiceValue: persistent - cli: - cliKey: Persistent - - choiceName: registration_token_operation - cli: - cliKey: RegistrationTokenOperation - choiceValues: - - choiceValue: delete - cli: - cliKey: Delete - - choiceValue: none - cli: - cliKey: None - - choiceValue: update - cli: - cliKey: Update - - choiceName: application_type - cli: - cliKey: ApplicationType - choiceValues: - - choiceValue: remote_app - cli: - cliKey: RemoteApp - - choiceValue: desktop - cli: - cliKey: Desktop - - choiceName: session_state - cli: - cliKey: SessionState - choiceValues: - - choiceValue: unknown - cli: - cliKey: Unknown - - choiceValue: active - cli: - cliKey: Active - - choiceValue: disconnected - cli: - cliKey: Disconnected - - choiceValue: pending - cli: - cliKey: Pending - - choiceValue: log_off - cli: - cliKey: LogOff - - choiceValue: user_profile_disk_mounted - cli: - cliKey: UserProfileDiskMounted - - choiceName: status - cli: - cliKey: Status - choiceValues: - - choiceValue: available - cli: - cliKey: Available - - choiceValue: unavailable - cli: - cliKey: Unavailable - - choiceValue: shutdown - cli: - cliKey: Shutdown - - choiceValue: disconnected - cli: - cliKey: Disconnected - - choiceValue: upgrading - cli: - cliKey: Upgrading - - choiceValue: upgrade_failed - cli: - cliKey: UpgradeFailed - - choiceName: update_state - cli: - cliKey: UpdateState - choiceValues: - - choiceValue: initial - cli: - cliKey: Initial - - choiceValue: pending - cli: - cliKey: Pending - - choiceValue: started - cli: - cliKey: Started - - choiceValue: succeeded - cli: - cliKey: Succeeded - - choiceValue: failed - cli: - cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000080-modifier-post.yaml b/src/desktopvirtualization/_az_debug/clicommon-000080-modifier-post.yaml deleted file mode 100644 index 8ed5a7c51e0..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000080-modifier-post.yaml +++ /dev/null @@ -1,10102 +0,0 @@ -info: - title: Desktop Virtualization API Client - extensions: - cli-dump-index: 80 -schemas: - booleans: - - &ref_53 - type: boolean - language: - default: - name: boolean - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - protocol: {} - - &ref_27 - type: boolean - language: - default: - name: boolean - description: Is validation environment. - protocol: {} - - &ref_356 - type: boolean - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: boolean - description: '' - protocol: {} - - &ref_73 - type: boolean - language: - default: - name: boolean - description: Allow a new session. - protocol: {} - numbers: - - &ref_47 - type: integer - precision: 32 - language: - default: - name: integer - description: Index of the icon. - protocol: {} - - &ref_24 - type: integer - precision: 32 - language: - default: - name: integer - description: The max session limit of HostPool. - protocol: {} - - &ref_26 - type: integer - precision: 32 - language: - default: - name: integer - description: The ring number of HostPool. - protocol: {} - - &ref_71 - type: integer - precision: 32 - language: - default: - name: integer - description: Number of sessions on SessionHost. - protocol: {} - strings: - - &ref_0 - type: string - language: - default: - name: string - description: simple string - protocol: {} - - &ref_2 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: resource_provider_operation_name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - protocol: {} - - &ref_3 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: resource_provider_operation_display_provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - protocol: {} - - &ref_4 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: resource_provider_operation_display_resource - description: Resource on which the operation is performed. - protocol: {} - - &ref_5 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: resource_provider_operation_display_operation - description: 'Type of operation: get, read, delete, etc.' - protocol: {} - - &ref_6 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: resource_provider_operation_display_description - description: Description of this operation. - protocol: {} - - &ref_130 - type: string - apiVersions: - - version: '1.0' - minLength: 1 - language: - default: - name: string - description: '' - protocol: {} - - &ref_136 - type: string - apiVersions: - - version: '1.0' - maxLength: 90 - minLength: 1 - pattern: '^[-\w\._\(\)]+$' - language: - default: - name: string - description: '' - protocol: {} - - &ref_137 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 3 - language: - default: - name: string - description: '' - protocol: {} - - &ref_91 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: resource_id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - protocol: {} - - &ref_92 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: resource_name - description: The name of the resource - protocol: {} - - &ref_93 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: resource_type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - protocol: {} - - &ref_1 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: string - description: '' - protocol: {} - - &ref_38 - type: string - apiVersions: - - version: '1.0' - extensions: - x-ms-mutability: - - read - - create - language: - default: - name: tracked_resource_location - description: The geo-location where the resource lives - protocol: {} - - &ref_11 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: workspace_properties_description - description: Description of Workspace. - protocol: {} - - &ref_12 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: workspace_properties_friendly_name - description: Friendly name of Workspace. - protocol: {} - - &ref_13 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: workspace_properties_application_group_references_item - description: '' - protocol: {} - - &ref_94 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: cloud_error_code - description: Error code - protocol: {} - - &ref_95 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: cloud_error_message - description: Error message indicating why the operation failed. - protocol: {} - - &ref_96 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: workspace_patch_properties_description - description: Description of Workspace. - protocol: {} - - &ref_97 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: workspace_patch_properties_friendly_name - description: Friendly name of Workspace. - protocol: {} - - &ref_98 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: workspace_patch_properties_application_group_references_item - description: '' - protocol: {} - - &ref_99 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: workspace_list_next_link - description: Link to the next page of results. - protocol: {} - - &ref_180 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: string - description: '' - protocol: {} - - &ref_14 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_group_properties_description - description: Description of ApplicationGroup. - protocol: {} - - &ref_15 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_group_properties_friendly_name - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_16 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_group_properties_host_pool_arm_path - description: HostPool arm path of ApplicationGroup. - protocol: {} - - &ref_17 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_group_properties_workspace_arm_path - description: Workspace arm path of ApplicationGroup. - protocol: {} - - &ref_100 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_group_list_next_link - description: Link to the next page of results. - protocol: {} - - &ref_40 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_group_patch_properties_description - description: Description of ApplicationGroup. - protocol: {} - - &ref_41 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_group_patch_properties_friendly_name - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_42 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: start_menu_item_properties_app_alias - description: Alias of StartMenuItem. - protocol: {} - - &ref_43 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: start_menu_item_properties_friendly_name - description: Friendly name of StartMenuItem. - protocol: {} - - &ref_44 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: start_menu_item_properties_file_path - description: Path to the file of StartMenuItem. - protocol: {} - - &ref_45 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: start_menu_item_properties_command_line_arguments - description: Command line arguments for StartMenuItem. - protocol: {} - - &ref_46 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: start_menu_item_properties_icon_path - description: Path to the icon. - protocol: {} - - &ref_101 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: start_menu_item_list_next_link - description: Link to the next page of results. - protocol: {} - - &ref_48 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_properties_description - description: Description of Application. - protocol: {} - - &ref_49 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_properties_friendly_name - description: Friendly name of Application. - protocol: {} - - &ref_50 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_properties_file_path - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_52 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_properties_command_line_arguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_54 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_properties_icon_path - description: Path to icon. - protocol: {} - - &ref_55 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_properties_icon_hash - description: Hash of the icon. - protocol: {} - - &ref_102 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_patch_properties_description - description: Description of Application. - protocol: {} - - &ref_103 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_patch_properties_friendly_name - description: Friendly name of Application. - protocol: {} - - &ref_104 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_patch_properties_file_path - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_105 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_patch_properties_command_line_arguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_106 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_patch_properties_icon_path - description: Path to icon. - protocol: {} - - &ref_107 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_list_next_link - description: Link to the next page of results. - protocol: {} - - &ref_57 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: desktop_properties_description - description: Description of Desktop. - protocol: {} - - &ref_58 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: desktop_properties_friendly_name - description: Friendly name of Desktop. - protocol: {} - - &ref_59 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: desktop_properties_icon_hash - description: Hash of the icon. - protocol: {} - - &ref_108 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: desktop_patch_properties_description - description: Description of Desktop. - protocol: {} - - &ref_109 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: desktop_patch_properties_friendly_name - description: Friendly name of Desktop. - protocol: {} - - &ref_110 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: desktop_list_next_link - description: Link to the next page of results. - protocol: {} - - &ref_19 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_properties_friendly_name - description: Friendly name of HostPool. - protocol: {} - - &ref_20 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_properties_description - description: Description of HostPool. - protocol: {} - - &ref_23 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_properties_custom_rdp_property - description: Custom rdp property of HostPool. - protocol: {} - - &ref_29 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: registration_info_token - description: The registration token base64 encoded string. - protocol: {} - - &ref_31 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_properties_vm_template - description: VM template for sessionhosts configuration within hostpool. - protocol: {} - - &ref_32 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_properties_application_group_references_item - description: '' - protocol: {} - - &ref_33 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_properties_sso_context - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_61 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_patch_properties_friendly_name - description: Friendly name of HostPool. - protocol: {} - - &ref_62 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_patch_properties_description - description: Description of HostPool. - protocol: {} - - &ref_63 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_patch_properties_custom_rdp_property - description: Custom rdp property of HostPool. - protocol: {} - - &ref_64 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_patch_properties_sso_context - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_113 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: host_pool_list_next_link - description: Link to the next page of results. - protocol: {} - - &ref_65 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: user_session_properties_user_principal_name - description: The user principal name. - protocol: {} - - &ref_68 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: user_session_properties_active_directory_user_name - description: The active directory user name. - protocol: {} - - &ref_114 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: user_session_list_next_link - description: Link to the next page of results. - protocol: {} - - &ref_402 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 48 - minLength: 3 - language: - default: - name: string - description: '' - protocol: {} - - &ref_72 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_agent_version - description: Version of agent on SessionHost. - protocol: {} - - &ref_74 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_assigned_user - description: User assigned to SessionHost. - protocol: {} - - &ref_77 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_os_version - description: The version of the OS on the session host. - protocol: {} - - &ref_78 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_sx_s_stack_version - description: The version of the side by side stack on the session host. - protocol: {} - - &ref_81 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_update_error_message - description: The error message. - protocol: {} - - &ref_82 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_patch_properties_assigned_user - description: User assigned to SessionHost. - protocol: {} - - &ref_115 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_list_next_link - description: Link to the next page of results. - protocol: {} - - &ref_403 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 1 - language: - default: - name: string - description: '' - protocol: {} - - &ref_116 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: send_message_title - description: Title of message. - protocol: {} - - &ref_117 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: send_message_body - description: Body of message. - protocol: {} - choices: - - &ref_18 - choices: - - value: RemoteApp - language: - default: - name: remote_app - description: '' - cli: - cliKey: RemoteApp - - value: Desktop - language: - default: - name: desktop - description: '' - cli: - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: application_group_type - description: Resource Type of ApplicationGroup. - cli: - cliKey: ApplicationGroupType - protocol: {} - - &ref_51 - choices: - - value: DoNotAllow - language: - default: - name: do_not_allow - description: '' - cli: - cliKey: DoNotAllow - - value: Allow - language: - default: - name: allow - description: '' - cli: - cliKey: Allow - - value: Require - language: - default: - name: require - description: '' - cli: - cliKey: Require - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - cliKey: CommandLineSetting - protocol: {} - - &ref_21 - choices: - - value: Personal - language: - default: - name: personal - description: '' - cli: - cliKey: Personal - - value: Pooled - language: - default: - name: pooled - description: '' - cli: - cliKey: Pooled - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: host_pool_type - description: HostPool type for desktop. - cli: - cliKey: HostPoolType - protocol: {} - - &ref_22 - choices: - - value: Automatic - language: - default: - name: automatic - description: '' - cli: - cliKey: Automatic - - value: Direct - language: - default: - name: direct - description: '' - cli: - cliKey: Direct - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: - cliKey: PersonalDesktopAssignmentType - protocol: {} - - &ref_25 - choices: - - value: BreadthFirst - language: - default: - name: breadth_first - description: '' - cli: - cliKey: BreadthFirst - - value: DepthFirst - language: - default: - name: depth_first - description: '' - cli: - cliKey: DepthFirst - - value: Persistent - language: - default: - name: persistent - description: '' - cli: - cliKey: Persistent - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: - cliKey: LoadBalancerType - protocol: {} - - &ref_30 - choices: - - value: Delete - language: - default: - name: delete - description: '' - cli: - cliKey: Delete - - value: None - language: - default: - name: none - description: '' - cli: - cliKey: None - - value: Update - language: - default: - name: update - description: '' - cli: - cliKey: Update - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: registration_token_operation - description: The type of resetting the token. - cli: - cliKey: RegistrationTokenOperation - protocol: {} - - &ref_66 - choices: - - value: RemoteApp - language: - default: - name: remote_app - description: '' - cli: - cliKey: RemoteApp - - value: Desktop - language: - default: - name: desktop - description: '' - cli: - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: application_type - description: Application type of application. - cli: - cliKey: ApplicationType - protocol: {} - - &ref_67 - choices: - - value: Unknown - language: - default: - name: unknown - description: '' - cli: - cliKey: Unknown - - value: Active - language: - default: - name: active - description: '' - cli: - cliKey: Active - - value: Disconnected - language: - default: - name: disconnected - description: '' - cli: - cliKey: Disconnected - - value: Pending - language: - default: - name: pending - description: '' - cli: - cliKey: Pending - - value: LogOff - language: - default: - name: log_off - description: '' - cli: - cliKey: LogOff - - value: UserProfileDiskMounted - language: - default: - name: user_profile_disk_mounted - description: '' - cli: - cliKey: UserProfileDiskMounted - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: session_state - description: State of user session. - cli: - cliKey: SessionState - protocol: {} - - &ref_75 - choices: - - value: Available - language: - default: - name: available - description: '' - cli: - cliKey: Available - - value: Unavailable - language: - default: - name: unavailable - description: '' - cli: - cliKey: Unavailable - - value: Shutdown - language: - default: - name: shutdown - description: '' - cli: - cliKey: Shutdown - - value: Disconnected - language: - default: - name: disconnected - description: '' - cli: - cliKey: Disconnected - - value: Upgrading - language: - default: - name: upgrading - description: '' - cli: - cliKey: Upgrading - - value: UpgradeFailed - language: - default: - name: upgrade_failed - description: '' - cli: - cliKey: UpgradeFailed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: status - description: Status for a SessionHost. - cli: - cliKey: Status - protocol: {} - - &ref_79 - choices: - - value: Initial - language: - default: - name: initial - description: '' - cli: - cliKey: Initial - - value: Pending - language: - default: - name: pending - description: '' - cli: - cliKey: Pending - - value: Started - language: - default: - name: started - description: '' - cli: - cliKey: Started - - value: Succeeded - language: - default: - name: succeeded - description: '' - cli: - cliKey: Succeeded - - value: Failed - language: - default: - name: failed - description: '' - cli: - cliKey: Failed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: update_state - description: Update state of a SessionHost. - cli: - cliKey: UpdateState - protocol: {} - constants: - - &ref_131 - type: constant - value: - value: 2019-12-10-preview - valueType: *ref_0 - language: - default: - name: api_version2019_12_10_preview - description: Api Version (2019-12-10-preview) - protocol: {} - - &ref_141 - type: constant - value: - value: application/json - valueType: *ref_0 - language: - default: - name: application_json - description: Content Type 'application/json' - protocol: {} - dictionaries: - - &ref_37 - type: dictionary - elementType: *ref_1 - language: - default: - name: tracked_resource_tags - description: Resource tags. - cli: - cli-complexity: dictionary_simple - cli-mark: checked - protocol: {} - any: - - &ref_39 - type: any - language: - default: - name: any - description: Any object - protocol: {} - byteArrays: - - &ref_56 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_properties_icon_content - description: the icon a 64 bit string as a byte array. - protocol: {} - - &ref_60 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: desktop_properties_icon_content - description: The icon a 64 bit string as a byte array. - protocol: {} - dateTimes: - - &ref_28 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: registration_info_expiration_time - description: Expiration time of registration token. - protocol: {} - - &ref_69 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: user_session_properties_create_time - description: The timestamp of the user session create. - protocol: {} - - &ref_70 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_last_heart_beat - description: Last heart beat from SessionHost. - protocol: {} - - &ref_76 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_status_timestamp - description: The timestamp of the status. - protocol: {} - - &ref_80 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_last_update_time - description: The timestamp of the last update. - protocol: {} - objects: - - &ref_134 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_118 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: &ref_7 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_2 - serializedName: name - language: - default: - name: name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cli: - cliKey: name - protocol: {} - - schema: &ref_8 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_3 - serializedName: provider - language: - default: - name: provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cli: - cliKey: provider - protocol: {} - - schema: *ref_4 - serializedName: resource - language: - default: - name: resource - description: Resource on which the operation is performed. - cli: - cliKey: resource - protocol: {} - - schema: *ref_5 - serializedName: operation - language: - default: - name: operation - description: 'Type of operation: get, read, delete, etc.' - cli: - cliKey: operation - protocol: {} - - schema: *ref_6 - serializedName: description - language: - default: - name: description - description: Description of this operation. - cli: - cliKey: description - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: resource_provider_operation_display - description: Display metadata associated with the operation. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ResourceProviderOperation-display - protocol: {} - serializedName: display - language: - default: - name: display - description: Display metadata associated with the operation. - cli: - cliKey: display - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: resource_provider_operation - description: Supported operation of this resource provider. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ResourceProviderOperation - protocol: {} - language: - default: - name: resource_provider_operation_list_value - description: List of operations supported by this resource provider. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of operations supported by this resource provider. - cli: - cliKey: value - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: resource_provider_operation_list - description: Result of the request to list operations. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ResourceProviderOperationList - protocol: {} - - *ref_7 - - *ref_8 - - &ref_10 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_9 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_34 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_147 - schema: *ref_11 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: &ref_148 - cliKey: description - protocol: {} - - &ref_149 - schema: *ref_12 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: &ref_150 - cliKey: friendlyName - protocol: {} - - &ref_151 - schema: &ref_119 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_13 - language: - default: - name: workspace_properties_application_group_references - description: List of applicationGroup resource Ids. - cli: - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup resource Ids. - cli: &ref_152 - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: workspace - description: Represents a Workspace definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: Workspace - protocol: {} - - &ref_35 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_188 - schema: *ref_14 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: &ref_189 - cliKey: description - protocol: {} - - &ref_190 - schema: *ref_15 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: &ref_191 - cliKey: friendlyName - protocol: {} - - &ref_192 - schema: *ref_16 - flattenedNames: - - properties - - hostPoolArmPath - required: true - serializedName: hostPoolArmPath - language: - default: - name: host_pool_arm_path - description: HostPool arm path of ApplicationGroup. - cli: &ref_193 - cliKey: hostPoolArmPath - protocol: {} - - schema: *ref_17 - flattenedNames: - - properties - - workspaceArmPath - readOnly: true - required: false - serializedName: workspaceArmPath - language: - default: - name: workspace_arm_path - description: Workspace arm path of ApplicationGroup. - cli: - cliKey: workspaceArmPath - protocol: {} - - &ref_194 - schema: *ref_18 - flattenedNames: - - properties - - applicationGroupType - required: true - serializedName: applicationGroupType - language: - default: - name: application_group_type - description: Resource Type of ApplicationGroup. - cli: &ref_195 - cliKey: applicationGroupType - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: application_group - description: Represents a ApplicationGroup definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroup - protocol: {} - - &ref_36 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_316 - schema: *ref_19 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: &ref_317 - cliKey: friendlyName - protocol: {} - - &ref_318 - schema: *ref_20 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: &ref_319 - cliKey: description - protocol: {} - - &ref_320 - schema: *ref_21 - flattenedNames: - - properties - - hostPoolType - required: true - serializedName: hostPoolType - language: - default: - name: host_pool_type - description: HostPool type for desktop. - cli: &ref_321 - cliKey: hostPoolType - protocol: {} - - &ref_322 - schema: *ref_22 - flattenedNames: - - properties - - personalDesktopAssignmentType - required: true - serializedName: personalDesktopAssignmentType - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: &ref_323 - cliKey: personalDesktopAssignmentType - protocol: {} - - &ref_324 - schema: *ref_23 - flattenedNames: - - properties - - customRdpProperty - required: false - serializedName: customRdpProperty - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: &ref_325 - cliKey: customRdpProperty - protocol: {} - - &ref_326 - schema: *ref_24 - flattenedNames: - - properties - - maxSessionLimit - required: false - serializedName: maxSessionLimit - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: &ref_327 - cliKey: maxSessionLimit - protocol: {} - - &ref_328 - schema: *ref_25 - flattenedNames: - - properties - - loadBalancerType - required: true - serializedName: loadBalancerType - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: &ref_329 - cliKey: loadBalancerType - protocol: {} - - &ref_330 - schema: *ref_26 - flattenedNames: - - properties - - ring - required: false - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: &ref_331 - cliKey: ring - protocol: {} - - &ref_332 - schema: *ref_27 - flattenedNames: - - properties - - validationEnvironment - required: false - serializedName: validationEnvironment - language: - default: - name: validation_environment - description: Is validation environment. - cli: &ref_333 - cliKey: validationEnvironment - protocol: {} - - &ref_334 - schema: &ref_111 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_28 - serializedName: expirationTime - language: - default: - name: expiration_time - description: Expiration time of registration token. - cli: - cliKey: expirationTime - protocol: {} - - schema: *ref_29 - serializedName: token - language: - default: - name: token - description: The registration token base64 encoded string. - cli: - cliKey: token - protocol: {} - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registration_token_operation - description: The type of resetting the token. - cli: - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: registration_info - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 3 - propertyCountIfSimplifyWithoutSimpleObject: 3 - simplifiable: true - cliKey: RegistrationInfo - protocol: {} - flattenedNames: - - properties - - registrationInfo - required: false - serializedName: registrationInfo - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: &ref_335 - cliKey: registrationInfo - protocol: {} - - &ref_336 - schema: *ref_31 - flattenedNames: - - properties - - vmTemplate - required: false - serializedName: vmTemplate - language: - default: - name: vm_template - description: VM template for sessionhosts configuration within hostpool. - cli: &ref_337 - cliKey: vmTemplate - protocol: {} - - schema: &ref_126 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_32 - language: - default: - name: host_pool_properties_application_group_references - description: List of applicationGroup links. - cli: - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - readOnly: true - required: false - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: - cliKey: applicationGroupReferences - protocol: {} - - &ref_338 - schema: *ref_33 - flattenedNames: - - properties - - ssoContext - required: false - serializedName: ssoContext - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: &ref_339 - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: host_pool - description: Represents a HostPool definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPool - protocol: {} - immediate: - - *ref_34 - - *ref_35 - - *ref_36 - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_143 - schema: *ref_37 - required: false - serializedName: tags - language: - default: - name: tags - description: Resource tags. - cli: &ref_144 - cliKey: tags - protocol: {} - - &ref_145 - schema: *ref_38 - required: true - serializedName: location - language: - default: - name: location - description: The geo-location where the resource lives - cli: &ref_146 - cliKey: location - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: tracked_resource - description: The resource model definition for a ARM tracked top level resource - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: TrackedResource - protocol: {} - - *ref_34 - - *ref_35 - - &ref_83 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_207 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_208 - cliKey: tags - protocol: {} - - &ref_209 - schema: *ref_40 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: &ref_210 - cliKey: description - protocol: {} - - &ref_211 - schema: *ref_41 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: &ref_212 - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: application_group_patch - description: ApplicationGroup properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupPatch - protocol: {} - - &ref_84 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_42 - flattenedNames: - - properties - - appAlias - serializedName: appAlias - language: - default: - name: app_alias - description: Alias of StartMenuItem. - cli: - cliKey: appAlias - protocol: {} - - schema: *ref_43 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of StartMenuItem. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_44 - flattenedNames: - - properties - - filePath - serializedName: filePath - language: - default: - name: file_path - description: Path to the file of StartMenuItem. - cli: - cliKey: filePath - protocol: {} - - schema: *ref_45 - flattenedNames: - - properties - - commandLineArguments - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command line arguments for StartMenuItem. - cli: - cliKey: commandLineArguments - protocol: {} - - schema: *ref_46 - flattenedNames: - - properties - - iconPath - serializedName: iconPath - language: - default: - name: icon_path - description: Path to the icon. - cli: - cliKey: iconPath - protocol: {} - - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: start_menu_item - description: Represents a StartMenuItem definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: StartMenuItem - protocol: {} - - &ref_85 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_228 - schema: *ref_48 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: &ref_229 - cliKey: description - protocol: {} - - &ref_230 - schema: *ref_49 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: &ref_231 - cliKey: friendlyName - protocol: {} - - &ref_232 - schema: *ref_50 - flattenedNames: - - properties - - filePath - required: false - serializedName: filePath - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: &ref_233 - cliKey: filePath - protocol: {} - - &ref_234 - schema: *ref_51 - flattenedNames: - - properties - - commandLineSetting - required: true - serializedName: commandLineSetting - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: &ref_235 - cliKey: commandLineSetting - protocol: {} - - &ref_236 - schema: *ref_52 - flattenedNames: - - properties - - commandLineArguments - required: false - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: &ref_237 - cliKey: commandLineArguments - protocol: {} - - &ref_238 - schema: *ref_53 - flattenedNames: - - properties - - showInPortal - required: false - serializedName: showInPortal - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: &ref_239 - cliKey: showInPortal - protocol: {} - - &ref_240 - schema: *ref_54 - flattenedNames: - - properties - - iconPath - required: false - serializedName: iconPath - language: - default: - name: icon_path - description: Path to icon. - cli: &ref_241 - cliKey: iconPath - protocol: {} - - &ref_242 - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - required: false - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: &ref_243 - cliKey: iconIndex - protocol: {} - - schema: *ref_55 - flattenedNames: - - properties - - iconHash - readOnly: true - required: false - serializedName: iconHash - language: - default: - name: icon_hash - description: Hash of the icon. - cli: - cliKey: iconHash - protocol: {} - - schema: *ref_56 - flattenedNames: - - properties - - iconContent - readOnly: true - required: false - serializedName: iconContent - language: - default: - name: icon_content - description: the icon a 64 bit string as a byte array. - cli: - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: application - description: Schema for Application properties. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Application - protocol: {} - - &ref_86 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_57 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: - cliKey: description - protocol: {} - - schema: *ref_58 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: - cliKey: friendlyName - protocol: {} - - schema: *ref_59 - flattenedNames: - - properties - - iconHash - readOnly: true - serializedName: iconHash - language: - default: - name: icon_hash - description: Hash of the icon. - cli: - cliKey: iconHash - protocol: {} - - schema: *ref_60 - flattenedNames: - - properties - - iconContent - readOnly: true - serializedName: iconContent - language: - default: - name: icon_content - description: The icon a 64 bit string as a byte array. - cli: - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: desktop - description: Schema for Desktop properties. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Desktop - protocol: {} - - *ref_36 - - &ref_87 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_361 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_362 - cliKey: tags - protocol: {} - - &ref_363 - schema: *ref_61 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: &ref_364 - cliKey: friendlyName - protocol: {} - - &ref_365 - schema: *ref_62 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: &ref_366 - cliKey: description - protocol: {} - - &ref_367 - schema: *ref_63 - flattenedNames: - - properties - - customRdpProperty - serializedName: customRdpProperty - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: &ref_368 - cliKey: customRdpProperty - protocol: {} - - &ref_369 - schema: *ref_24 - flattenedNames: - - properties - - maxSessionLimit - serializedName: maxSessionLimit - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: &ref_370 - cliKey: maxSessionLimit - protocol: {} - - &ref_371 - schema: *ref_22 - flattenedNames: - - properties - - personalDesktopAssignmentType - serializedName: personalDesktopAssignmentType - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: &ref_372 - cliKey: personalDesktopAssignmentType - protocol: {} - - &ref_373 - schema: *ref_25 - flattenedNames: - - properties - - loadBalancerType - serializedName: loadBalancerType - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: &ref_374 - cliKey: loadBalancerType - protocol: {} - - &ref_375 - schema: *ref_26 - flattenedNames: - - properties - - ring - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: &ref_376 - cliKey: ring - protocol: {} - - &ref_377 - schema: *ref_27 - flattenedNames: - - properties - - validationEnvironment - serializedName: validationEnvironment - language: - default: - name: validation_environment - description: Is validation environment. - cli: &ref_378 - cliKey: validationEnvironment - protocol: {} - - &ref_379 - schema: &ref_112 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registration_token_operation - description: The type of resetting the token. - cli: - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: registration_info_patch - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 1 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: RegistrationInfoPatch - protocol: {} - flattenedNames: - - properties - - registrationInfo - serializedName: registrationInfo - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: &ref_380 - cliKey: registrationInfo - protocol: {} - - &ref_381 - schema: *ref_64 - flattenedNames: - - properties - - ssoContext - serializedName: ssoContext - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: &ref_382 - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: host_pool_patch - description: HostPool properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolPatch - protocol: {} - - &ref_88 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_65 - flattenedNames: - - properties - - userPrincipalName - serializedName: userPrincipalName - language: - default: - name: user_principal_name - description: The user principal name. - cli: - cliKey: userPrincipalName - protocol: {} - - schema: *ref_66 - flattenedNames: - - properties - - applicationType - serializedName: applicationType - language: - default: - name: application_type - description: Application type of application. - cli: - cliKey: applicationType - protocol: {} - - schema: *ref_67 - flattenedNames: - - properties - - sessionState - serializedName: sessionState - language: - default: - name: session_state - description: State of user session. - cli: - cliKey: sessionState - protocol: {} - - schema: *ref_68 - flattenedNames: - - properties - - activeDirectoryUserName - serializedName: activeDirectoryUserName - language: - default: - name: active_directory_user_name - description: The active directory user name. - cli: - cliKey: activeDirectoryUserName - protocol: {} - - schema: *ref_69 - flattenedNames: - - properties - - createTime - serializedName: createTime - language: - default: - name: create_time - description: The timestamp of the user session create. - cli: - cliKey: createTime - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: user_session - description: Represents a UserSession definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: UserSession - protocol: {} - - &ref_89 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_70 - flattenedNames: - - properties - - lastHeartBeat - serializedName: lastHeartBeat - language: - default: - name: last_heart_beat - description: Last heart beat from SessionHost. - cli: - cliKey: lastHeartBeat - protocol: {} - - schema: *ref_71 - flattenedNames: - - properties - - sessions - serializedName: sessions - language: - default: - name: sessions - description: Number of sessions on SessionHost. - cli: - cliKey: sessions - protocol: {} - - schema: *ref_72 - flattenedNames: - - properties - - agentVersion - serializedName: agentVersion - language: - default: - name: agent_version - description: Version of agent on SessionHost. - cli: - cliKey: agentVersion - protocol: {} - - schema: *ref_73 - flattenedNames: - - properties - - allowNewSession - serializedName: allowNewSession - language: - default: - name: allow_new_session - description: Allow a new session. - cli: - cliKey: allowNewSession - protocol: {} - - schema: *ref_74 - flattenedNames: - - properties - - assignedUser - serializedName: assignedUser - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: - cliKey: assignedUser - protocol: {} - - schema: *ref_75 - flattenedNames: - - properties - - status - serializedName: status - language: - default: - name: status - description: Status for a SessionHost. - cli: - cliKey: status - protocol: {} - - schema: *ref_76 - flattenedNames: - - properties - - statusTimestamp - readOnly: true - serializedName: statusTimestamp - language: - default: - name: status_timestamp - description: The timestamp of the status. - cli: - cliKey: statusTimestamp - protocol: {} - - schema: *ref_77 - flattenedNames: - - properties - - osVersion - serializedName: osVersion - language: - default: - name: os_version - description: The version of the OS on the session host. - cli: - cliKey: osVersion - protocol: {} - - schema: *ref_78 - flattenedNames: - - properties - - sxSStackVersion - serializedName: sxSStackVersion - language: - default: - name: sx_s_stack_version - description: The version of the side by side stack on the session host. - cli: - cliKey: sxSStackVersion - protocol: {} - - schema: *ref_79 - flattenedNames: - - properties - - updateState - serializedName: updateState - language: - default: - name: update_state - description: Update state of a SessionHost. - cli: - cliKey: updateState - protocol: {} - - schema: *ref_80 - flattenedNames: - - properties - - lastUpdateTime - readOnly: true - serializedName: lastUpdateTime - language: - default: - name: last_update_time - description: The timestamp of the last update. - cli: - cliKey: lastUpdateTime - protocol: {} - - schema: *ref_81 - flattenedNames: - - properties - - updateErrorMessage - serializedName: updateErrorMessage - language: - default: - name: update_error_message - description: The error message. - cli: - cliKey: updateErrorMessage - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: session_host - description: Represents a SessionHost definition. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHost - protocol: {} - - &ref_90 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_440 - schema: *ref_73 - flattenedNames: - - properties - - allowNewSession - serializedName: allowNewSession - language: - default: - name: allow_new_session - description: Allow a new session. - cli: &ref_441 - cliKey: allowNewSession - protocol: {} - - &ref_442 - schema: *ref_82 - flattenedNames: - - properties - - assignedUser - serializedName: assignedUser - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: &ref_443 - cliKey: assignedUser - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: session_host_patch - description: SessionHost properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHostPatch - protocol: {} - immediate: - - *ref_9 - - *ref_83 - - *ref_84 - - *ref_85 - - *ref_86 - - *ref_87 - - *ref_88 - - *ref_89 - - *ref_90 - properties: - - schema: *ref_91 - readOnly: true - serializedName: id - language: - default: - name: id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cli: - cliKey: id - protocol: {} - - schema: *ref_92 - readOnly: true - serializedName: name - language: - default: - name: name - description: The name of the resource - cli: - cliKey: name - protocol: {} - - schema: *ref_93 - readOnly: true - serializedName: type - language: - default: - name: type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cli: - cliKey: type - protocol: {} - serializationFormats: - - json - usage: - - output - - input - extensions: - x-ms-azure-resource: true - language: - default: - name: resource - description: '' - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 0 - propertyCountIfSimplifyWithoutSimpleObject: 0 - simplifiable: true - cliKey: Resource - protocol: {} - - *ref_9 - - *ref_34 - - &ref_140 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_94 - serializedName: code - language: - default: - name: code - description: Error code - cli: - cliKey: code - protocol: {} - - schema: *ref_95 - serializedName: message - language: - default: - name: message - description: Error message indicating why the operation failed. - cli: - cliKey: message - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: cloud_error - description: Error response of an operation failure - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: CloudError - protocol: {} - - &ref_162 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_164 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_165 - cliKey: tags - protocol: {} - - &ref_166 - schema: *ref_96 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: &ref_167 - cliKey: description - protocol: {} - - &ref_168 - schema: *ref_97 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: &ref_169 - cliKey: friendlyName - protocol: {} - - &ref_170 - schema: &ref_120 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_98 - language: - default: - name: workspace_patch_properties_application_group_references - description: List of applicationGroup links. - cli: - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: &ref_171 - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: workspace_patch - description: Workspace properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatch - protocol: {} - - &ref_179 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_121 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_34 - language: - default: - name: workspace_list_value - description: List of Workspace definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Workspace definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_99 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: WorkspaceList - usage: - - output - language: - default: - name: workspace_list - description: List of Workspace definitions. - namespace: '' - summary: WorkspaceList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceList - protocol: {} - - &ref_184 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_122 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_35 - language: - default: - name: application_group_list_value - description: List of ApplicationGroup definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of ApplicationGroup definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_100 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationGroupList - usage: - - output - language: - default: - name: application_group_list - description: List of ApplicationGroup definitions. - namespace: '' - summary: ApplicationGroupList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupList - protocol: {} - - *ref_35 - - *ref_83 - - &ref_223 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_123 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_84 - language: - default: - name: start_menu_item_list_value - description: List of StartMenuItem definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of StartMenuItem definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_101 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: StartMenuItemList - usage: - - output - language: - default: - name: start_menu_item_list - description: List of StartMenuItem definitions. - namespace: '' - summary: StartMenuItemList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: StartMenuItemList - protocol: {} - - *ref_84 - - *ref_85 - - &ref_258 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_260 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_261 - cliKey: tags - protocol: {} - - &ref_262 - schema: *ref_102 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: &ref_263 - cliKey: description - protocol: {} - - &ref_264 - schema: *ref_103 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: &ref_265 - cliKey: friendlyName - protocol: {} - - &ref_266 - schema: *ref_104 - flattenedNames: - - properties - - filePath - serializedName: filePath - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: &ref_267 - cliKey: filePath - protocol: {} - - &ref_268 - schema: *ref_51 - flattenedNames: - - properties - - commandLineSetting - serializedName: commandLineSetting - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: &ref_269 - cliKey: commandLineSetting - protocol: {} - - &ref_270 - schema: *ref_105 - flattenedNames: - - properties - - commandLineArguments - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: &ref_271 - cliKey: commandLineArguments - protocol: {} - - &ref_272 - schema: *ref_53 - flattenedNames: - - properties - - showInPortal - serializedName: showInPortal - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: &ref_273 - cliKey: showInPortal - protocol: {} - - &ref_274 - schema: *ref_106 - flattenedNames: - - properties - - iconPath - serializedName: iconPath - language: - default: - name: icon_path - description: Path to icon. - cli: &ref_275 - cliKey: iconPath - protocol: {} - - &ref_276 - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: &ref_277 - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: application_patch - description: Application properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationPatch - protocol: {} - - &ref_292 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_124 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_85 - language: - default: - name: application_list_value - description: List of Application definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Application definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_107 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationList - usage: - - output - language: - default: - name: application_list - description: List of Application definitions. - namespace: '' - summary: ApplicationList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationList - protocol: {} - - *ref_86 - - &ref_296 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_298 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_299 - cliKey: tags - protocol: {} - - &ref_300 - schema: *ref_108 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: &ref_301 - cliKey: description - protocol: {} - - &ref_302 - schema: *ref_109 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: &ref_303 - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: desktop_patch - description: Desktop properties that can be patched. - namespace: '' - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopPatch - protocol: {} - - &ref_312 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_125 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_86 - language: - default: - name: desktop_list_value - description: List of Desktop definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Desktop definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_110 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: DesktopList - usage: - - output - language: - default: - name: desktop_list - description: List of Desktop definitions. - namespace: '' - summary: DesktopList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopList - protocol: {} - - *ref_36 - - *ref_111 - - *ref_87 - - *ref_112 - - &ref_397 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_127 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_36 - language: - default: - name: host_pool_list_value - description: List of HostPool definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of HostPool definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_113 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: HostPoolList - usage: - - output - language: - default: - name: host_pool_list - description: List of HostPool definitions. - namespace: '' - summary: HostPoolList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolList - protocol: {} - - &ref_401 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_128 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_88 - language: - default: - name: user_session_list_value - description: List of UserSession definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of UserSession definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_114 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: UserSessionList - usage: - - output - language: - default: - name: user_session_list - description: List of UserSession definitions. - namespace: '' - summary: UserSessionList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: UserSessionList - protocol: {} - - *ref_88 - - *ref_89 - - *ref_90 - - &ref_451 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_129 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_89 - language: - default: - name: session_host_list_value - description: List of SessionHost definitions. - cli: - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of SessionHost definitions. - cli: - cliKey: value - protocol: {} - - schema: *ref_115 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: SessionHostList - usage: - - output - language: - default: - name: session_host_list - description: List of SessionHost definitions. - namespace: '' - summary: SessionHostList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: SessionHostList - protocol: {} - - &ref_420 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_422 - schema: *ref_116 - serializedName: messageTitle - language: - default: - name: message_title - description: Title of message. - cli: &ref_423 - cliKey: messageTitle - protocol: {} - - &ref_424 - schema: *ref_117 - serializedName: messageBody - language: - default: - name: message_body - description: Body of message. - cli: &ref_425 - cliKey: messageBody - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: send_message - description: Represents message sent to a UserSession. - namespace: '' - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SendMessage - protocol: {} - arrays: - - *ref_118 - - *ref_119 - - *ref_120 - - *ref_121 - - *ref_122 - - *ref_123 - - *ref_124 - - *ref_125 - - *ref_126 - - *ref_127 - - *ref_128 - - *ref_129 -globalParameters: - - &ref_135 - schema: *ref_130 - implementation: Client - required: true - extensions: - x-ms-priority: 0 - language: - default: - name: subscription_id - description: The ID of the target subscription. - serializedName: subscriptionId - cli: - cliKey: subscriptionId - protocol: - http: - in: path - - &ref_132 - schema: *ref_0 - clientDefaultValue: 'https://management.azure.com' - implementation: Client - origin: 'modelerfour:synthesized/host' - required: true - extensions: - x-ms-skip-url-encoding: true - language: - default: - name: $host - description: server parameter - serializedName: $host - cli: - cliKey: $host - protocol: - http: - in: uri - - &ref_133 - schema: *ref_131 - implementation: Client - origin: 'modelerfour:synthesized/api-version' - required: true - language: - default: - name: api_version - description: Api Version - serializedName: api-version - cli: - cliKey: ApiVersion - protocol: - http: - in: query -operationGroups: - - $key: Operations - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: /providers/Microsoft.DesktopVirtualization/operations - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_134 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - extensions: - x-ms-examples: - OperationDescription_List: - parameters: - api-version: 2019-12-10-preview - responses: - '200': - body: - value: - - name: Microsoft.DesktopVirtualization/ssocontext/read - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - - name: Microsoft.DesktopVirtualization/ssocontext/write - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - language: - default: - name: list - description: List all of the available operations the Desktop Virtualization resource provider supports. - cli: - cliKey: List - hidden: true - protocol: {} - language: - default: - name: operations - description: '' - cli: - cliKey: Operations - protocol: {} - - $key: Workspaces - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_138 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_139 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_138 - - *ref_139 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Get: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get a workspace. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_158 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_159 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_142 - schema: *ref_34 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _workspace - description: Object containing Workspace definitions. - cli: - cliKey: workspace - protocol: - http: - in: body - style: json - - &ref_153 - schema: *ref_37 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_154 - schema: *ref_38 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_155 - schema: *ref_11 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_147 - language: - default: - name: description - description: Description of Workspace. - cli: *ref_148 - protocol: {} - - &ref_156 - schema: *ref_12 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_149 - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: *ref_150 - protocol: {} - - &ref_157 - schema: *ref_119 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_151 - language: - default: - name: application_group_references - description: List of applicationGroup resource Ids. - cli: *ref_152 - protocol: {} - signatureParameters: - - *ref_153 - - *ref_154 - - *ref_155 - - *ref_156 - - *ref_157 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_158 - - *ref_159 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Create: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '201': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update a workspace. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_160 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_161 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_160 - - *ref_161 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Delete: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove a workspace. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_176 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_177 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_163 - schema: *ref_162 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _workspace - description: Object containing Workspace definitions. - cli: - cliKey: workspace - protocol: - http: - in: body - style: json - - &ref_172 - schema: *ref_39 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_164 - language: - default: - name: tags - description: tags to be updated - cli: *ref_165 - protocol: {} - - &ref_173 - schema: *ref_96 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_166 - language: - default: - name: description - description: Description of Workspace. - cli: *ref_167 - protocol: {} - - &ref_174 - schema: *ref_97 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_168 - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: *ref_169 - protocol: {} - - &ref_175 - schema: *ref_120 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_170 - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: *ref_171 - protocol: {} - signatureParameters: - - *ref_172 - - *ref_173 - - *ref_174 - - *ref_175 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_176 - - *ref_177 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Update: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update a workspace. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_178 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: - - *ref_178 - responses: - - schema: *ref_179 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List workspaces. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_179 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListBySubscription: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_subscription - description: List workspaces in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySubscription - protocol: {} - language: - default: - name: workspaces - description: '' - cli: - cliKey: Workspaces - protocol: {} - - $key: ApplicationGroupAssignments - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_181 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_182 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - cliKey: workspaceName - protocol: - http: - in: path - - &ref_183 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' - method: get - uri: '{$host}' - signatureParameters: - - *ref_181 - - *ref_182 - - *ref_183 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroupAssignment_WorkspaceLevelList: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: workspace_level_list - description: List application group that user can use. - paging: - nextLinkName: nextLink - cli: - cliKey: WorkspaceLevelList - protocol: {} - language: - default: - name: application_group_assignments - description: '' - cli: - cliKey: ApplicationGroupAssignments - hidden: true - protocol: {} - - $key: ApplicationGroups - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_185 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_186 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_185 - - *ref_186 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get an application group. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_202 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_203 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_187 - schema: *ref_35 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _application_group - description: Object containing ApplicationGroup definitions. - cli: - cliKey: applicationGroup - protocol: - http: - in: body - style: json - - &ref_196 - schema: *ref_37 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_197 - schema: *ref_38 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_198 - schema: *ref_14 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_188 - language: - default: - name: description - description: Description of ApplicationGroup. - cli: *ref_189 - protocol: {} - - &ref_199 - schema: *ref_15 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_190 - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: *ref_191 - protocol: {} - - &ref_200 - schema: *ref_16 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_192 - language: - default: - name: host_pool_arm_path - description: HostPool arm path of ApplicationGroup. - cli: *ref_193 - protocol: {} - - &ref_201 - schema: *ref_18 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_194 - language: - default: - name: application_group_type - description: Resource Type of ApplicationGroup. - cli: *ref_195 - protocol: {} - signatureParameters: - - *ref_196 - - *ref_197 - - *ref_198 - - *ref_199 - - *ref_200 - - *ref_201 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_202 - - *ref_203 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Create: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '201': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update an applicationGroup. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_204 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_205 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_204 - - *ref_205 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove an applicationGroup. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_216 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_217 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_206 - schema: *ref_83 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _application_group - description: Object containing ApplicationGroup definitions. - cli: - cliKey: applicationGroup - protocol: - http: - in: body - style: json - - &ref_213 - schema: *ref_39 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_207 - language: - default: - name: tags - description: tags to be updated - cli: *ref_208 - protocol: {} - - &ref_214 - schema: *ref_40 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_209 - language: - default: - name: description - description: Description of ApplicationGroup. - cli: *ref_210 - protocol: {} - - &ref_215 - schema: *ref_41 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_211 - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: *ref_212 - protocol: {} - signatureParameters: - - *ref_213 - - *ref_214 - - *ref_215 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_216 - - *ref_217 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroups_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update an applicationGroup. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_218 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_219 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_218 - - *ref_219 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_ListByResourceGroup: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List applicationGroups. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_220 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_220 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_List: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_subscription - description: List applicationGroups in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySubscription - protocol: {} - language: - default: - name: application_groups - description: '' - cli: - cliKey: ApplicationGroups - protocol: {} - - $key: StartMenuItems - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_221 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_222 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' - method: get - uri: '{$host}' - signatureParameters: - - *ref_221 - - *ref_222 - responses: - - schema: *ref_223 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - StartMenuItem_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: application1 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 - properties: - appAlias: word - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - - name: application2 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 - properties: - appAlias: excel - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List start menu items in the given application group. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: start_menu_items - description: '' - cli: - cliKey: StartMenuItems - hidden: true - protocol: {} - - $key: Applications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_224 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_225 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_226 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_224 - - *ref_225 - - *ref_226 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: get - description: Get an application. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_252 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_253 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_254 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_227 - schema: *ref_85 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _application - description: Object containing Application definitions. - cli: - cliKey: application - protocol: - http: - in: body - style: json - - &ref_244 - schema: *ref_48 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_228 - language: - default: - name: description - description: Description of Application. - cli: *ref_229 - protocol: {} - - &ref_245 - schema: *ref_49 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_230 - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: *ref_231 - protocol: {} - - &ref_246 - schema: *ref_50 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_232 - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: *ref_233 - protocol: {} - - &ref_247 - schema: *ref_51 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: true - targetProperty: *ref_234 - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: *ref_235 - protocol: {} - - &ref_248 - schema: *ref_52 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_236 - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: *ref_237 - protocol: {} - - &ref_249 - schema: *ref_53 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_238 - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: *ref_239 - protocol: {} - - &ref_250 - schema: *ref_54 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_240 - language: - default: - name: icon_path - description: Path to icon. - cli: *ref_241 - protocol: {} - - &ref_251 - schema: *ref_47 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_242 - language: - default: - name: icon_index - description: Index of the icon. - cli: *ref_243 - protocol: {} - signatureParameters: - - *ref_244 - - *ref_245 - - *ref_246 - - *ref_247 - - *ref_248 - - *ref_249 - - *ref_250 - - *ref_251 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_252 - - *ref_253 - - *ref_254 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Create: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '201': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: create_or_update - description: Create or update an application. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_255 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_256 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_257 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_255 - - *ref_256 - - *ref_257 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '204': {} - language: - default: - name: delete - description: Remove an application. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_287 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_288 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_289 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_259 - schema: *ref_258 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _application - description: Object containing Application definitions. - cli: - cliKey: application - protocol: - http: - in: body - style: json - - &ref_278 - schema: *ref_39 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_260 - language: - default: - name: tags - description: tags to be updated - cli: *ref_261 - protocol: {} - - &ref_279 - schema: *ref_102 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_262 - language: - default: - name: description - description: Description of Application. - cli: *ref_263 - protocol: {} - - &ref_280 - schema: *ref_103 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_264 - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: *ref_265 - protocol: {} - - &ref_281 - schema: *ref_104 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_266 - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: *ref_267 - protocol: {} - - &ref_282 - schema: *ref_51 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_268 - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: *ref_269 - protocol: {} - - &ref_283 - schema: *ref_105 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_270 - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: *ref_271 - protocol: {} - - &ref_284 - schema: *ref_53 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_272 - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: *ref_273 - protocol: {} - - &ref_285 - schema: *ref_106 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_274 - language: - default: - name: icon_path - description: Path to icon. - cli: *ref_275 - protocol: {} - - &ref_286 - schema: *ref_47 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_276 - language: - default: - name: icon_index - description: Index of the icon. - cli: *ref_277 - protocol: {} - signatureParameters: - - *ref_278 - - *ref_279 - - *ref_280 - - *ref_281 - - *ref_282 - - *ref_283 - - *ref_284 - - *ref_285 - - *ref_286 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_287 - - *ref_288 - - *ref_289 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Update: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: update - description: Update an application. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_290 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_291 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_290 - - *ref_291 - responses: - - schema: *ref_292 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Applications_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List applications. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: applications - description: '' - cli: - cliKey: Applications - hidden: true - protocol: {} - - $key: Desktops - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_293 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_294 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_295 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: desktop_name - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - cliKey: desktopName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_293 - - *ref_294 - - *ref_295 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: get - description: Get a desktop. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_307 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_308 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_309 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: desktop_name - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - cliKey: desktopName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_297 - schema: *ref_296 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _desktop - description: Object containing Desktop definitions. - cli: - cliKey: desktop - protocol: - http: - in: body - style: json - - &ref_304 - schema: *ref_39 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_298 - language: - default: - name: tags - description: tags to be updated - cli: *ref_299 - protocol: {} - - &ref_305 - schema: *ref_108 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_300 - language: - default: - name: description - description: Description of Desktop. - cli: *ref_301 - protocol: {} - - &ref_306 - schema: *ref_109 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_302 - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: *ref_303 - protocol: {} - signatureParameters: - - *ref_304 - - *ref_305 - - *ref_306 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_307 - - *ref_308 - - *ref_309 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktop: - properties: - description: des1 - friendlyName: friendly - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: update - description: Update a desktop. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_310 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_311 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' - method: get - uri: '{$host}' - signatureParameters: - - *ref_310 - - *ref_311 - responses: - - schema: *ref_312 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: list - description: List desktops. - cli: - cliKey: List - protocol: {} - language: - default: - name: desktops - description: '' - cli: - cliKey: Desktops - hidden: true - protocol: {} - - $key: HostPools - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_313 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_314 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_313 - - *ref_314 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get a host pool. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_354 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_355 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_315 - schema: *ref_36 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _host_pool - description: Object containing HostPool definitions. - cli: - cliKey: hostPool - protocol: - http: - in: body - style: json - - &ref_340 - schema: *ref_37 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_341 - schema: *ref_38 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_342 - schema: *ref_19 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_316 - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: *ref_317 - protocol: {} - - &ref_343 - schema: *ref_20 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_318 - language: - default: - name: description - description: Description of HostPool. - cli: *ref_319 - protocol: {} - - &ref_344 - schema: *ref_21 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_320 - language: - default: - name: host_pool_type - description: HostPool type for desktop. - cli: *ref_321 - protocol: {} - - &ref_345 - schema: *ref_22 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_322 - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: *ref_323 - protocol: {} - - &ref_346 - schema: *ref_23 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_324 - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: *ref_325 - protocol: {} - - &ref_347 - schema: *ref_24 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_326 - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: *ref_327 - protocol: {} - - &ref_348 - schema: *ref_25 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_328 - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: *ref_329 - protocol: {} - - &ref_349 - schema: *ref_26 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_330 - language: - default: - name: ring - description: The ring number of HostPool. - cli: *ref_331 - protocol: {} - - &ref_350 - schema: *ref_27 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_332 - language: - default: - name: validation_environment - description: Is validation environment. - cli: *ref_333 - protocol: {} - - &ref_351 - schema: *ref_111 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_334 - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: *ref_335 - protocol: {} - - &ref_352 - schema: *ref_31 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_336 - language: - default: - name: vm_template - description: VM template for sessionhosts configuration within hostpool. - cli: *ref_337 - protocol: {} - - &ref_353 - schema: *ref_33 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_338 - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: *ref_339 - protocol: {} - signatureParameters: - - *ref_340 - - *ref_341 - - *ref_342 - - *ref_343 - - *ref_344 - - *ref_345 - - *ref_346 - - *ref_347 - - *ref_348 - - *ref_349 - - *ref_350 - - *ref_351 - - *ref_352 - - *ref_353 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_354 - - *ref_355 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Create: - parameters: - api-version: 2019-12-10-preview - hostPool: - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '201': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update a host pool. - cli: - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_357 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_358 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_359 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to delete sessionHost. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_357 - - *ref_358 - - *ref_359 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove a host pool. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_394 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_395 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_360 - schema: *ref_87 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _host_pool - description: Object containing HostPool definitions. - cli: - cliKey: hostPool - protocol: - http: - in: body - style: json - - &ref_383 - schema: *ref_39 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_361 - language: - default: - name: tags - description: tags to be updated - cli: *ref_362 - protocol: {} - - &ref_384 - schema: *ref_61 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_363 - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: *ref_364 - protocol: {} - - &ref_385 - schema: *ref_62 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_365 - language: - default: - name: description - description: Description of HostPool. - cli: *ref_366 - protocol: {} - - &ref_386 - schema: *ref_63 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_367 - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: *ref_368 - protocol: {} - - &ref_387 - schema: *ref_24 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_369 - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: *ref_370 - protocol: {} - - &ref_388 - schema: *ref_22 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_371 - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: *ref_372 - protocol: {} - - &ref_389 - schema: *ref_25 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_373 - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: *ref_374 - protocol: {} - - &ref_390 - schema: *ref_26 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_375 - language: - default: - name: ring - description: The ring number of HostPool. - cli: *ref_376 - protocol: {} - - &ref_391 - schema: *ref_27 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_377 - language: - default: - name: validation_environment - description: Is validation environment. - cli: *ref_378 - protocol: {} - - &ref_392 - schema: *ref_112 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_379 - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: *ref_380 - protocol: {} - - &ref_393 - schema: *ref_64 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_381 - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: *ref_382 - protocol: {} - signatureParameters: - - *ref_383 - - *ref_384 - - *ref_385 - - *ref_386 - - *ref_387 - - *ref_388 - - *ref_389 - - *ref_390 - - *ref_391 - - *ref_392 - - *ref_393 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_394 - - *ref_395 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Update: - parameters: - api-version: 2019-12-10-preview - hostPool: - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-02T14:01:54.9571247Z' - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update a host pool. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_396 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: - - *ref_396 - responses: - - schema: *ref_397 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List hostPools. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_397 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_List: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List hostPools in subscription. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: host_pools - description: '' - cli: - cliKey: HostPools - protocol: {} - - $key: UserSessions - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_398 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_399 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_400 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_398 - - *ref_399 - - *ref_400 - responses: - - schema: *ref_401 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_ListByHostPool: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_host_pool - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - cliKey: ListByHostPool - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_404 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_405 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_406 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_407 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_404 - - *ref_405 - - *ref_406 - - *ref_407 - responses: - - schema: *ref_88 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - body: - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - language: - default: - name: get - description: Get a userSession. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_408 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_409 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_410 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_411 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - - &ref_412 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to login off userSession. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_408 - - *ref_409 - - *ref_410 - - *ref_411 - - *ref_412 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - '204': {} - language: - default: - name: delete - description: Remove a userSession. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_413 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_414 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_415 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_413 - - *ref_414 - - *ref_415 - responses: - - schema: *ref_401 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_416 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_417 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_418 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_419 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' - method: post - uri: '{$host}' - signatureParameters: - - *ref_416 - - *ref_417 - - *ref_418 - - *ref_419 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Disconnect_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: disconnect - description: Disconnect a userSession. - cli: - cliKey: Disconnect - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_428 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_429 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_430 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_431 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - cliKey: userSessionId - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_421 - schema: *ref_420 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _send_message - description: Object containing message includes title and message body - cli: - cliKey: sendMessage - protocol: - http: - in: body - style: json - - &ref_426 - schema: *ref_116 - implementation: Method - originalParameter: *ref_421 - pathToProperty: [] - targetProperty: *ref_422 - language: - default: - name: message_title - description: Title of message. - cli: *ref_423 - protocol: {} - - &ref_427 - schema: *ref_117 - implementation: Method - originalParameter: *ref_421 - pathToProperty: [] - targetProperty: *ref_424 - language: - default: - name: message_body - description: Body of message. - cli: *ref_425 - protocol: {} - signatureParameters: - - *ref_426 - - *ref_427 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' - method: post - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_428 - - *ref_429 - - *ref_430 - - *ref_431 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_SendMessage_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sendMessage: - messageBody: body - messageTitle: title - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: send_message - description: Send a message to a user. - cli: - cliKey: SendMessage - protocol: {} - language: - default: - name: user_sessions - description: '' - cli: - cliKey: UserSessions - hidden: true - protocol: {} - - $key: SessionHosts - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_432 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_433 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_434 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_432 - - *ref_433 - - *ref_434 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: get - description: Get a session host. - cli: - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_435 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_436 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_437 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_438 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to force sessionHost deletion even when userSession exists. - serializedName: force - cli: - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_435 - - *ref_436 - - *ref_437 - - *ref_438 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - '204': {} - language: - default: - name: delete - description: Remove a SessionHost. - cli: - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_446 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_447 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_448 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - cliKey: content-type - protocol: - http: - in: header - - &ref_439 - schema: *ref_90 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _session_host - description: Object containing SessionHost definitions. - cli: - cliKey: sessionHost - protocol: - http: - in: body - style: json - - &ref_444 - schema: *ref_73 - implementation: Method - originalParameter: *ref_439 - pathToProperty: [] - targetProperty: *ref_440 - language: - default: - name: allow_new_session - description: Allow a new session. - cli: *ref_441 - protocol: {} - - &ref_445 - schema: *ref_82 - implementation: Method - originalParameter: *ref_439 - pathToProperty: [] - targetProperty: *ref_442 - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: *ref_443 - protocol: {} - signatureParameters: - - *ref_444 - - *ref_445 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_446 - - *ref_447 - - *ref_448 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Update: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHost: - properties: - allowNewSession: true - assignedUser: user1@microsoft.com - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2019-01-11T19:27:13.6108027Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2019-01-24T20:00:08.2893033Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: update - description: Update a session host. - cli: - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_449 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_450 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' - method: get - uri: '{$host}' - signatureParameters: - - *ref_449 - - *ref_450 - responses: - - schema: *ref_451 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - - name: sessionHost2.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user2@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List sessionHosts. - paging: - nextLinkName: nextLink - cli: - cliKey: List - protocol: {} - language: - default: - name: session_hosts - description: '' - cli: - cliKey: SessionHosts - hidden: true - protocol: {} - - $key: ActiveApplications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_452 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_453 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_454 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_455 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_452 - - *ref_453 - - *ref_454 - - *ref_455 - responses: - - schema: *ref_292 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ActiveApplications_List: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_session_host - description: List applications for the given session host. - paging: - nextLinkName: nextLink - cli: - cliKey: ListBySessionHost - protocol: {} - language: - default: - name: active_applications - description: '' - cli: - cliKey: ActiveApplications - hidden: true - protocol: {} -language: - default: - name: DesktopVirtualizationAPIClient - description: '' -protocol: - http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000090-namer-post-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000090-namer-post-simplified.yaml deleted file mode 100644 index 60ff4563487..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000090-namer-post-simplified.yaml +++ /dev/null @@ -1,2383 +0,0 @@ -operationGroups: - all: - - operationGroupName: Operation - cli: - cliKey: Operations - operations: - - operationName: list - cli: - cliKey: List - hidden: true - name: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - operationGroupName: Workspace - cli: - cliKey: Workspaces - operations: - - operationName: get - cli: - cliKey: Get - name: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - cliKey: workspaceName - name: workspaceName - - operationName: create_or_update - cli: - cliKey: CreateOrUpdate - name: CreateOrUpdate - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - cliKey: workspaceName - name: workspaceName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - name: ContentType - - parameterName[0]: _workspace(Workspace^object) - cli: - cliKey: workspace - x-ms-client-flatten: true - bodySchema: Workspace - - parameterName[0]: tags(TrackedResourceTags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(TrackedResourceLocation^string) - cli: - cliKey: location - - parameterName[0]: description(WorkspacePropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(WorkspacePropertiesFriendlyName^string) - cli: - cliKey: friendlyName - name: friendlyName - - parameterName[0]: application_group_references(WorkspacePropertiesApplicationGroupReferences^array) - cli: - cliKey: applicationGroupReferences - name: applicationGroupReferences - - operationName: delete - cli: - cliKey: Delete - name: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - cliKey: workspaceName - name: workspaceName - - operationName: update - cli: - cliKey: Update - name: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - cliKey: workspaceName - name: workspaceName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - name: ContentType - - parameterName[0]: _workspace(WorkspacePatch^object) - cli: - cliKey: workspace - x-ms-client-flatten: true - bodySchema: WorkspacePatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(WorkspacePatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(WorkspacePatchPropertiesFriendlyName^string) - cli: - cliKey: friendlyName - name: friendlyName - - parameterName[0]: application_group_references(WorkspacePatchPropertiesApplicationGroupReferences^array) - cli: - cliKey: applicationGroupReferences - name: applicationGroupReferences - - operationName: list_by_resource_group - cli: - cliKey: ListByResourceGroup - name: ListByResourceGroup - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - operationName: list_by_subscription - cli: - cliKey: ListBySubscription - name: ListBySubscription - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - operationGroupName: ApplicationGroupAssignment - cli: - cliKey: ApplicationGroupAssignments - hidden: true - operations: - - operationName: workspace_level_list - cli: - cliKey: WorkspaceLevelList - name: WorkspaceLevelList - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - cliKey: workspaceName - name: workspaceName - - parameterName: filter(String^string) - cli: - cliKey: $filter - - operationGroupName: ApplicationGroup - cli: - cliKey: ApplicationGroups - operations: - - operationName: get - cli: - cliKey: Get - name: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - cliKey: applicationGroupName - name: applicationGroupName - - operationName: create_or_update - cli: - cliKey: CreateOrUpdate - name: CreateOrUpdate - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - cliKey: applicationGroupName - name: applicationGroupName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - name: ContentType - - parameterName[0]: _application_group(ApplicationGroup^object) - cli: - cliKey: applicationGroup - x-ms-client-flatten: true - bodySchema: ApplicationGroup - - parameterName[0]: tags(TrackedResourceTags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(TrackedResourceLocation^string) - cli: - cliKey: location - - parameterName[0]: description(ApplicationGroupPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(ApplicationGroupPropertiesFriendlyName^string) - cli: - cliKey: friendlyName - name: friendlyName - - parameterName[0]: host_pool_arm_path(ApplicationGroupPropertiesHostPoolArmPath^string) - cli: - cliKey: hostPoolArmPath - name: hostPoolArmPath - - parameterName[0]: application_group_type(ApplicationGroupType^choice) - cli: - cliKey: applicationGroupType - name: applicationGroupType - - operationName: delete - cli: - cliKey: Delete - name: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - cliKey: applicationGroupName - name: applicationGroupName - - operationName: update - cli: - cliKey: Update - name: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - cliKey: applicationGroupName - name: applicationGroupName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - name: ContentType - - parameterName[0]: _application_group(ApplicationGroupPatch^object) - cli: - cliKey: applicationGroup - x-ms-client-flatten: true - bodySchema: ApplicationGroupPatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(ApplicationGroupPatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(ApplicationGroupPatchPropertiesFriendlyName^string) - cli: - cliKey: friendlyName - name: friendlyName - - operationName: list_by_resource_group - cli: - cliKey: ListByResourceGroup - name: ListByResourceGroup - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: filter(String^string) - cli: - cliKey: $filter - - operationName: list_by_subscription - cli: - cliKey: ListBySubscription - name: ListBySubscription - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: filter(String^string) - cli: - cliKey: $filter - - operationGroupName: StartMenuItem - cli: - cliKey: StartMenuItems - hidden: true - operations: - - operationName: list - cli: - cliKey: List - name: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - cliKey: applicationGroupName - name: applicationGroupName - - operationGroupName: Application - cli: - cliKey: Applications - hidden: true - operations: - - operationName: get - cli: - cliKey: Get - name: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - cliKey: applicationGroupName - name: applicationGroupName - - parameterName: application_name(String^string) - cli: - cliKey: applicationName - name: applicationName - - operationName: create_or_update - cli: - cliKey: CreateOrUpdate - name: CreateOrUpdate - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - cliKey: applicationGroupName - name: applicationGroupName - - parameterName: application_name(String^string) - cli: - cliKey: applicationName - name: applicationName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - name: ContentType - - parameterName[0]: _application(Application^object) - cli: - cliKey: application - x-ms-client-flatten: true - bodySchema: Application - - parameterName[0]: description(ApplicationPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(ApplicationPropertiesFriendlyName^string) - cli: - cliKey: friendlyName - name: friendlyName - - parameterName[0]: file_path(ApplicationPropertiesFilePath^string) - cli: - cliKey: filePath - name: filePath - - parameterName[0]: command_line_setting(CommandLineSetting^choice) - cli: - cliKey: commandLineSetting - name: commandLineSetting - - parameterName[0]: command_line_arguments(ApplicationPropertiesCommandLineArguments^string) - cli: - cliKey: commandLineArguments - name: commandLineArguments - - parameterName[0]: show_in_portal(boolean^boolean) - cli: - cliKey: showInPortal - name: showInPortal - - parameterName[0]: icon_path(ApplicationPropertiesIconPath^string) - cli: - cliKey: iconPath - name: iconPath - - parameterName[0]: icon_index(Integer^integer) - cli: - cliKey: iconIndex - name: iconIndex - - operationName: delete - cli: - cliKey: Delete - name: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - cliKey: applicationGroupName - name: applicationGroupName - - parameterName: application_name(String^string) - cli: - cliKey: applicationName - name: applicationName - - operationName: update - cli: - cliKey: Update - name: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - cliKey: applicationGroupName - name: applicationGroupName - - parameterName: application_name(String^string) - cli: - cliKey: applicationName - name: applicationName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - name: ContentType - - parameterName[0]: _application(ApplicationPatch^object) - cli: - cliKey: application - x-ms-client-flatten: true - bodySchema: ApplicationPatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(ApplicationPatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(ApplicationPatchPropertiesFriendlyName^string) - cli: - cliKey: friendlyName - name: friendlyName - - parameterName[0]: file_path(ApplicationPatchPropertiesFilePath^string) - cli: - cliKey: filePath - name: filePath - - parameterName[0]: command_line_setting(CommandLineSetting^choice) - cli: - cliKey: commandLineSetting - name: commandLineSetting - - parameterName[0]: command_line_arguments(ApplicationPatchPropertiesCommandLineArguments^string) - cli: - cliKey: commandLineArguments - name: commandLineArguments - - parameterName[0]: show_in_portal(boolean^boolean) - cli: - cliKey: showInPortal - name: showInPortal - - parameterName[0]: icon_path(ApplicationPatchPropertiesIconPath^string) - cli: - cliKey: iconPath - name: iconPath - - parameterName[0]: icon_index(Integer^integer) - cli: - cliKey: iconIndex - name: iconIndex - - operationName: list - cli: - cliKey: List - name: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - cliKey: applicationGroupName - name: applicationGroupName - - operationGroupName: Desktop - cli: - cliKey: Desktops - hidden: true - operations: - - operationName: get - cli: - cliKey: Get - name: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - cliKey: applicationGroupName - name: applicationGroupName - - parameterName: desktop_name(String^string) - cli: - cliKey: desktopName - name: desktopName - - operationName: update - cli: - cliKey: Update - name: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - cliKey: applicationGroupName - name: applicationGroupName - - parameterName: desktop_name(String^string) - cli: - cliKey: desktopName - name: desktopName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - name: ContentType - - parameterName[0]: _desktop(DesktopPatch^object) - cli: - cliKey: desktop - x-ms-client-flatten: true - bodySchema: DesktopPatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(DesktopPatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(DesktopPatchPropertiesFriendlyName^string) - cli: - cliKey: friendlyName - name: friendlyName - - operationName: list - cli: - cliKey: List - name: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - cliKey: applicationGroupName - name: applicationGroupName - - operationGroupName: HostPool - cli: - cliKey: HostPools - operations: - - operationName: get - cli: - cliKey: Get - name: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - cliKey: hostPoolName - name: hostPoolName - - operationName: create_or_update - cli: - cliKey: CreateOrUpdate - name: CreateOrUpdate - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - cliKey: hostPoolName - name: hostPoolName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - name: ContentType - - parameterName[0]: _host_pool(HostPool^object) - cli: - cliKey: hostPool - x-ms-client-flatten: true - bodySchema: HostPool - - parameterName[0]: tags(TrackedResourceTags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(TrackedResourceLocation^string) - cli: - cliKey: location - - parameterName[0]: friendly_name(HostPoolPropertiesFriendlyName^string) - cli: - cliKey: friendlyName - name: friendlyName - - parameterName[0]: description(HostPoolPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: host_pool_type(HostPoolType^choice) - cli: - cliKey: hostPoolType - name: hostPoolType - - parameterName[0]: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) - cli: - cliKey: personalDesktopAssignmentType - name: personalDesktopAssignmentType - - parameterName[0]: custom_rdp_property(HostPoolPropertiesCustomRdpProperty^string) - cli: - cliKey: customRdpProperty - name: customRdpProperty - - parameterName[0]: max_session_limit(Integer^integer) - cli: - cliKey: maxSessionLimit - name: maxSessionLimit - - parameterName[0]: load_balancer_type(LoadBalancerType^choice) - cli: - cliKey: loadBalancerType - name: loadBalancerType - - parameterName[0]: ring(Integer^integer) - cli: - cliKey: ring - - parameterName[0]: validation_environment(boolean^boolean) - cli: - cliKey: validationEnvironment - name: validationEnvironment - - parameterName[0]: registration_info(RegistrationInfo^object) - cli: - cliKey: registrationInfo - name: registrationInfo - - parameterName[0]: vm_template(HostPoolPropertiesVmTemplate^string) - cli: - cliKey: vmTemplate - name: vmTemplate - - parameterName[0]: sso_context(HostPoolPropertiesSsoContext^string) - cli: - cliKey: ssoContext - name: ssoContext - - operationName: delete - cli: - cliKey: Delete - name: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - cliKey: hostPoolName - name: hostPoolName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: update - cli: - cliKey: Update - name: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - cliKey: hostPoolName - name: hostPoolName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - name: ContentType - - parameterName[0]: _host_pool(HostPoolPatch^object) - cli: - cliKey: hostPool - x-ms-client-flatten: true - bodySchema: HostPoolPatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: friendly_name(HostPoolPatchPropertiesFriendlyName^string) - cli: - cliKey: friendlyName - name: friendlyName - - parameterName[0]: description(HostPoolPatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: custom_rdp_property(HostPoolPatchPropertiesCustomRdpProperty^string) - cli: - cliKey: customRdpProperty - name: customRdpProperty - - parameterName[0]: max_session_limit(Integer^integer) - cli: - cliKey: maxSessionLimit - name: maxSessionLimit - - parameterName[0]: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) - cli: - cliKey: personalDesktopAssignmentType - name: personalDesktopAssignmentType - - parameterName[0]: load_balancer_type(LoadBalancerType^choice) - cli: - cliKey: loadBalancerType - name: loadBalancerType - - parameterName[0]: ring(Integer^integer) - cli: - cliKey: ring - - parameterName[0]: validation_environment(boolean^boolean) - cli: - cliKey: validationEnvironment - name: validationEnvironment - - parameterName[0]: registration_info(RegistrationInfoPatch^object) - cli: - cliKey: registrationInfo - name: registrationInfo - - parameterName[0]: sso_context(HostPoolPatchPropertiesSsoContext^string) - cli: - cliKey: ssoContext - name: ssoContext - - operationName: list_by_resource_group - cli: - cliKey: ListByResourceGroup - name: ListByResourceGroup - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - operationName: list - cli: - cliKey: List - name: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - operationGroupName: UserSession - cli: - cliKey: UserSessions - hidden: true - operations: - - operationName: list_by_host_pool - cli: - cliKey: ListByHostPool - name: ListByHostPool - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - cliKey: hostPoolName - name: hostPoolName - - parameterName: filter(String^string) - cli: - cliKey: $filter - - operationName: get - cli: - cliKey: Get - name: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - cliKey: hostPoolName - name: hostPoolName - - parameterName: session_host_name(String^string) - cli: - cliKey: sessionHostName - name: sessionHostName - - parameterName: user_session_id(String^string) - cli: - cliKey: userSessionId - name: userSessionId - - operationName: delete - cli: - cliKey: Delete - name: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - cliKey: hostPoolName - name: hostPoolName - - parameterName: session_host_name(String^string) - cli: - cliKey: sessionHostName - name: sessionHostName - - parameterName: user_session_id(String^string) - cli: - cliKey: userSessionId - name: userSessionId - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: list - cli: - cliKey: List - name: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - cliKey: hostPoolName - name: hostPoolName - - parameterName: session_host_name(String^string) - cli: - cliKey: sessionHostName - name: sessionHostName - - operationName: disconnect - cli: - cliKey: Disconnect - name: Disconnect - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - cliKey: hostPoolName - name: hostPoolName - - parameterName: session_host_name(String^string) - cli: - cliKey: sessionHostName - name: sessionHostName - - parameterName: user_session_id(String^string) - cli: - cliKey: userSessionId - name: userSessionId - - operationName: send_message - cli: - cliKey: SendMessage - name: SendMessage - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - cliKey: hostPoolName - name: hostPoolName - - parameterName: session_host_name(String^string) - cli: - cliKey: sessionHostName - name: sessionHostName - - parameterName: user_session_id(String^string) - cli: - cliKey: userSessionId - name: userSessionId - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - name: ContentType - - parameterName[0]: _send_message(SendMessage^object) - cli: - cliKey: sendMessage - x-ms-client-flatten: true - bodySchema: SendMessage - - parameterName[0]: message_title(SendMessageTitle^string) - cli: - cliKey: messageTitle - name: messageTitle - - parameterName[0]: message_body(SendMessageBody^string) - cli: - cliKey: messageBody - name: messageBody - - operationGroupName: SessionHost - cli: - cliKey: SessionHosts - hidden: true - operations: - - operationName: get - cli: - cliKey: Get - name: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - cliKey: hostPoolName - name: hostPoolName - - parameterName: session_host_name(String^string) - cli: - cliKey: sessionHostName - name: sessionHostName - - operationName: delete - cli: - cliKey: Delete - name: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - cliKey: hostPoolName - name: hostPoolName - - parameterName: session_host_name(String^string) - cli: - cliKey: sessionHostName - name: sessionHostName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: update - cli: - cliKey: Update - name: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - cliKey: hostPoolName - name: hostPoolName - - parameterName: session_host_name(String^string) - cli: - cliKey: sessionHostName - name: sessionHostName - - parameterName[0]: content_type(application_json^constant) - cli: - cliKey: content-type - name: ContentType - - parameterName[0]: _session_host(SessionHostPatch^object) - cli: - cliKey: sessionHost - x-ms-client-flatten: true - bodySchema: SessionHostPatch - - parameterName[0]: allow_new_session(boolean^boolean) - cli: - cliKey: allowNewSession - name: allowNewSession - - parameterName[0]: assigned_user(SessionHostPatchPropertiesAssignedUser^string) - cli: - cliKey: assignedUser - name: assignedUser - - operationName: list - cli: - cliKey: List - name: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - cliKey: hostPoolName - name: hostPoolName - - operationGroupName: ActiveApplication - cli: - cliKey: ActiveApplications - hidden: true - operations: - - operationName: list_by_session_host - cli: - cliKey: ListBySessionHost - name: ListBySessionHost - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - cliKey: ApiVersion - name: ApiVersion - - parameterName: subscription_id(String^string) - cli: - cliKey: subscriptionId - name: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - cliKey: resourceGroupName - name: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - cliKey: hostPoolName - name: hostPoolName - - parameterName: session_host_name(String^string) - cli: - cliKey: sessionHostName - name: sessionHostName - - parameterName: filter(String^string) - cli: - cliKey: $filter -schemas: - objects: - all: - - schemaName: ResourceProviderOperationList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ResourceProviderOperationList - properties: - - propertyName: value(ResourceProviderOperationListValue^array) - cli: - cliKey: value - - schemaName: ResourceProviderOperation - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ResourceProviderOperation - properties: - - propertyName: name(ResourceProviderOperationName^string) - cli: - cliKey: name - - propertyName: display(ResourceProviderOperationDisplay^object) - cli: - cliKey: display - - schemaName: ResourceProviderOperationDisplay - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ResourceProviderOperation-display - properties: - - propertyName: provider(ResourceProviderOperationDisplayProvider^string) - cli: - cliKey: provider - - propertyName: resource(ResourceProviderOperationDisplayResource^string) - cli: - cliKey: resource - - propertyName: operation(ResourceProviderOperationDisplayOperation^string) - cli: - cliKey: operation - - propertyName: description(ResourceProviderOperationDisplayDescription^string) - cli: - cliKey: description - - schemaName: Resource - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 0 - propertyCountIfSimplifyWithoutSimpleObject: 0 - simplifiable: true - cliKey: Resource - properties: - - propertyName: id(ResourceId^string) - cli: - cliKey: id - readOnly: true - - propertyName: name(ResourceName^string) - cli: - cliKey: name - readOnly: true - - propertyName: type(ResourceType^string) - cli: - cliKey: type - readOnly: true - - schemaName: TrackedResource - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: TrackedResource - properties: - - propertyName: tags(TrackedResourceTags^dictionary) - cli: - cliKey: tags - - propertyName: location(TrackedResourceLocation^string) - cli: - cliKey: location - - schemaName: Workspace - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: Workspace - properties: - - propertyName: description(WorkspacePropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(WorkspacePropertiesFriendlyName^string) - cli: - cliKey: friendlyName - name: friendlyName - - propertyName: application_group_references(WorkspacePropertiesApplicationGroupReferences^array) - cli: - cliKey: applicationGroupReferences - name: applicationGroupReferences - - schemaName: CloudError - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: CloudError - properties: - - propertyName: code(CloudErrorCode^string) - cli: - cliKey: code - - propertyName: message(CloudErrorMessage^string) - cli: - cliKey: message - - schemaName: WorkspacePatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(WorkspacePatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(WorkspacePatchPropertiesFriendlyName^string) - cli: - cliKey: friendlyName - name: friendlyName - - propertyName: application_group_references(WorkspacePatchPropertiesApplicationGroupReferences^array) - cli: - cliKey: applicationGroupReferences - name: applicationGroupReferences - - schemaName: WorkspaceList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceList - properties: - - propertyName: value(WorkspaceListValue^array) - cli: - cliKey: value - - propertyName: next_link(WorkspaceListNextLink^string) - cli: - cliKey: nextLink - name: nextLink - readOnly: true - - schemaName: ApplicationGroupList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupList - properties: - - propertyName: value(ApplicationGroupListValue^array) - cli: - cliKey: value - - propertyName: next_link(ApplicationGroupListNextLink^string) - cli: - cliKey: nextLink - name: nextLink - readOnly: true - - schemaName: ApplicationGroup - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroup - properties: - - propertyName: description(ApplicationGroupPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(ApplicationGroupPropertiesFriendlyName^string) - cli: - cliKey: friendlyName - name: friendlyName - - propertyName: host_pool_arm_path(ApplicationGroupPropertiesHostPoolArmPath^string) - cli: - cliKey: hostPoolArmPath - name: hostPoolArmPath - - propertyName: workspace_arm_path(ApplicationGroupPropertiesWorkspaceArmPath^string) - cli: - cliKey: workspaceArmPath - name: workspaceArmPath - readOnly: true - - propertyName: application_group_type(ApplicationGroupType^choice) - cli: - cliKey: applicationGroupType - name: applicationGroupType - - schemaName: ApplicationGroupPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(ApplicationGroupPatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(ApplicationGroupPatchPropertiesFriendlyName^string) - cli: - cliKey: friendlyName - name: friendlyName - - schemaName: StartMenuItemList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: StartMenuItemList - properties: - - propertyName: value(StartMenuItemListValue^array) - cli: - cliKey: value - - propertyName: next_link(StartMenuItemListNextLink^string) - cli: - cliKey: nextLink - name: nextLink - readOnly: true - - schemaName: StartMenuItem - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: StartMenuItem - properties: - - propertyName: app_alias(StartMenuItemPropertiesAppAlias^string) - cli: - cliKey: appAlias - name: appAlias - - propertyName: friendly_name(StartMenuItemPropertiesFriendlyName^string) - cli: - cliKey: friendlyName - name: friendlyName - - propertyName: file_path(StartMenuItemPropertiesFilePath^string) - cli: - cliKey: filePath - name: filePath - - propertyName: command_line_arguments(StartMenuItemPropertiesCommandLineArguments^string) - cli: - cliKey: commandLineArguments - name: commandLineArguments - - propertyName: icon_path(StartMenuItemPropertiesIconPath^string) - cli: - cliKey: iconPath - name: iconPath - - propertyName: icon_index(Integer^integer) - cli: - cliKey: iconIndex - name: iconIndex - - schemaName: Application - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Application - properties: - - propertyName: description(ApplicationPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(ApplicationPropertiesFriendlyName^string) - cli: - cliKey: friendlyName - name: friendlyName - - propertyName: file_path(ApplicationPropertiesFilePath^string) - cli: - cliKey: filePath - name: filePath - - propertyName: command_line_setting(CommandLineSetting^choice) - cli: - cliKey: commandLineSetting - name: commandLineSetting - - propertyName: command_line_arguments(ApplicationPropertiesCommandLineArguments^string) - cli: - cliKey: commandLineArguments - name: commandLineArguments - - propertyName: show_in_portal(boolean^boolean) - cli: - cliKey: showInPortal - name: showInPortal - - propertyName: icon_path(ApplicationPropertiesIconPath^string) - cli: - cliKey: iconPath - name: iconPath - - propertyName: icon_index(Integer^integer) - cli: - cliKey: iconIndex - name: iconIndex - - propertyName: icon_hash(ApplicationPropertiesIconHash^string) - cli: - cliKey: iconHash - name: iconHash - readOnly: true - - propertyName: icon_content(application_properties_icon_content^byte-array) - cli: - cliKey: iconContent - name: iconContent - readOnly: true - - schemaName: ApplicationPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(ApplicationPatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(ApplicationPatchPropertiesFriendlyName^string) - cli: - cliKey: friendlyName - name: friendlyName - - propertyName: file_path(ApplicationPatchPropertiesFilePath^string) - cli: - cliKey: filePath - name: filePath - - propertyName: command_line_setting(CommandLineSetting^choice) - cli: - cliKey: commandLineSetting - name: commandLineSetting - - propertyName: command_line_arguments(ApplicationPatchPropertiesCommandLineArguments^string) - cli: - cliKey: commandLineArguments - name: commandLineArguments - - propertyName: show_in_portal(boolean^boolean) - cli: - cliKey: showInPortal - name: showInPortal - - propertyName: icon_path(ApplicationPatchPropertiesIconPath^string) - cli: - cliKey: iconPath - name: iconPath - - propertyName: icon_index(Integer^integer) - cli: - cliKey: iconIndex - name: iconIndex - - schemaName: ApplicationList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationList - properties: - - propertyName: value(ApplicationListValue^array) - cli: - cliKey: value - - propertyName: next_link(ApplicationListNextLink^string) - cli: - cliKey: nextLink - name: nextLink - readOnly: true - - schemaName: Desktop - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Desktop - properties: - - propertyName: description(DesktopPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(DesktopPropertiesFriendlyName^string) - cli: - cliKey: friendlyName - name: friendlyName - - propertyName: icon_hash(DesktopPropertiesIconHash^string) - cli: - cliKey: iconHash - name: iconHash - readOnly: true - - propertyName: icon_content(desktop_properties_icon_content^byte-array) - cli: - cliKey: iconContent - name: iconContent - readOnly: true - - schemaName: DesktopPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(DesktopPatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(DesktopPatchPropertiesFriendlyName^string) - cli: - cliKey: friendlyName - name: friendlyName - - schemaName: DesktopList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopList - properties: - - propertyName: value(DesktopListValue^array) - cli: - cliKey: value - - propertyName: next_link(DesktopListNextLink^string) - cli: - cliKey: nextLink - name: nextLink - readOnly: true - - schemaName: HostPool - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPool - properties: - - propertyName: friendly_name(HostPoolPropertiesFriendlyName^string) - cli: - cliKey: friendlyName - name: friendlyName - - propertyName: description(HostPoolPropertiesDescription^string) - cli: - cliKey: description - - propertyName: host_pool_type(HostPoolType^choice) - cli: - cliKey: hostPoolType - name: hostPoolType - - propertyName: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) - cli: - cliKey: personalDesktopAssignmentType - name: personalDesktopAssignmentType - - propertyName: custom_rdp_property(HostPoolPropertiesCustomRdpProperty^string) - cli: - cliKey: customRdpProperty - name: customRdpProperty - - propertyName: max_session_limit(Integer^integer) - cli: - cliKey: maxSessionLimit - name: maxSessionLimit - - propertyName: load_balancer_type(LoadBalancerType^choice) - cli: - cliKey: loadBalancerType - name: loadBalancerType - - propertyName: ring(Integer^integer) - cli: - cliKey: ring - - propertyName: validation_environment(boolean^boolean) - cli: - cliKey: validationEnvironment - name: validationEnvironment - - propertyName: registration_info(RegistrationInfo^object) - cli: - cliKey: registrationInfo - name: registrationInfo - - propertyName: vm_template(HostPoolPropertiesVmTemplate^string) - cli: - cliKey: vmTemplate - name: vmTemplate - - propertyName: application_group_references(HostPoolPropertiesApplicationGroupReferences^array) - cli: - cliKey: applicationGroupReferences - name: applicationGroupReferences - readOnly: true - - propertyName: sso_context(HostPoolPropertiesSsoContext^string) - cli: - cliKey: ssoContext - name: ssoContext - - schemaName: RegistrationInfo - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 3 - propertyCountIfSimplifyWithoutSimpleObject: 3 - simplifiable: true - cliKey: RegistrationInfo - properties: - - propertyName: expiration_time(registration_info_expiration_time^date-time) - cli: - cliKey: expirationTime - name: expirationTime - - propertyName: token(RegistrationInfoToken^string) - cli: - cliKey: token - - propertyName: registration_token_operation(RegistrationTokenOperation^choice) - cli: - cliKey: registrationTokenOperation - name: registrationTokenOperation - - schemaName: HostPoolPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: friendly_name(HostPoolPatchPropertiesFriendlyName^string) - cli: - cliKey: friendlyName - name: friendlyName - - propertyName: description(HostPoolPatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: custom_rdp_property(HostPoolPatchPropertiesCustomRdpProperty^string) - cli: - cliKey: customRdpProperty - name: customRdpProperty - - propertyName: max_session_limit(Integer^integer) - cli: - cliKey: maxSessionLimit - name: maxSessionLimit - - propertyName: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) - cli: - cliKey: personalDesktopAssignmentType - name: personalDesktopAssignmentType - - propertyName: load_balancer_type(LoadBalancerType^choice) - cli: - cliKey: loadBalancerType - name: loadBalancerType - - propertyName: ring(Integer^integer) - cli: - cliKey: ring - - propertyName: validation_environment(boolean^boolean) - cli: - cliKey: validationEnvironment - name: validationEnvironment - - propertyName: registration_info(RegistrationInfoPatch^object) - cli: - cliKey: registrationInfo - name: registrationInfo - - propertyName: sso_context(HostPoolPatchPropertiesSsoContext^string) - cli: - cliKey: ssoContext - name: ssoContext - - schemaName: RegistrationInfoPatch - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 1 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: RegistrationInfoPatch - properties: - - propertyName: registration_token_operation(RegistrationTokenOperation^choice) - cli: - cliKey: registrationTokenOperation - name: registrationTokenOperation - - schemaName: HostPoolList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolList - properties: - - propertyName: value(HostPoolListValue^array) - cli: - cliKey: value - - propertyName: next_link(HostPoolListNextLink^string) - cli: - cliKey: nextLink - name: nextLink - readOnly: true - - schemaName: UserSessionList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: UserSessionList - properties: - - propertyName: value(UserSessionListValue^array) - cli: - cliKey: value - - propertyName: next_link(UserSessionListNextLink^string) - cli: - cliKey: nextLink - name: nextLink - readOnly: true - - schemaName: UserSession - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: UserSession - properties: - - propertyName: user_principal_name(UserSessionPropertiesUserPrincipalName^string) - cli: - cliKey: userPrincipalName - name: userPrincipalName - - propertyName: application_type(ApplicationType^choice) - cli: - cliKey: applicationType - name: applicationType - - propertyName: session_state(SessionState^choice) - cli: - cliKey: sessionState - name: sessionState - - propertyName: active_directory_user_name(UserSessionPropertiesActiveDirectoryUserName^string) - cli: - cliKey: activeDirectoryUserName - name: activeDirectoryUserName - - propertyName: create_time(user_session_properties_create_time^date-time) - cli: - cliKey: createTime - name: createTime - - schemaName: SessionHost - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHost - properties: - - propertyName: last_heart_beat(session_host_properties_last_heart_beat^date-time) - cli: - cliKey: lastHeartBeat - name: lastHeartBeat - - propertyName: sessions(Integer^integer) - cli: - cliKey: sessions - - propertyName: agent_version(SessionHostPropertiesAgentVersion^string) - cli: - cliKey: agentVersion - name: agentVersion - - propertyName: allow_new_session(boolean^boolean) - cli: - cliKey: allowNewSession - name: allowNewSession - - propertyName: assigned_user(SessionHostPropertiesAssignedUser^string) - cli: - cliKey: assignedUser - name: assignedUser - - propertyName: status(Status^choice) - cli: - cliKey: status - - propertyName: status_timestamp(session_host_properties_status_timestamp^date-time) - cli: - cliKey: statusTimestamp - name: statusTimestamp - readOnly: true - - propertyName: os_version(SessionHostPropertiesOsVersion^string) - cli: - cliKey: osVersion - name: osVersion - - propertyName: sx_s_stack_version(SessionHostPropertiesSxSStackVersion^string) - cli: - cliKey: sxSStackVersion - name: sxSStackVersion - - propertyName: update_state(UpdateState^choice) - cli: - cliKey: updateState - name: updateState - - propertyName: last_update_time(session_host_properties_last_update_time^date-time) - cli: - cliKey: lastUpdateTime - name: lastUpdateTime - readOnly: true - - propertyName: update_error_message(SessionHostPropertiesUpdateErrorMessage^string) - cli: - cliKey: updateErrorMessage - name: updateErrorMessage - - schemaName: SessionHostPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHostPatch - properties: - - propertyName: allow_new_session(boolean^boolean) - cli: - cliKey: allowNewSession - name: allowNewSession - - propertyName: assigned_user(SessionHostPatchPropertiesAssignedUser^string) - cli: - cliKey: assignedUser - name: assignedUser - - schemaName: SessionHostList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: SessionHostList - properties: - - propertyName: value(SessionHostListValue^array) - cli: - cliKey: value - - propertyName: next_link(SessionHostListNextLink^string) - cli: - cliKey: nextLink - name: nextLink - readOnly: true - - schemaName: SendMessage - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SendMessage - properties: - - propertyName: message_title(SendMessageTitle^string) - cli: - cliKey: messageTitle - name: messageTitle - - propertyName: message_body(SendMessageBody^string) - cli: - cliKey: messageBody - name: messageBody - choices: - all: - - choiceName: ApplicationGroupType - cli: - cliKey: ApplicationGroupType - choiceValues: - - choiceValue: remote_app - cli: - cliKey: RemoteApp - name: RemoteApp - - choiceValue: desktop - cli: - cliKey: Desktop - name: Desktop - - choiceName: CommandLineSetting - cli: - cliKey: CommandLineSetting - choiceValues: - - choiceValue: do_not_allow - cli: - cliKey: DoNotAllow - name: DoNotAllow - - choiceValue: allow - cli: - cliKey: Allow - name: Allow - - choiceValue: require - cli: - cliKey: Require - name: Require - - choiceName: HostPoolType - cli: - cliKey: HostPoolType - choiceValues: - - choiceValue: personal - cli: - cliKey: Personal - name: Personal - - choiceValue: pooled - cli: - cliKey: Pooled - name: Pooled - - choiceName: PersonalDesktopAssignmentType - cli: - cliKey: PersonalDesktopAssignmentType - choiceValues: - - choiceValue: automatic - cli: - cliKey: Automatic - name: Automatic - - choiceValue: direct - cli: - cliKey: Direct - name: Direct - - choiceName: LoadBalancerType - cli: - cliKey: LoadBalancerType - choiceValues: - - choiceValue: breadth_first - cli: - cliKey: BreadthFirst - name: BreadthFirst - - choiceValue: depth_first - cli: - cliKey: DepthFirst - name: DepthFirst - - choiceValue: persistent - cli: - cliKey: Persistent - name: Persistent - - choiceName: RegistrationTokenOperation - cli: - cliKey: RegistrationTokenOperation - choiceValues: - - choiceValue: delete - cli: - cliKey: Delete - name: Delete - - choiceValue: none - cli: - cliKey: None - name: None - - choiceValue: update - cli: - cliKey: Update - name: Update - - choiceName: ApplicationType - cli: - cliKey: ApplicationType - choiceValues: - - choiceValue: remote_app - cli: - cliKey: RemoteApp - name: RemoteApp - - choiceValue: desktop - cli: - cliKey: Desktop - name: Desktop - - choiceName: SessionState - cli: - cliKey: SessionState - choiceValues: - - choiceValue: unknown - cli: - cliKey: Unknown - name: Unknown - - choiceValue: active - cli: - cliKey: Active - name: Active - - choiceValue: disconnected - cli: - cliKey: Disconnected - name: Disconnected - - choiceValue: pending - cli: - cliKey: Pending - name: Pending - - choiceValue: log_off - cli: - cliKey: LogOff - name: LogOff - - choiceValue: user_profile_disk_mounted - cli: - cliKey: UserProfileDiskMounted - name: UserProfileDiskMounted - - choiceName: Status - cli: - cliKey: Status - choiceValues: - - choiceValue: available - cli: - cliKey: Available - name: Available - - choiceValue: unavailable - cli: - cliKey: Unavailable - name: Unavailable - - choiceValue: shutdown - cli: - cliKey: Shutdown - name: Shutdown - - choiceValue: disconnected - cli: - cliKey: Disconnected - name: Disconnected - - choiceValue: upgrading - cli: - cliKey: Upgrading - name: Upgrading - - choiceValue: upgrade_failed - cli: - cliKey: UpgradeFailed - name: UpgradeFailed - - choiceName: UpdateState - cli: - cliKey: UpdateState - choiceValues: - - choiceValue: initial - cli: - cliKey: Initial - name: Initial - - choiceValue: pending - cli: - cliKey: Pending - name: Pending - - choiceValue: started - cli: - cliKey: Started - name: Started - - choiceValue: succeeded - cli: - cliKey: Succeeded - name: Succeeded - - choiceValue: failed - cli: - cliKey: Failed - name: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000090-namer-post.yaml b/src/desktopvirtualization/_az_debug/clicommon-000090-namer-post.yaml deleted file mode 100644 index db46b90e4ae..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000090-namer-post.yaml +++ /dev/null @@ -1,11138 +0,0 @@ -info: - title: Desktop Virtualization API Client - extensions: - cli-dump-index: 90 -schemas: - booleans: - - &ref_53 - type: boolean - language: - default: - name: boolean - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - protocol: {} - - &ref_27 - type: boolean - language: - default: - name: boolean - description: Is validation environment. - protocol: {} - - &ref_356 - type: boolean - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: boolean - description: '' - protocol: {} - - &ref_73 - type: boolean - language: - default: - name: boolean - description: Allow a new session. - protocol: {} - numbers: - - &ref_47 - type: integer - precision: 32 - language: - default: - name: Integer - description: Index of the icon. - cli: - name: Integer - description: Index of the icon. - protocol: {} - - &ref_24 - type: integer - precision: 32 - language: - default: - name: Integer - description: The max session limit of HostPool. - cli: - name: Integer - description: The max session limit of HostPool. - protocol: {} - - &ref_26 - type: integer - precision: 32 - language: - default: - name: Integer - description: The ring number of HostPool. - cli: - name: Integer - description: The ring number of HostPool. - protocol: {} - - &ref_71 - type: integer - precision: 32 - language: - default: - name: Integer - description: Number of sessions on SessionHost. - cli: - name: Integer - description: Number of sessions on SessionHost. - protocol: {} - strings: - - &ref_0 - type: string - language: - default: - name: String - description: simple string - cli: - name: String - description: simple string - protocol: {} - - &ref_2 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationName - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cli: - name: ResourceProviderOperationName - description: 'Operation name, in format of {provider}/{resource}/{operation}' - protocol: {} - - &ref_3 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationDisplayProvider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cli: - name: ResourceProviderOperationDisplayProvider - description: 'Resource provider: Microsoft Desktop Virtualization.' - protocol: {} - - &ref_4 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationDisplayResource - description: Resource on which the operation is performed. - cli: - name: ResourceProviderOperationDisplayResource - description: Resource on which the operation is performed. - protocol: {} - - &ref_5 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationDisplayOperation - description: 'Type of operation: get, read, delete, etc.' - cli: - name: ResourceProviderOperationDisplayOperation - description: 'Type of operation: get, read, delete, etc.' - protocol: {} - - &ref_6 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationDisplayDescription - description: Description of this operation. - cli: - name: ResourceProviderOperationDisplayDescription - description: Description of this operation. - protocol: {} - - &ref_130 - type: string - apiVersions: - - version: '1.0' - minLength: 1 - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_136 - type: string - apiVersions: - - version: '1.0' - maxLength: 90 - minLength: 1 - pattern: '^[-\w\._\(\)]+$' - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_137 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 3 - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_91 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: ResourceId - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cli: - name: ResourceId - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - protocol: {} - - &ref_92 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: ResourceName - description: The name of the resource - cli: - name: ResourceName - description: The name of the resource - protocol: {} - - &ref_93 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: ResourceType - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cli: - name: ResourceType - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - protocol: {} - - &ref_1 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_38 - type: string - apiVersions: - - version: '1.0' - extensions: - x-ms-mutability: - - read - - create - language: - default: - name: TrackedResourceLocation - description: The geo-location where the resource lives - cli: - name: TrackedResourceLocation - description: The geo-location where the resource lives - protocol: {} - - &ref_11 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePropertiesDescription - description: Description of Workspace. - cli: - name: WorkspacePropertiesDescription - description: Description of Workspace. - protocol: {} - - &ref_12 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePropertiesFriendlyName - description: Friendly name of Workspace. - cli: - name: WorkspacePropertiesFriendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_13 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePropertiesApplicationGroupReferencesItem - description: '' - cli: - name: WorkspacePropertiesApplicationGroupReferencesItem - description: '' - protocol: {} - - &ref_94 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudErrorCode - description: Error code - cli: - name: CloudErrorCode - description: Error code - protocol: {} - - &ref_95 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudErrorMessage - description: Error message indicating why the operation failed. - cli: - name: CloudErrorMessage - description: Error message indicating why the operation failed. - protocol: {} - - &ref_96 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchPropertiesDescription - description: Description of Workspace. - cli: - name: WorkspacePatchPropertiesDescription - description: Description of Workspace. - protocol: {} - - &ref_97 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchPropertiesFriendlyName - description: Friendly name of Workspace. - cli: - name: WorkspacePatchPropertiesFriendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_98 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchPropertiesApplicationGroupReferencesItem - description: '' - cli: - name: WorkspacePatchPropertiesApplicationGroupReferencesItem - description: '' - protocol: {} - - &ref_99 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceListNextLink - description: Link to the next page of results. - cli: - name: WorkspaceListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_180 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_14 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPropertiesDescription - description: Description of ApplicationGroup. - cli: - name: ApplicationGroupPropertiesDescription - description: Description of ApplicationGroup. - protocol: {} - - &ref_15 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPropertiesFriendlyName - description: Friendly name of ApplicationGroup. - cli: - name: ApplicationGroupPropertiesFriendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_16 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPropertiesHostPoolArmPath - description: HostPool arm path of ApplicationGroup. - cli: - name: ApplicationGroupPropertiesHostPoolArmPath - description: HostPool arm path of ApplicationGroup. - protocol: {} - - &ref_17 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPropertiesWorkspaceArmPath - description: Workspace arm path of ApplicationGroup. - cli: - name: ApplicationGroupPropertiesWorkspaceArmPath - description: Workspace arm path of ApplicationGroup. - protocol: {} - - &ref_100 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupListNextLink - description: Link to the next page of results. - cli: - name: ApplicationGroupListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_40 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchPropertiesDescription - description: Description of ApplicationGroup. - cli: - name: ApplicationGroupPatchPropertiesDescription - description: Description of ApplicationGroup. - protocol: {} - - &ref_41 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchPropertiesFriendlyName - description: Friendly name of ApplicationGroup. - cli: - name: ApplicationGroupPatchPropertiesFriendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_42 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesAppAlias - description: Alias of StartMenuItem. - cli: - name: StartMenuItemPropertiesAppAlias - description: Alias of StartMenuItem. - protocol: {} - - &ref_43 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesFriendlyName - description: Friendly name of StartMenuItem. - cli: - name: StartMenuItemPropertiesFriendlyName - description: Friendly name of StartMenuItem. - protocol: {} - - &ref_44 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesFilePath - description: Path to the file of StartMenuItem. - cli: - name: StartMenuItemPropertiesFilePath - description: Path to the file of StartMenuItem. - protocol: {} - - &ref_45 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesCommandLineArguments - description: Command line arguments for StartMenuItem. - cli: - name: StartMenuItemPropertiesCommandLineArguments - description: Command line arguments for StartMenuItem. - protocol: {} - - &ref_46 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesIconPath - description: Path to the icon. - cli: - name: StartMenuItemPropertiesIconPath - description: Path to the icon. - protocol: {} - - &ref_101 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemListNextLink - description: Link to the next page of results. - cli: - name: StartMenuItemListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_48 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesDescription - description: Description of Application. - cli: - name: ApplicationPropertiesDescription - description: Description of Application. - protocol: {} - - &ref_49 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesFriendlyName - description: Friendly name of Application. - cli: - name: ApplicationPropertiesFriendlyName - description: Friendly name of Application. - protocol: {} - - &ref_50 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesFilePath - description: Specifies a path for the executable file for the application. - cli: - name: ApplicationPropertiesFilePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_52 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesCommandLineArguments - description: Command Line Arguments for Application. - cli: - name: ApplicationPropertiesCommandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_54 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesIconPath - description: Path to icon. - cli: - name: ApplicationPropertiesIconPath - description: Path to icon. - protocol: {} - - &ref_55 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesIconHash - description: Hash of the icon. - cli: - name: ApplicationPropertiesIconHash - description: Hash of the icon. - protocol: {} - - &ref_102 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesDescription - description: Description of Application. - cli: - name: ApplicationPatchPropertiesDescription - description: Description of Application. - protocol: {} - - &ref_103 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesFriendlyName - description: Friendly name of Application. - cli: - name: ApplicationPatchPropertiesFriendlyName - description: Friendly name of Application. - protocol: {} - - &ref_104 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesFilePath - description: Specifies a path for the executable file for the application. - cli: - name: ApplicationPatchPropertiesFilePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_105 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesCommandLineArguments - description: Command Line Arguments for Application. - cli: - name: ApplicationPatchPropertiesCommandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_106 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesIconPath - description: Path to icon. - cli: - name: ApplicationPatchPropertiesIconPath - description: Path to icon. - protocol: {} - - &ref_107 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationListNextLink - description: Link to the next page of results. - cli: - name: ApplicationListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_57 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPropertiesDescription - description: Description of Desktop. - cli: - name: DesktopPropertiesDescription - description: Description of Desktop. - protocol: {} - - &ref_58 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPropertiesFriendlyName - description: Friendly name of Desktop. - cli: - name: DesktopPropertiesFriendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_59 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPropertiesIconHash - description: Hash of the icon. - cli: - name: DesktopPropertiesIconHash - description: Hash of the icon. - protocol: {} - - &ref_108 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchPropertiesDescription - description: Description of Desktop. - cli: - name: DesktopPatchPropertiesDescription - description: Description of Desktop. - protocol: {} - - &ref_109 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchPropertiesFriendlyName - description: Friendly name of Desktop. - cli: - name: DesktopPatchPropertiesFriendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_110 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopListNextLink - description: Link to the next page of results. - cli: - name: DesktopListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_19 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesFriendlyName - description: Friendly name of HostPool. - cli: - name: HostPoolPropertiesFriendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_20 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesDescription - description: Description of HostPool. - cli: - name: HostPoolPropertiesDescription - description: Description of HostPool. - protocol: {} - - &ref_23 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesCustomRdpProperty - description: Custom rdp property of HostPool. - cli: - name: HostPoolPropertiesCustomRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_29 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: RegistrationInfoToken - description: The registration token base64 encoded string. - cli: - name: RegistrationInfoToken - description: The registration token base64 encoded string. - protocol: {} - - &ref_31 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesVmTemplate - description: VM template for sessionhosts configuration within hostpool. - cli: - name: HostPoolPropertiesVmTemplate - description: VM template for sessionhosts configuration within hostpool. - protocol: {} - - &ref_32 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesApplicationGroupReferencesItem - description: '' - cli: - name: HostPoolPropertiesApplicationGroupReferencesItem - description: '' - protocol: {} - - &ref_33 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesSsoContext - description: Path to keyvault containing ssoContext secret. - cli: - name: HostPoolPropertiesSsoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_61 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchPropertiesFriendlyName - description: Friendly name of HostPool. - cli: - name: HostPoolPatchPropertiesFriendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_62 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchPropertiesDescription - description: Description of HostPool. - cli: - name: HostPoolPatchPropertiesDescription - description: Description of HostPool. - protocol: {} - - &ref_63 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchPropertiesCustomRdpProperty - description: Custom rdp property of HostPool. - cli: - name: HostPoolPatchPropertiesCustomRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_64 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchPropertiesSsoContext - description: Path to keyvault containing ssoContext secret. - cli: - name: HostPoolPatchPropertiesSsoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_113 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolListNextLink - description: Link to the next page of results. - cli: - name: HostPoolListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_65 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionPropertiesUserPrincipalName - description: The user principal name. - cli: - name: UserSessionPropertiesUserPrincipalName - description: The user principal name. - protocol: {} - - &ref_68 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionPropertiesActiveDirectoryUserName - description: The active directory user name. - cli: - name: UserSessionPropertiesActiveDirectoryUserName - description: The active directory user name. - protocol: {} - - &ref_114 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionListNextLink - description: Link to the next page of results. - cli: - name: UserSessionListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_402 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 48 - minLength: 3 - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_72 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesAgentVersion - description: Version of agent on SessionHost. - cli: - name: SessionHostPropertiesAgentVersion - description: Version of agent on SessionHost. - protocol: {} - - &ref_74 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesAssignedUser - description: User assigned to SessionHost. - cli: - name: SessionHostPropertiesAssignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_77 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesOsVersion - description: The version of the OS on the session host. - cli: - name: SessionHostPropertiesOsVersion - description: The version of the OS on the session host. - protocol: {} - - &ref_78 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesSxSStackVersion - description: The version of the side by side stack on the session host. - cli: - name: SessionHostPropertiesSxSStackVersion - description: The version of the side by side stack on the session host. - protocol: {} - - &ref_81 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesUpdateErrorMessage - description: The error message. - cli: - name: SessionHostPropertiesUpdateErrorMessage - description: The error message. - protocol: {} - - &ref_82 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPatchPropertiesAssignedUser - description: User assigned to SessionHost. - cli: - name: SessionHostPatchPropertiesAssignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_115 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostListNextLink - description: Link to the next page of results. - cli: - name: SessionHostListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_403 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 1 - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_116 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessageTitle - description: Title of message. - cli: - name: SendMessageTitle - description: Title of message. - protocol: {} - - &ref_117 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessageBody - description: Body of message. - cli: - name: SendMessageBody - description: Body of message. - protocol: {} - choices: - - &ref_18 - choices: - - value: RemoteApp - language: - default: - name: remote_app - description: '' - cli: - name: RemoteApp - description: '' - cliKey: RemoteApp - - value: Desktop - language: - default: - name: desktop - description: '' - cli: - name: Desktop - description: '' - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationGroupType - description: Resource Type of ApplicationGroup. - cli: - name: ApplicationGroupType - description: Resource Type of ApplicationGroup. - cliKey: ApplicationGroupType - protocol: {} - - &ref_51 - choices: - - value: DoNotAllow - language: - default: - name: do_not_allow - description: '' - cli: - name: DoNotAllow - description: '' - cliKey: DoNotAllow - - value: Allow - language: - default: - name: allow - description: '' - cli: - name: Allow - description: '' - cliKey: Allow - - value: Require - language: - default: - name: require - description: '' - cli: - name: Require - description: '' - cliKey: Require - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: CommandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - name: CommandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cliKey: CommandLineSetting - protocol: {} - - &ref_21 - choices: - - value: Personal - language: - default: - name: personal - description: '' - cli: - name: Personal - description: '' - cliKey: Personal - - value: Pooled - language: - default: - name: pooled - description: '' - cli: - name: Pooled - description: '' - cliKey: Pooled - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: HostPoolType - description: HostPool type for desktop. - cli: - name: HostPoolType - description: HostPool type for desktop. - cliKey: HostPoolType - protocol: {} - - &ref_22 - choices: - - value: Automatic - language: - default: - name: automatic - description: '' - cli: - name: Automatic - description: '' - cliKey: Automatic - - value: Direct - language: - default: - name: direct - description: '' - cli: - name: Direct - description: '' - cliKey: Direct - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: PersonalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cli: - name: PersonalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cliKey: PersonalDesktopAssignmentType - protocol: {} - - &ref_25 - choices: - - value: BreadthFirst - language: - default: - name: breadth_first - description: '' - cli: - name: BreadthFirst - description: '' - cliKey: BreadthFirst - - value: DepthFirst - language: - default: - name: depth_first - description: '' - cli: - name: DepthFirst - description: '' - cliKey: DepthFirst - - value: Persistent - language: - default: - name: persistent - description: '' - cli: - name: Persistent - description: '' - cliKey: Persistent - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: LoadBalancerType - description: The type of the load balancer. - cli: - name: LoadBalancerType - description: The type of the load balancer. - cliKey: LoadBalancerType - protocol: {} - - &ref_30 - choices: - - value: Delete - language: - default: - name: delete - description: '' - cli: - name: Delete - description: '' - cliKey: Delete - - value: None - language: - default: - name: none - description: '' - cli: - name: None - description: '' - cliKey: None - - value: Update - language: - default: - name: update - description: '' - cli: - name: Update - description: '' - cliKey: Update - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: RegistrationTokenOperation - description: The type of resetting the token. - cli: - name: RegistrationTokenOperation - description: The type of resetting the token. - cliKey: RegistrationTokenOperation - protocol: {} - - &ref_66 - choices: - - value: RemoteApp - language: - default: - name: remote_app - description: '' - cli: - name: RemoteApp - description: '' - cliKey: RemoteApp - - value: Desktop - language: - default: - name: desktop - description: '' - cli: - name: Desktop - description: '' - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationType - description: Application type of application. - cli: - name: ApplicationType - description: Application type of application. - cliKey: ApplicationType - protocol: {} - - &ref_67 - choices: - - value: Unknown - language: - default: - name: unknown - description: '' - cli: - name: Unknown - description: '' - cliKey: Unknown - - value: Active - language: - default: - name: active - description: '' - cli: - name: Active - description: '' - cliKey: Active - - value: Disconnected - language: - default: - name: disconnected - description: '' - cli: - name: Disconnected - description: '' - cliKey: Disconnected - - value: Pending - language: - default: - name: pending - description: '' - cli: - name: Pending - description: '' - cliKey: Pending - - value: LogOff - language: - default: - name: log_off - description: '' - cli: - name: LogOff - description: '' - cliKey: LogOff - - value: UserProfileDiskMounted - language: - default: - name: user_profile_disk_mounted - description: '' - cli: - name: UserProfileDiskMounted - description: '' - cliKey: UserProfileDiskMounted - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: SessionState - description: State of user session. - cli: - name: SessionState - description: State of user session. - cliKey: SessionState - protocol: {} - - &ref_75 - choices: - - value: Available - language: - default: - name: available - description: '' - cli: - name: Available - description: '' - cliKey: Available - - value: Unavailable - language: - default: - name: unavailable - description: '' - cli: - name: Unavailable - description: '' - cliKey: Unavailable - - value: Shutdown - language: - default: - name: shutdown - description: '' - cli: - name: Shutdown - description: '' - cliKey: Shutdown - - value: Disconnected - language: - default: - name: disconnected - description: '' - cli: - name: Disconnected - description: '' - cliKey: Disconnected - - value: Upgrading - language: - default: - name: upgrading - description: '' - cli: - name: Upgrading - description: '' - cliKey: Upgrading - - value: UpgradeFailed - language: - default: - name: upgrade_failed - description: '' - cli: - name: UpgradeFailed - description: '' - cliKey: UpgradeFailed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: Status - description: Status for a SessionHost. - cli: - name: Status - description: Status for a SessionHost. - cliKey: Status - protocol: {} - - &ref_79 - choices: - - value: Initial - language: - default: - name: initial - description: '' - cli: - name: Initial - description: '' - cliKey: Initial - - value: Pending - language: - default: - name: pending - description: '' - cli: - name: Pending - description: '' - cliKey: Pending - - value: Started - language: - default: - name: started - description: '' - cli: - name: Started - description: '' - cliKey: Started - - value: Succeeded - language: - default: - name: succeeded - description: '' - cli: - name: Succeeded - description: '' - cliKey: Succeeded - - value: Failed - language: - default: - name: failed - description: '' - cli: - name: Failed - description: '' - cliKey: Failed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: UpdateState - description: Update state of a SessionHost. - cli: - name: UpdateState - description: Update state of a SessionHost. - cliKey: UpdateState - protocol: {} - constants: - - &ref_131 - type: constant - value: - value: 2019-12-10-preview - valueType: *ref_0 - language: - default: - name: api_version2019_12_10_preview - description: Api Version (2019-12-10-preview) - cli: - name: ApiVersion20191210Preview - description: Api Version (2019-12-10-preview) - protocol: {} - - &ref_141 - type: constant - value: - value: application/json - valueType: *ref_0 - language: - default: - name: application_json - description: Content Type 'application/json' - cli: - name: ApplicationJson - description: Content Type 'application/json' - protocol: {} - dictionaries: - - &ref_37 - type: dictionary - elementType: *ref_1 - language: - default: - name: TrackedResourceTags - description: Resource tags. - cli: - name: TrackedResourceTags - description: Resource tags. - cli-complexity: dictionary_simple - cli-mark: checked - protocol: {} - any: - - &ref_39 - type: any - language: - default: - name: any - description: Any object - protocol: {} - byteArrays: - - &ref_56 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_properties_icon_content - description: the icon a 64 bit string as a byte array. - protocol: {} - - &ref_60 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: desktop_properties_icon_content - description: The icon a 64 bit string as a byte array. - protocol: {} - dateTimes: - - &ref_28 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: registration_info_expiration_time - description: Expiration time of registration token. - protocol: {} - - &ref_69 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: user_session_properties_create_time - description: The timestamp of the user session create. - protocol: {} - - &ref_70 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_last_heart_beat - description: Last heart beat from SessionHost. - protocol: {} - - &ref_76 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_status_timestamp - description: The timestamp of the status. - protocol: {} - - &ref_80 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_last_update_time - description: The timestamp of the last update. - protocol: {} - objects: - - &ref_134 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_118 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: &ref_7 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_2 - serializedName: name - language: - default: - name: name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cli: - name: name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cliKey: name - protocol: {} - - schema: &ref_8 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_3 - serializedName: provider - language: - default: - name: provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cli: - name: provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cliKey: provider - protocol: {} - - schema: *ref_4 - serializedName: resource - language: - default: - name: resource - description: Resource on which the operation is performed. - cli: - name: resource - description: Resource on which the operation is performed. - cliKey: resource - protocol: {} - - schema: *ref_5 - serializedName: operation - language: - default: - name: operation - description: 'Type of operation: get, read, delete, etc.' - cli: - name: operation - description: 'Type of operation: get, read, delete, etc.' - cliKey: operation - protocol: {} - - schema: *ref_6 - serializedName: description - language: - default: - name: description - description: Description of this operation. - cli: - name: description - description: Description of this operation. - cliKey: description - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperationDisplay - description: Display metadata associated with the operation. - namespace: '' - cli: - name: ResourceProviderOperationDisplay - description: Display metadata associated with the operation. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ResourceProviderOperation-display - protocol: {} - serializedName: display - language: - default: - name: display - description: Display metadata associated with the operation. - cli: - name: display - description: Display metadata associated with the operation. - cliKey: display - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperation - description: Supported operation of this resource provider. - namespace: '' - cli: - name: ResourceProviderOperation - description: Supported operation of this resource provider. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ResourceProviderOperation - protocol: {} - language: - default: - name: ResourceProviderOperationListValue - description: List of operations supported by this resource provider. - cli: - name: ResourceProviderOperationListValue - description: List of operations supported by this resource provider. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of operations supported by this resource provider. - cli: - name: value - description: List of operations supported by this resource provider. - cliKey: value - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperationList - description: Result of the request to list operations. - namespace: '' - cli: - name: ResourceProviderOperationList - description: Result of the request to list operations. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ResourceProviderOperationList - protocol: {} - - *ref_7 - - *ref_8 - - &ref_10 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_9 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_34 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_147 - schema: *ref_11 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: &ref_148 - name: description - description: Description of Workspace. - cliKey: description - protocol: {} - - &ref_149 - schema: *ref_12 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: &ref_150 - name: friendlyName - description: Friendly name of Workspace. - cliKey: friendlyName - protocol: {} - - &ref_151 - schema: &ref_119 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_13 - language: - default: - name: WorkspacePropertiesApplicationGroupReferences - description: List of applicationGroup resource Ids. - cli: - name: WorkspacePropertiesApplicationGroupReferences - description: List of applicationGroup resource Ids. - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup resource Ids. - cli: &ref_152 - name: applicationGroupReferences - description: List of applicationGroup resource Ids. - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Workspace - description: Represents a Workspace definition. - namespace: '' - cli: - name: Workspace - description: Represents a Workspace definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: Workspace - protocol: {} - - &ref_35 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_188 - schema: *ref_14 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: &ref_189 - name: description - description: Description of ApplicationGroup. - cliKey: description - protocol: {} - - &ref_190 - schema: *ref_15 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: &ref_191 - name: friendlyName - description: Friendly name of ApplicationGroup. - cliKey: friendlyName - protocol: {} - - &ref_192 - schema: *ref_16 - flattenedNames: - - properties - - hostPoolArmPath - required: true - serializedName: hostPoolArmPath - language: - default: - name: host_pool_arm_path - description: HostPool arm path of ApplicationGroup. - cli: &ref_193 - name: hostPoolArmPath - description: HostPool arm path of ApplicationGroup. - cliKey: hostPoolArmPath - protocol: {} - - schema: *ref_17 - flattenedNames: - - properties - - workspaceArmPath - readOnly: true - required: false - serializedName: workspaceArmPath - language: - default: - name: workspace_arm_path - description: Workspace arm path of ApplicationGroup. - cli: - name: workspaceArmPath - description: Workspace arm path of ApplicationGroup. - cliKey: workspaceArmPath - protocol: {} - - &ref_194 - schema: *ref_18 - flattenedNames: - - properties - - applicationGroupType - required: true - serializedName: applicationGroupType - language: - default: - name: application_group_type - description: Resource Type of ApplicationGroup. - cli: &ref_195 - name: applicationGroupType - description: Resource Type of ApplicationGroup. - cliKey: applicationGroupType - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationGroup - description: Represents a ApplicationGroup definition. - namespace: '' - cli: - name: ApplicationGroup - description: Represents a ApplicationGroup definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroup - protocol: {} - - &ref_36 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_316 - schema: *ref_19 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: &ref_317 - name: friendlyName - description: Friendly name of HostPool. - cliKey: friendlyName - protocol: {} - - &ref_318 - schema: *ref_20 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: &ref_319 - name: description - description: Description of HostPool. - cliKey: description - protocol: {} - - &ref_320 - schema: *ref_21 - flattenedNames: - - properties - - hostPoolType - required: true - serializedName: hostPoolType - language: - default: - name: host_pool_type - description: HostPool type for desktop. - cli: &ref_321 - name: hostPoolType - description: HostPool type for desktop. - cliKey: hostPoolType - protocol: {} - - &ref_322 - schema: *ref_22 - flattenedNames: - - properties - - personalDesktopAssignmentType - required: true - serializedName: personalDesktopAssignmentType - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: &ref_323 - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cliKey: personalDesktopAssignmentType - protocol: {} - - &ref_324 - schema: *ref_23 - flattenedNames: - - properties - - customRdpProperty - required: false - serializedName: customRdpProperty - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: &ref_325 - name: customRdpProperty - description: Custom rdp property of HostPool. - cliKey: customRdpProperty - protocol: {} - - &ref_326 - schema: *ref_24 - flattenedNames: - - properties - - maxSessionLimit - required: false - serializedName: maxSessionLimit - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: &ref_327 - name: maxSessionLimit - description: The max session limit of HostPool. - cliKey: maxSessionLimit - protocol: {} - - &ref_328 - schema: *ref_25 - flattenedNames: - - properties - - loadBalancerType - required: true - serializedName: loadBalancerType - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: &ref_329 - name: loadBalancerType - description: The type of the load balancer. - cliKey: loadBalancerType - protocol: {} - - &ref_330 - schema: *ref_26 - flattenedNames: - - properties - - ring - required: false - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: &ref_331 - name: ring - description: The ring number of HostPool. - cliKey: ring - protocol: {} - - &ref_332 - schema: *ref_27 - flattenedNames: - - properties - - validationEnvironment - required: false - serializedName: validationEnvironment - language: - default: - name: validation_environment - description: Is validation environment. - cli: &ref_333 - name: validationEnvironment - description: Is validation environment. - cliKey: validationEnvironment - protocol: {} - - &ref_334 - schema: &ref_111 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_28 - serializedName: expirationTime - language: - default: - name: expiration_time - description: Expiration time of registration token. - cli: - name: expirationTime - description: Expiration time of registration token. - cliKey: expirationTime - protocol: {} - - schema: *ref_29 - serializedName: token - language: - default: - name: token - description: The registration token base64 encoded string. - cli: - name: token - description: The registration token base64 encoded string. - cliKey: token - protocol: {} - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registration_token_operation - description: The type of resetting the token. - cli: - name: registrationTokenOperation - description: The type of resetting the token. - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: RegistrationInfo - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - name: RegistrationInfo - description: Represents a RegistrationInfo definition. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 3 - propertyCountIfSimplifyWithoutSimpleObject: 3 - simplifiable: true - cliKey: RegistrationInfo - protocol: {} - flattenedNames: - - properties - - registrationInfo - required: false - serializedName: registrationInfo - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: &ref_335 - name: registrationInfo - description: The registration info of HostPool. - cliKey: registrationInfo - protocol: {} - - &ref_336 - schema: *ref_31 - flattenedNames: - - properties - - vmTemplate - required: false - serializedName: vmTemplate - language: - default: - name: vm_template - description: VM template for sessionhosts configuration within hostpool. - cli: &ref_337 - name: vmTemplate - description: VM template for sessionhosts configuration within hostpool. - cliKey: vmTemplate - protocol: {} - - schema: &ref_126 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_32 - language: - default: - name: HostPoolPropertiesApplicationGroupReferences - description: List of applicationGroup links. - cli: - name: HostPoolPropertiesApplicationGroupReferences - description: List of applicationGroup links. - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - readOnly: true - required: false - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: - name: applicationGroupReferences - description: List of applicationGroup links. - cliKey: applicationGroupReferences - protocol: {} - - &ref_338 - schema: *ref_33 - flattenedNames: - - properties - - ssoContext - required: false - serializedName: ssoContext - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: &ref_339 - name: ssoContext - description: Path to keyvault containing ssoContext secret. - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: HostPool - description: Represents a HostPool definition. - namespace: '' - cli: - name: HostPool - description: Represents a HostPool definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPool - protocol: {} - immediate: - - *ref_34 - - *ref_35 - - *ref_36 - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_143 - schema: *ref_37 - required: false - serializedName: tags - language: - default: - name: tags - description: Resource tags. - cli: &ref_144 - name: tags - description: Resource tags. - cliKey: tags - protocol: {} - - &ref_145 - schema: *ref_38 - required: true - serializedName: location - language: - default: - name: location - description: The geo-location where the resource lives - cli: &ref_146 - name: location - description: The geo-location where the resource lives - cliKey: location - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: TrackedResource - description: The resource model definition for a ARM tracked top level resource - namespace: '' - cli: - name: TrackedResource - description: The resource model definition for a ARM tracked top level resource - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: TrackedResource - protocol: {} - - *ref_34 - - *ref_35 - - &ref_83 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_207 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_208 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_209 - schema: *ref_40 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: &ref_210 - name: description - description: Description of ApplicationGroup. - cliKey: description - protocol: {} - - &ref_211 - schema: *ref_41 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: &ref_212 - name: friendlyName - description: Friendly name of ApplicationGroup. - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: ApplicationGroupPatch - description: ApplicationGroup properties that can be patched. - namespace: '' - cli: - name: ApplicationGroupPatch - description: ApplicationGroup properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupPatch - protocol: {} - - &ref_84 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_42 - flattenedNames: - - properties - - appAlias - serializedName: appAlias - language: - default: - name: app_alias - description: Alias of StartMenuItem. - cli: - name: appAlias - description: Alias of StartMenuItem. - cliKey: appAlias - protocol: {} - - schema: *ref_43 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of StartMenuItem. - cli: - name: friendlyName - description: Friendly name of StartMenuItem. - cliKey: friendlyName - protocol: {} - - schema: *ref_44 - flattenedNames: - - properties - - filePath - serializedName: filePath - language: - default: - name: file_path - description: Path to the file of StartMenuItem. - cli: - name: filePath - description: Path to the file of StartMenuItem. - cliKey: filePath - protocol: {} - - schema: *ref_45 - flattenedNames: - - properties - - commandLineArguments - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command line arguments for StartMenuItem. - cli: - name: commandLineArguments - description: Command line arguments for StartMenuItem. - cliKey: commandLineArguments - protocol: {} - - schema: *ref_46 - flattenedNames: - - properties - - iconPath - serializedName: iconPath - language: - default: - name: icon_path - description: Path to the icon. - cli: - name: iconPath - description: Path to the icon. - cliKey: iconPath - protocol: {} - - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: - name: iconIndex - description: Index of the icon. - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: StartMenuItem - description: Represents a StartMenuItem definition. - namespace: '' - cli: - name: StartMenuItem - description: Represents a StartMenuItem definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: StartMenuItem - protocol: {} - - &ref_85 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_228 - schema: *ref_48 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: &ref_229 - name: description - description: Description of Application. - cliKey: description - protocol: {} - - &ref_230 - schema: *ref_49 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: &ref_231 - name: friendlyName - description: Friendly name of Application. - cliKey: friendlyName - protocol: {} - - &ref_232 - schema: *ref_50 - flattenedNames: - - properties - - filePath - required: false - serializedName: filePath - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: &ref_233 - name: filePath - description: Specifies a path for the executable file for the application. - cliKey: filePath - protocol: {} - - &ref_234 - schema: *ref_51 - flattenedNames: - - properties - - commandLineSetting - required: true - serializedName: commandLineSetting - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: &ref_235 - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cliKey: commandLineSetting - protocol: {} - - &ref_236 - schema: *ref_52 - flattenedNames: - - properties - - commandLineArguments - required: false - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: &ref_237 - name: commandLineArguments - description: Command Line Arguments for Application. - cliKey: commandLineArguments - protocol: {} - - &ref_238 - schema: *ref_53 - flattenedNames: - - properties - - showInPortal - required: false - serializedName: showInPortal - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: &ref_239 - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cliKey: showInPortal - protocol: {} - - &ref_240 - schema: *ref_54 - flattenedNames: - - properties - - iconPath - required: false - serializedName: iconPath - language: - default: - name: icon_path - description: Path to icon. - cli: &ref_241 - name: iconPath - description: Path to icon. - cliKey: iconPath - protocol: {} - - &ref_242 - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - required: false - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: &ref_243 - name: iconIndex - description: Index of the icon. - cliKey: iconIndex - protocol: {} - - schema: *ref_55 - flattenedNames: - - properties - - iconHash - readOnly: true - required: false - serializedName: iconHash - language: - default: - name: icon_hash - description: Hash of the icon. - cli: - name: iconHash - description: Hash of the icon. - cliKey: iconHash - protocol: {} - - schema: *ref_56 - flattenedNames: - - properties - - iconContent - readOnly: true - required: false - serializedName: iconContent - language: - default: - name: icon_content - description: the icon a 64 bit string as a byte array. - cli: - name: iconContent - description: the icon a 64 bit string as a byte array. - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Application - description: Schema for Application properties. - namespace: '' - cli: - name: Application - description: Schema for Application properties. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Application - protocol: {} - - &ref_86 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_57 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: - name: description - description: Description of Desktop. - cliKey: description - protocol: {} - - schema: *ref_58 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: - name: friendlyName - description: Friendly name of Desktop. - cliKey: friendlyName - protocol: {} - - schema: *ref_59 - flattenedNames: - - properties - - iconHash - readOnly: true - serializedName: iconHash - language: - default: - name: icon_hash - description: Hash of the icon. - cli: - name: iconHash - description: Hash of the icon. - cliKey: iconHash - protocol: {} - - schema: *ref_60 - flattenedNames: - - properties - - iconContent - readOnly: true - serializedName: iconContent - language: - default: - name: icon_content - description: The icon a 64 bit string as a byte array. - cli: - name: iconContent - description: The icon a 64 bit string as a byte array. - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Desktop - description: Schema for Desktop properties. - namespace: '' - cli: - name: Desktop - description: Schema for Desktop properties. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Desktop - protocol: {} - - *ref_36 - - &ref_87 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_361 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_362 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_363 - schema: *ref_61 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: &ref_364 - name: friendlyName - description: Friendly name of HostPool. - cliKey: friendlyName - protocol: {} - - &ref_365 - schema: *ref_62 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: &ref_366 - name: description - description: Description of HostPool. - cliKey: description - protocol: {} - - &ref_367 - schema: *ref_63 - flattenedNames: - - properties - - customRdpProperty - serializedName: customRdpProperty - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: &ref_368 - name: customRdpProperty - description: Custom rdp property of HostPool. - cliKey: customRdpProperty - protocol: {} - - &ref_369 - schema: *ref_24 - flattenedNames: - - properties - - maxSessionLimit - serializedName: maxSessionLimit - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: &ref_370 - name: maxSessionLimit - description: The max session limit of HostPool. - cliKey: maxSessionLimit - protocol: {} - - &ref_371 - schema: *ref_22 - flattenedNames: - - properties - - personalDesktopAssignmentType - serializedName: personalDesktopAssignmentType - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: &ref_372 - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cliKey: personalDesktopAssignmentType - protocol: {} - - &ref_373 - schema: *ref_25 - flattenedNames: - - properties - - loadBalancerType - serializedName: loadBalancerType - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: &ref_374 - name: loadBalancerType - description: The type of the load balancer. - cliKey: loadBalancerType - protocol: {} - - &ref_375 - schema: *ref_26 - flattenedNames: - - properties - - ring - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: &ref_376 - name: ring - description: The ring number of HostPool. - cliKey: ring - protocol: {} - - &ref_377 - schema: *ref_27 - flattenedNames: - - properties - - validationEnvironment - serializedName: validationEnvironment - language: - default: - name: validation_environment - description: Is validation environment. - cli: &ref_378 - name: validationEnvironment - description: Is validation environment. - cliKey: validationEnvironment - protocol: {} - - &ref_379 - schema: &ref_112 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registration_token_operation - description: The type of resetting the token. - cli: - name: registrationTokenOperation - description: The type of resetting the token. - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: RegistrationInfoPatch - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - name: RegistrationInfoPatch - description: Represents a RegistrationInfo definition. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 1 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: RegistrationInfoPatch - protocol: {} - flattenedNames: - - properties - - registrationInfo - serializedName: registrationInfo - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: &ref_380 - name: registrationInfo - description: The registration info of HostPool. - cliKey: registrationInfo - protocol: {} - - &ref_381 - schema: *ref_64 - flattenedNames: - - properties - - ssoContext - serializedName: ssoContext - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: &ref_382 - name: ssoContext - description: Path to keyvault containing ssoContext secret. - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: HostPoolPatch - description: HostPool properties that can be patched. - namespace: '' - cli: - name: HostPoolPatch - description: HostPool properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolPatch - protocol: {} - - &ref_88 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_65 - flattenedNames: - - properties - - userPrincipalName - serializedName: userPrincipalName - language: - default: - name: user_principal_name - description: The user principal name. - cli: - name: userPrincipalName - description: The user principal name. - cliKey: userPrincipalName - protocol: {} - - schema: *ref_66 - flattenedNames: - - properties - - applicationType - serializedName: applicationType - language: - default: - name: application_type - description: Application type of application. - cli: - name: applicationType - description: Application type of application. - cliKey: applicationType - protocol: {} - - schema: *ref_67 - flattenedNames: - - properties - - sessionState - serializedName: sessionState - language: - default: - name: session_state - description: State of user session. - cli: - name: sessionState - description: State of user session. - cliKey: sessionState - protocol: {} - - schema: *ref_68 - flattenedNames: - - properties - - activeDirectoryUserName - serializedName: activeDirectoryUserName - language: - default: - name: active_directory_user_name - description: The active directory user name. - cli: - name: activeDirectoryUserName - description: The active directory user name. - cliKey: activeDirectoryUserName - protocol: {} - - schema: *ref_69 - flattenedNames: - - properties - - createTime - serializedName: createTime - language: - default: - name: create_time - description: The timestamp of the user session create. - cli: - name: createTime - description: The timestamp of the user session create. - cliKey: createTime - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: UserSession - description: Represents a UserSession definition. - namespace: '' - cli: - name: UserSession - description: Represents a UserSession definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: UserSession - protocol: {} - - &ref_89 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_70 - flattenedNames: - - properties - - lastHeartBeat - serializedName: lastHeartBeat - language: - default: - name: last_heart_beat - description: Last heart beat from SessionHost. - cli: - name: lastHeartBeat - description: Last heart beat from SessionHost. - cliKey: lastHeartBeat - protocol: {} - - schema: *ref_71 - flattenedNames: - - properties - - sessions - serializedName: sessions - language: - default: - name: sessions - description: Number of sessions on SessionHost. - cli: - name: sessions - description: Number of sessions on SessionHost. - cliKey: sessions - protocol: {} - - schema: *ref_72 - flattenedNames: - - properties - - agentVersion - serializedName: agentVersion - language: - default: - name: agent_version - description: Version of agent on SessionHost. - cli: - name: agentVersion - description: Version of agent on SessionHost. - cliKey: agentVersion - protocol: {} - - schema: *ref_73 - flattenedNames: - - properties - - allowNewSession - serializedName: allowNewSession - language: - default: - name: allow_new_session - description: Allow a new session. - cli: - name: allowNewSession - description: Allow a new session. - cliKey: allowNewSession - protocol: {} - - schema: *ref_74 - flattenedNames: - - properties - - assignedUser - serializedName: assignedUser - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: - name: assignedUser - description: User assigned to SessionHost. - cliKey: assignedUser - protocol: {} - - schema: *ref_75 - flattenedNames: - - properties - - status - serializedName: status - language: - default: - name: status - description: Status for a SessionHost. - cli: - name: status - description: Status for a SessionHost. - cliKey: status - protocol: {} - - schema: *ref_76 - flattenedNames: - - properties - - statusTimestamp - readOnly: true - serializedName: statusTimestamp - language: - default: - name: status_timestamp - description: The timestamp of the status. - cli: - name: statusTimestamp - description: The timestamp of the status. - cliKey: statusTimestamp - protocol: {} - - schema: *ref_77 - flattenedNames: - - properties - - osVersion - serializedName: osVersion - language: - default: - name: os_version - description: The version of the OS on the session host. - cli: - name: osVersion - description: The version of the OS on the session host. - cliKey: osVersion - protocol: {} - - schema: *ref_78 - flattenedNames: - - properties - - sxSStackVersion - serializedName: sxSStackVersion - language: - default: - name: sx_s_stack_version - description: The version of the side by side stack on the session host. - cli: - name: sxSStackVersion - description: The version of the side by side stack on the session host. - cliKey: sxSStackVersion - protocol: {} - - schema: *ref_79 - flattenedNames: - - properties - - updateState - serializedName: updateState - language: - default: - name: update_state - description: Update state of a SessionHost. - cli: - name: updateState - description: Update state of a SessionHost. - cliKey: updateState - protocol: {} - - schema: *ref_80 - flattenedNames: - - properties - - lastUpdateTime - readOnly: true - serializedName: lastUpdateTime - language: - default: - name: last_update_time - description: The timestamp of the last update. - cli: - name: lastUpdateTime - description: The timestamp of the last update. - cliKey: lastUpdateTime - protocol: {} - - schema: *ref_81 - flattenedNames: - - properties - - updateErrorMessage - serializedName: updateErrorMessage - language: - default: - name: update_error_message - description: The error message. - cli: - name: updateErrorMessage - description: The error message. - cliKey: updateErrorMessage - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: SessionHost - description: Represents a SessionHost definition. - namespace: '' - cli: - name: SessionHost - description: Represents a SessionHost definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHost - protocol: {} - - &ref_90 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_440 - schema: *ref_73 - flattenedNames: - - properties - - allowNewSession - serializedName: allowNewSession - language: - default: - name: allow_new_session - description: Allow a new session. - cli: &ref_441 - name: allowNewSession - description: Allow a new session. - cliKey: allowNewSession - protocol: {} - - &ref_442 - schema: *ref_82 - flattenedNames: - - properties - - assignedUser - serializedName: assignedUser - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: &ref_443 - name: assignedUser - description: User assigned to SessionHost. - cliKey: assignedUser - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: SessionHostPatch - description: SessionHost properties that can be patched. - namespace: '' - cli: - name: SessionHostPatch - description: SessionHost properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHostPatch - protocol: {} - immediate: - - *ref_9 - - *ref_83 - - *ref_84 - - *ref_85 - - *ref_86 - - *ref_87 - - *ref_88 - - *ref_89 - - *ref_90 - properties: - - schema: *ref_91 - readOnly: true - serializedName: id - language: - default: - name: id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cli: - name: id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cliKey: id - protocol: {} - - schema: *ref_92 - readOnly: true - serializedName: name - language: - default: - name: name - description: The name of the resource - cli: - name: name - description: The name of the resource - cliKey: name - protocol: {} - - schema: *ref_93 - readOnly: true - serializedName: type - language: - default: - name: type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cli: - name: type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cliKey: type - protocol: {} - serializationFormats: - - json - usage: - - output - - input - extensions: - x-ms-azure-resource: true - language: - default: - name: Resource - description: '' - namespace: '' - cli: - name: Resource - description: '' - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 0 - propertyCountIfSimplifyWithoutSimpleObject: 0 - simplifiable: true - cliKey: Resource - protocol: {} - - *ref_9 - - *ref_34 - - &ref_140 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_94 - serializedName: code - language: - default: - name: code - description: Error code - cli: - name: code - description: Error code - cliKey: code - protocol: {} - - schema: *ref_95 - serializedName: message - language: - default: - name: message - description: Error message indicating why the operation failed. - cli: - name: message - description: Error message indicating why the operation failed. - cliKey: message - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: CloudError - description: Error response of an operation failure - namespace: '' - cli: - name: CloudError - description: Error response of an operation failure - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: CloudError - protocol: {} - - &ref_162 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_164 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_165 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_166 - schema: *ref_96 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: &ref_167 - name: description - description: Description of Workspace. - cliKey: description - protocol: {} - - &ref_168 - schema: *ref_97 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: &ref_169 - name: friendlyName - description: Friendly name of Workspace. - cliKey: friendlyName - protocol: {} - - &ref_170 - schema: &ref_120 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_98 - language: - default: - name: WorkspacePatchPropertiesApplicationGroupReferences - description: List of applicationGroup links. - cli: - name: WorkspacePatchPropertiesApplicationGroupReferences - description: List of applicationGroup links. - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: &ref_171 - name: applicationGroupReferences - description: List of applicationGroup links. - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: WorkspacePatch - description: Workspace properties that can be patched. - namespace: '' - cli: - name: WorkspacePatch - description: Workspace properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatch - protocol: {} - - &ref_179 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_121 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_34 - language: - default: - name: WorkspaceListValue - description: List of Workspace definitions. - cli: - name: WorkspaceListValue - description: List of Workspace definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Workspace definitions. - cli: - name: value - description: List of Workspace definitions. - cliKey: value - protocol: {} - - schema: *ref_99 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: WorkspaceList - usage: - - output - language: - default: - name: WorkspaceList - description: List of Workspace definitions. - namespace: '' - summary: WorkspaceList - cli: - name: WorkspaceList - description: List of Workspace definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceList - protocol: {} - - &ref_184 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_122 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_35 - language: - default: - name: ApplicationGroupListValue - description: List of ApplicationGroup definitions. - cli: - name: ApplicationGroupListValue - description: List of ApplicationGroup definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of ApplicationGroup definitions. - cli: - name: value - description: List of ApplicationGroup definitions. - cliKey: value - protocol: {} - - schema: *ref_100 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationGroupList - usage: - - output - language: - default: - name: ApplicationGroupList - description: List of ApplicationGroup definitions. - namespace: '' - summary: ApplicationGroupList - cli: - name: ApplicationGroupList - description: List of ApplicationGroup definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupList - protocol: {} - - *ref_35 - - *ref_83 - - &ref_223 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_123 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_84 - language: - default: - name: StartMenuItemListValue - description: List of StartMenuItem definitions. - cli: - name: StartMenuItemListValue - description: List of StartMenuItem definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of StartMenuItem definitions. - cli: - name: value - description: List of StartMenuItem definitions. - cliKey: value - protocol: {} - - schema: *ref_101 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: StartMenuItemList - usage: - - output - language: - default: - name: StartMenuItemList - description: List of StartMenuItem definitions. - namespace: '' - summary: StartMenuItemList - cli: - name: StartMenuItemList - description: List of StartMenuItem definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: StartMenuItemList - protocol: {} - - *ref_84 - - *ref_85 - - &ref_258 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_260 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_261 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_262 - schema: *ref_102 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: &ref_263 - name: description - description: Description of Application. - cliKey: description - protocol: {} - - &ref_264 - schema: *ref_103 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: &ref_265 - name: friendlyName - description: Friendly name of Application. - cliKey: friendlyName - protocol: {} - - &ref_266 - schema: *ref_104 - flattenedNames: - - properties - - filePath - serializedName: filePath - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: &ref_267 - name: filePath - description: Specifies a path for the executable file for the application. - cliKey: filePath - protocol: {} - - &ref_268 - schema: *ref_51 - flattenedNames: - - properties - - commandLineSetting - serializedName: commandLineSetting - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: &ref_269 - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cliKey: commandLineSetting - protocol: {} - - &ref_270 - schema: *ref_105 - flattenedNames: - - properties - - commandLineArguments - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: &ref_271 - name: commandLineArguments - description: Command Line Arguments for Application. - cliKey: commandLineArguments - protocol: {} - - &ref_272 - schema: *ref_53 - flattenedNames: - - properties - - showInPortal - serializedName: showInPortal - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: &ref_273 - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cliKey: showInPortal - protocol: {} - - &ref_274 - schema: *ref_106 - flattenedNames: - - properties - - iconPath - serializedName: iconPath - language: - default: - name: icon_path - description: Path to icon. - cli: &ref_275 - name: iconPath - description: Path to icon. - cliKey: iconPath - protocol: {} - - &ref_276 - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: &ref_277 - name: iconIndex - description: Index of the icon. - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: ApplicationPatch - description: Application properties that can be patched. - namespace: '' - cli: - name: ApplicationPatch - description: Application properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationPatch - protocol: {} - - &ref_292 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_124 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_85 - language: - default: - name: ApplicationListValue - description: List of Application definitions. - cli: - name: ApplicationListValue - description: List of Application definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Application definitions. - cli: - name: value - description: List of Application definitions. - cliKey: value - protocol: {} - - schema: *ref_107 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationList - usage: - - output - language: - default: - name: ApplicationList - description: List of Application definitions. - namespace: '' - summary: ApplicationList - cli: - name: ApplicationList - description: List of Application definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationList - protocol: {} - - *ref_86 - - &ref_296 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_298 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_299 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_300 - schema: *ref_108 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: &ref_301 - name: description - description: Description of Desktop. - cliKey: description - protocol: {} - - &ref_302 - schema: *ref_109 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: &ref_303 - name: friendlyName - description: Friendly name of Desktop. - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: DesktopPatch - description: Desktop properties that can be patched. - namespace: '' - cli: - name: DesktopPatch - description: Desktop properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopPatch - protocol: {} - - &ref_312 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_125 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_86 - language: - default: - name: DesktopListValue - description: List of Desktop definitions. - cli: - name: DesktopListValue - description: List of Desktop definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Desktop definitions. - cli: - name: value - description: List of Desktop definitions. - cliKey: value - protocol: {} - - schema: *ref_110 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: DesktopList - usage: - - output - language: - default: - name: DesktopList - description: List of Desktop definitions. - namespace: '' - summary: DesktopList - cli: - name: DesktopList - description: List of Desktop definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopList - protocol: {} - - *ref_36 - - *ref_111 - - *ref_87 - - *ref_112 - - &ref_397 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_127 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_36 - language: - default: - name: HostPoolListValue - description: List of HostPool definitions. - cli: - name: HostPoolListValue - description: List of HostPool definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of HostPool definitions. - cli: - name: value - description: List of HostPool definitions. - cliKey: value - protocol: {} - - schema: *ref_113 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: HostPoolList - usage: - - output - language: - default: - name: HostPoolList - description: List of HostPool definitions. - namespace: '' - summary: HostPoolList - cli: - name: HostPoolList - description: List of HostPool definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolList - protocol: {} - - &ref_401 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_128 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_88 - language: - default: - name: UserSessionListValue - description: List of UserSession definitions. - cli: - name: UserSessionListValue - description: List of UserSession definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of UserSession definitions. - cli: - name: value - description: List of UserSession definitions. - cliKey: value - protocol: {} - - schema: *ref_114 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: UserSessionList - usage: - - output - language: - default: - name: UserSessionList - description: List of UserSession definitions. - namespace: '' - summary: UserSessionList - cli: - name: UserSessionList - description: List of UserSession definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: UserSessionList - protocol: {} - - *ref_88 - - *ref_89 - - *ref_90 - - &ref_451 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_129 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_89 - language: - default: - name: SessionHostListValue - description: List of SessionHost definitions. - cli: - name: SessionHostListValue - description: List of SessionHost definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of SessionHost definitions. - cli: - name: value - description: List of SessionHost definitions. - cliKey: value - protocol: {} - - schema: *ref_115 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: SessionHostList - usage: - - output - language: - default: - name: SessionHostList - description: List of SessionHost definitions. - namespace: '' - summary: SessionHostList - cli: - name: SessionHostList - description: List of SessionHost definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: SessionHostList - protocol: {} - - &ref_420 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_422 - schema: *ref_116 - serializedName: messageTitle - language: - default: - name: message_title - description: Title of message. - cli: &ref_423 - name: messageTitle - description: Title of message. - cliKey: messageTitle - protocol: {} - - &ref_424 - schema: *ref_117 - serializedName: messageBody - language: - default: - name: message_body - description: Body of message. - cli: &ref_425 - name: messageBody - description: Body of message. - cliKey: messageBody - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: SendMessage - description: Represents message sent to a UserSession. - namespace: '' - cli: - name: SendMessage - description: Represents message sent to a UserSession. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SendMessage - protocol: {} - arrays: - - *ref_118 - - *ref_119 - - *ref_120 - - *ref_121 - - *ref_122 - - *ref_123 - - *ref_124 - - *ref_125 - - *ref_126 - - *ref_127 - - *ref_128 - - *ref_129 -globalParameters: - - &ref_135 - schema: *ref_130 - implementation: Client - required: true - extensions: - x-ms-priority: 0 - language: - default: - name: subscription_id - description: The ID of the target subscription. - serializedName: subscriptionId - cli: - name: subscriptionId - description: The ID of the target subscription. - cliKey: subscriptionId - protocol: - http: - in: path - - &ref_132 - schema: *ref_0 - clientDefaultValue: 'https://management.azure.com' - implementation: Client - origin: 'modelerfour:synthesized/host' - required: true - extensions: - x-ms-skip-url-encoding: true - language: - default: - name: $host - description: server parameter - serializedName: $host - cli: - name: $host - description: server parameter - cliKey: $host - protocol: - http: - in: uri - - &ref_133 - schema: *ref_131 - implementation: Client - origin: 'modelerfour:synthesized/api-version' - required: true - language: - default: - name: api_version - description: Api Version - serializedName: api-version - cli: - name: ApiVersion - description: Api Version - cliKey: ApiVersion - protocol: - http: - in: query -operationGroups: - - $key: Operations - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: /providers/Microsoft.DesktopVirtualization/operations - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_134 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - extensions: - x-ms-examples: - OperationDescription_List: - parameters: - api-version: 2019-12-10-preview - responses: - '200': - body: - value: - - name: Microsoft.DesktopVirtualization/ssocontext/read - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - - name: Microsoft.DesktopVirtualization/ssocontext/write - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - language: - default: - name: list - description: List all of the available operations the Desktop Virtualization resource provider supports. - cli: - name: List - description: List all of the available operations the Desktop Virtualization resource provider supports. - cliKey: List - hidden: true - protocol: {} - language: - default: - name: Operation - description: '' - cli: - name: Operation - description: '' - cliKey: Operations - protocol: {} - - $key: Workspaces - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_138 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_139 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_138 - - *ref_139 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Get: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get a workspace. - cli: - name: Get - description: Get a workspace. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_158 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_159 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_142 - schema: *ref_34 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _workspace - description: Object containing Workspace definitions. - cli: - name: _workspace - description: Object containing Workspace definitions. - cliKey: workspace - protocol: - http: - in: body - style: json - - &ref_153 - schema: *ref_37 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_154 - schema: *ref_38 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_155 - schema: *ref_11 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_147 - language: - default: - name: description - description: Description of Workspace. - cli: *ref_148 - protocol: {} - - &ref_156 - schema: *ref_12 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_149 - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: *ref_150 - protocol: {} - - &ref_157 - schema: *ref_119 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_151 - language: - default: - name: application_group_references - description: List of applicationGroup resource Ids. - cli: *ref_152 - protocol: {} - signatureParameters: - - *ref_153 - - *ref_154 - - *ref_155 - - *ref_156 - - *ref_157 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_158 - - *ref_159 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Create: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '201': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update a workspace. - cli: - name: CreateOrUpdate - description: Create or update a workspace. - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_160 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_161 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_160 - - *ref_161 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Delete: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove a workspace. - cli: - name: Delete - description: Remove a workspace. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_176 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_177 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_163 - schema: *ref_162 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _workspace - description: Object containing Workspace definitions. - cli: - name: _workspace - description: Object containing Workspace definitions. - cliKey: workspace - protocol: - http: - in: body - style: json - - &ref_172 - schema: *ref_39 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_164 - language: - default: - name: tags - description: tags to be updated - cli: *ref_165 - protocol: {} - - &ref_173 - schema: *ref_96 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_166 - language: - default: - name: description - description: Description of Workspace. - cli: *ref_167 - protocol: {} - - &ref_174 - schema: *ref_97 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_168 - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: *ref_169 - protocol: {} - - &ref_175 - schema: *ref_120 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_170 - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: *ref_171 - protocol: {} - signatureParameters: - - *ref_172 - - *ref_173 - - *ref_174 - - *ref_175 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_176 - - *ref_177 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Update: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update a workspace. - cli: - name: Update - description: Update a workspace. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_178 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: - - *ref_178 - responses: - - schema: *ref_179 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List workspaces. - paging: - nextLinkName: nextLink - cli: - name: ListByResourceGroup - description: List workspaces. - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_179 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListBySubscription: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_subscription - description: List workspaces in subscription. - paging: - nextLinkName: nextLink - cli: - name: ListBySubscription - description: List workspaces in subscription. - cliKey: ListBySubscription - protocol: {} - language: - default: - name: Workspace - description: '' - cli: - name: Workspace - description: '' - cliKey: Workspaces - protocol: {} - - $key: ApplicationGroupAssignments - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_181 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_182 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - - &ref_183 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' - method: get - uri: '{$host}' - signatureParameters: - - *ref_181 - - *ref_182 - - *ref_183 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroupAssignment_WorkspaceLevelList: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: workspace_level_list - description: List application group that user can use. - paging: - nextLinkName: nextLink - cli: - name: WorkspaceLevelList - description: List application group that user can use. - cliKey: WorkspaceLevelList - protocol: {} - language: - default: - name: ApplicationGroupAssignment - description: '' - cli: - name: ApplicationGroupAssignment - description: '' - cliKey: ApplicationGroupAssignments - hidden: true - protocol: {} - - $key: ApplicationGroups - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_185 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_186 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_185 - - *ref_186 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get an application group. - cli: - name: Get - description: Get an application group. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_202 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_203 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_187 - schema: *ref_35 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _application_group - description: Object containing ApplicationGroup definitions. - cli: - name: _application_group - description: Object containing ApplicationGroup definitions. - cliKey: applicationGroup - protocol: - http: - in: body - style: json - - &ref_196 - schema: *ref_37 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_197 - schema: *ref_38 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_198 - schema: *ref_14 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_188 - language: - default: - name: description - description: Description of ApplicationGroup. - cli: *ref_189 - protocol: {} - - &ref_199 - schema: *ref_15 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_190 - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: *ref_191 - protocol: {} - - &ref_200 - schema: *ref_16 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_192 - language: - default: - name: host_pool_arm_path - description: HostPool arm path of ApplicationGroup. - cli: *ref_193 - protocol: {} - - &ref_201 - schema: *ref_18 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_194 - language: - default: - name: application_group_type - description: Resource Type of ApplicationGroup. - cli: *ref_195 - protocol: {} - signatureParameters: - - *ref_196 - - *ref_197 - - *ref_198 - - *ref_199 - - *ref_200 - - *ref_201 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_202 - - *ref_203 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Create: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '201': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update an applicationGroup. - cli: - name: CreateOrUpdate - description: Create or update an applicationGroup. - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_204 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_205 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_204 - - *ref_205 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove an applicationGroup. - cli: - name: Delete - description: Remove an applicationGroup. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_216 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_217 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_206 - schema: *ref_83 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _application_group - description: Object containing ApplicationGroup definitions. - cli: - name: _application_group - description: Object containing ApplicationGroup definitions. - cliKey: applicationGroup - protocol: - http: - in: body - style: json - - &ref_213 - schema: *ref_39 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_207 - language: - default: - name: tags - description: tags to be updated - cli: *ref_208 - protocol: {} - - &ref_214 - schema: *ref_40 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_209 - language: - default: - name: description - description: Description of ApplicationGroup. - cli: *ref_210 - protocol: {} - - &ref_215 - schema: *ref_41 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_211 - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: *ref_212 - protocol: {} - signatureParameters: - - *ref_213 - - *ref_214 - - *ref_215 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_216 - - *ref_217 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroups_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update an applicationGroup. - cli: - name: Update - description: Update an applicationGroup. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_218 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_219 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_218 - - *ref_219 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_ListByResourceGroup: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List applicationGroups. - paging: - nextLinkName: nextLink - cli: - name: ListByResourceGroup - description: List applicationGroups. - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_220 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_220 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_List: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_subscription - description: List applicationGroups in subscription. - paging: - nextLinkName: nextLink - cli: - name: ListBySubscription - description: List applicationGroups in subscription. - cliKey: ListBySubscription - protocol: {} - language: - default: - name: ApplicationGroup - description: '' - cli: - name: ApplicationGroup - description: '' - cliKey: ApplicationGroups - protocol: {} - - $key: StartMenuItems - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_221 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_222 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' - method: get - uri: '{$host}' - signatureParameters: - - *ref_221 - - *ref_222 - responses: - - schema: *ref_223 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - StartMenuItem_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: application1 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 - properties: - appAlias: word - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - - name: application2 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 - properties: - appAlias: excel - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List start menu items in the given application group. - paging: - nextLinkName: nextLink - cli: - name: List - description: List start menu items in the given application group. - cliKey: List - protocol: {} - language: - default: - name: StartMenuItem - description: '' - cli: - name: StartMenuItem - description: '' - cliKey: StartMenuItems - hidden: true - protocol: {} - - $key: Applications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_224 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_225 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_226 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - name: applicationName - description: The name of the application within the specified application group - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_224 - - *ref_225 - - *ref_226 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: get - description: Get an application. - cli: - name: Get - description: Get an application. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_252 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_253 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_254 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - name: applicationName - description: The name of the application within the specified application group - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_227 - schema: *ref_85 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _application - description: Object containing Application definitions. - cli: - name: _application - description: Object containing Application definitions. - cliKey: application - protocol: - http: - in: body - style: json - - &ref_244 - schema: *ref_48 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_228 - language: - default: - name: description - description: Description of Application. - cli: *ref_229 - protocol: {} - - &ref_245 - schema: *ref_49 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_230 - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: *ref_231 - protocol: {} - - &ref_246 - schema: *ref_50 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_232 - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: *ref_233 - protocol: {} - - &ref_247 - schema: *ref_51 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: true - targetProperty: *ref_234 - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: *ref_235 - protocol: {} - - &ref_248 - schema: *ref_52 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_236 - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: *ref_237 - protocol: {} - - &ref_249 - schema: *ref_53 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_238 - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: *ref_239 - protocol: {} - - &ref_250 - schema: *ref_54 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_240 - language: - default: - name: icon_path - description: Path to icon. - cli: *ref_241 - protocol: {} - - &ref_251 - schema: *ref_47 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_242 - language: - default: - name: icon_index - description: Index of the icon. - cli: *ref_243 - protocol: {} - signatureParameters: - - *ref_244 - - *ref_245 - - *ref_246 - - *ref_247 - - *ref_248 - - *ref_249 - - *ref_250 - - *ref_251 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_252 - - *ref_253 - - *ref_254 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Create: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '201': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: create_or_update - description: Create or update an application. - cli: - name: CreateOrUpdate - description: Create or update an application. - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_255 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_256 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_257 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - name: applicationName - description: The name of the application within the specified application group - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_255 - - *ref_256 - - *ref_257 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '204': {} - language: - default: - name: delete - description: Remove an application. - cli: - name: Delete - description: Remove an application. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_287 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_288 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_289 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - name: applicationName - description: The name of the application within the specified application group - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_259 - schema: *ref_258 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _application - description: Object containing Application definitions. - cli: - name: _application - description: Object containing Application definitions. - cliKey: application - protocol: - http: - in: body - style: json - - &ref_278 - schema: *ref_39 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_260 - language: - default: - name: tags - description: tags to be updated - cli: *ref_261 - protocol: {} - - &ref_279 - schema: *ref_102 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_262 - language: - default: - name: description - description: Description of Application. - cli: *ref_263 - protocol: {} - - &ref_280 - schema: *ref_103 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_264 - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: *ref_265 - protocol: {} - - &ref_281 - schema: *ref_104 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_266 - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: *ref_267 - protocol: {} - - &ref_282 - schema: *ref_51 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_268 - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: *ref_269 - protocol: {} - - &ref_283 - schema: *ref_105 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_270 - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: *ref_271 - protocol: {} - - &ref_284 - schema: *ref_53 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_272 - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: *ref_273 - protocol: {} - - &ref_285 - schema: *ref_106 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_274 - language: - default: - name: icon_path - description: Path to icon. - cli: *ref_275 - protocol: {} - - &ref_286 - schema: *ref_47 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_276 - language: - default: - name: icon_index - description: Index of the icon. - cli: *ref_277 - protocol: {} - signatureParameters: - - *ref_278 - - *ref_279 - - *ref_280 - - *ref_281 - - *ref_282 - - *ref_283 - - *ref_284 - - *ref_285 - - *ref_286 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_287 - - *ref_288 - - *ref_289 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Update: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: update - description: Update an application. - cli: - name: Update - description: Update an application. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_290 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_291 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_290 - - *ref_291 - responses: - - schema: *ref_292 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Applications_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List applications. - paging: - nextLinkName: nextLink - cli: - name: List - description: List applications. - cliKey: List - protocol: {} - language: - default: - name: Application - description: '' - cli: - name: Application - description: '' - cliKey: Applications - hidden: true - protocol: {} - - $key: Desktops - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_293 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_294 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_295 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: desktop_name - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - name: desktopName - description: The name of the desktop within the specified desktop group - cliKey: desktopName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_293 - - *ref_294 - - *ref_295 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: get - description: Get a desktop. - cli: - name: Get - description: Get a desktop. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_307 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_308 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_309 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: desktop_name - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - name: desktopName - description: The name of the desktop within the specified desktop group - cliKey: desktopName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_297 - schema: *ref_296 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _desktop - description: Object containing Desktop definitions. - cli: - name: _desktop - description: Object containing Desktop definitions. - cliKey: desktop - protocol: - http: - in: body - style: json - - &ref_304 - schema: *ref_39 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_298 - language: - default: - name: tags - description: tags to be updated - cli: *ref_299 - protocol: {} - - &ref_305 - schema: *ref_108 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_300 - language: - default: - name: description - description: Description of Desktop. - cli: *ref_301 - protocol: {} - - &ref_306 - schema: *ref_109 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_302 - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: *ref_303 - protocol: {} - signatureParameters: - - *ref_304 - - *ref_305 - - *ref_306 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_307 - - *ref_308 - - *ref_309 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktop: - properties: - description: des1 - friendlyName: friendly - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: update - description: Update a desktop. - cli: - name: Update - description: Update a desktop. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_310 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_311 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' - method: get - uri: '{$host}' - signatureParameters: - - *ref_310 - - *ref_311 - responses: - - schema: *ref_312 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: list - description: List desktops. - cli: - name: List - description: List desktops. - cliKey: List - protocol: {} - language: - default: - name: Desktop - description: '' - cli: - name: Desktop - description: '' - cliKey: Desktops - hidden: true - protocol: {} - - $key: HostPools - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_313 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_314 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_313 - - *ref_314 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get a host pool. - cli: - name: Get - description: Get a host pool. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_354 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_355 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_315 - schema: *ref_36 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _host_pool - description: Object containing HostPool definitions. - cli: - name: _host_pool - description: Object containing HostPool definitions. - cliKey: hostPool - protocol: - http: - in: body - style: json - - &ref_340 - schema: *ref_37 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_341 - schema: *ref_38 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_342 - schema: *ref_19 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_316 - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: *ref_317 - protocol: {} - - &ref_343 - schema: *ref_20 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_318 - language: - default: - name: description - description: Description of HostPool. - cli: *ref_319 - protocol: {} - - &ref_344 - schema: *ref_21 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_320 - language: - default: - name: host_pool_type - description: HostPool type for desktop. - cli: *ref_321 - protocol: {} - - &ref_345 - schema: *ref_22 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_322 - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: *ref_323 - protocol: {} - - &ref_346 - schema: *ref_23 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_324 - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: *ref_325 - protocol: {} - - &ref_347 - schema: *ref_24 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_326 - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: *ref_327 - protocol: {} - - &ref_348 - schema: *ref_25 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_328 - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: *ref_329 - protocol: {} - - &ref_349 - schema: *ref_26 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_330 - language: - default: - name: ring - description: The ring number of HostPool. - cli: *ref_331 - protocol: {} - - &ref_350 - schema: *ref_27 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_332 - language: - default: - name: validation_environment - description: Is validation environment. - cli: *ref_333 - protocol: {} - - &ref_351 - schema: *ref_111 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_334 - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: *ref_335 - protocol: {} - - &ref_352 - schema: *ref_31 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_336 - language: - default: - name: vm_template - description: VM template for sessionhosts configuration within hostpool. - cli: *ref_337 - protocol: {} - - &ref_353 - schema: *ref_33 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_338 - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: *ref_339 - protocol: {} - signatureParameters: - - *ref_340 - - *ref_341 - - *ref_342 - - *ref_343 - - *ref_344 - - *ref_345 - - *ref_346 - - *ref_347 - - *ref_348 - - *ref_349 - - *ref_350 - - *ref_351 - - *ref_352 - - *ref_353 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_354 - - *ref_355 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Create: - parameters: - api-version: 2019-12-10-preview - hostPool: - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '201': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update a host pool. - cli: - name: CreateOrUpdate - description: Create or update a host pool. - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_357 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_358 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_359 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to delete sessionHost. - serializedName: force - cli: - name: force - description: Force flag to delete sessionHost. - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_357 - - *ref_358 - - *ref_359 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove a host pool. - cli: - name: Delete - description: Remove a host pool. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_394 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_395 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_360 - schema: *ref_87 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _host_pool - description: Object containing HostPool definitions. - cli: - name: _host_pool - description: Object containing HostPool definitions. - cliKey: hostPool - protocol: - http: - in: body - style: json - - &ref_383 - schema: *ref_39 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_361 - language: - default: - name: tags - description: tags to be updated - cli: *ref_362 - protocol: {} - - &ref_384 - schema: *ref_61 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_363 - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: *ref_364 - protocol: {} - - &ref_385 - schema: *ref_62 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_365 - language: - default: - name: description - description: Description of HostPool. - cli: *ref_366 - protocol: {} - - &ref_386 - schema: *ref_63 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_367 - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: *ref_368 - protocol: {} - - &ref_387 - schema: *ref_24 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_369 - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: *ref_370 - protocol: {} - - &ref_388 - schema: *ref_22 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_371 - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: *ref_372 - protocol: {} - - &ref_389 - schema: *ref_25 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_373 - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: *ref_374 - protocol: {} - - &ref_390 - schema: *ref_26 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_375 - language: - default: - name: ring - description: The ring number of HostPool. - cli: *ref_376 - protocol: {} - - &ref_391 - schema: *ref_27 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_377 - language: - default: - name: validation_environment - description: Is validation environment. - cli: *ref_378 - protocol: {} - - &ref_392 - schema: *ref_112 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_379 - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: *ref_380 - protocol: {} - - &ref_393 - schema: *ref_64 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_381 - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: *ref_382 - protocol: {} - signatureParameters: - - *ref_383 - - *ref_384 - - *ref_385 - - *ref_386 - - *ref_387 - - *ref_388 - - *ref_389 - - *ref_390 - - *ref_391 - - *ref_392 - - *ref_393 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_394 - - *ref_395 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Update: - parameters: - api-version: 2019-12-10-preview - hostPool: - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-02T14:01:54.9571247Z' - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update a host pool. - cli: - name: Update - description: Update a host pool. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_396 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: - - *ref_396 - responses: - - schema: *ref_397 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List hostPools. - paging: - nextLinkName: nextLink - cli: - name: ListByResourceGroup - description: List hostPools. - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_397 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_List: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List hostPools in subscription. - paging: - nextLinkName: nextLink - cli: - name: List - description: List hostPools in subscription. - cliKey: List - protocol: {} - language: - default: - name: HostPool - description: '' - cli: - name: HostPool - description: '' - cliKey: HostPools - protocol: {} - - $key: UserSessions - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_398 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_399 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_400 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_398 - - *ref_399 - - *ref_400 - responses: - - schema: *ref_401 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_ListByHostPool: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_host_pool - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - name: ListByHostPool - description: List userSessions. - cliKey: ListByHostPool - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_404 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_405 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_406 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_407 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - name: userSessionId - description: The name of the user session within the specified session host - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_404 - - *ref_405 - - *ref_406 - - *ref_407 - responses: - - schema: *ref_88 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - body: - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - language: - default: - name: get - description: Get a userSession. - cli: - name: Get - description: Get a userSession. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_408 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_409 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_410 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_411 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - name: userSessionId - description: The name of the user session within the specified session host - cliKey: userSessionId - protocol: - http: - in: path - - &ref_412 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to login off userSession. - serializedName: force - cli: - name: force - description: Force flag to login off userSession. - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_408 - - *ref_409 - - *ref_410 - - *ref_411 - - *ref_412 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - '204': {} - language: - default: - name: delete - description: Remove a userSession. - cli: - name: Delete - description: Remove a userSession. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_413 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_414 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_415 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_413 - - *ref_414 - - *ref_415 - responses: - - schema: *ref_401 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - name: List - description: List userSessions. - cliKey: List - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_416 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_417 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_418 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_419 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - name: userSessionId - description: The name of the user session within the specified session host - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' - method: post - uri: '{$host}' - signatureParameters: - - *ref_416 - - *ref_417 - - *ref_418 - - *ref_419 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Disconnect_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: disconnect - description: Disconnect a userSession. - cli: - name: Disconnect - description: Disconnect a userSession. - cliKey: Disconnect - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_428 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_429 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_430 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_431 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - name: userSessionId - description: The name of the user session within the specified session host - cliKey: userSessionId - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_421 - schema: *ref_420 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _send_message - description: Object containing message includes title and message body - cli: - name: _send_message - description: Object containing message includes title and message body - cliKey: sendMessage - protocol: - http: - in: body - style: json - - &ref_426 - schema: *ref_116 - implementation: Method - originalParameter: *ref_421 - pathToProperty: [] - targetProperty: *ref_422 - language: - default: - name: message_title - description: Title of message. - cli: *ref_423 - protocol: {} - - &ref_427 - schema: *ref_117 - implementation: Method - originalParameter: *ref_421 - pathToProperty: [] - targetProperty: *ref_424 - language: - default: - name: message_body - description: Body of message. - cli: *ref_425 - protocol: {} - signatureParameters: - - *ref_426 - - *ref_427 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' - method: post - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_428 - - *ref_429 - - *ref_430 - - *ref_431 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_SendMessage_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sendMessage: - messageBody: body - messageTitle: title - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: send_message - description: Send a message to a user. - cli: - name: SendMessage - description: Send a message to a user. - cliKey: SendMessage - protocol: {} - language: - default: - name: UserSession - description: '' - cli: - name: UserSession - description: '' - cliKey: UserSessions - hidden: true - protocol: {} - - $key: SessionHosts - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_432 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_433 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_434 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_432 - - *ref_433 - - *ref_434 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: get - description: Get a session host. - cli: - name: Get - description: Get a session host. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_435 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_436 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_437 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_438 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to force sessionHost deletion even when userSession exists. - serializedName: force - cli: - name: force - description: Force flag to force sessionHost deletion even when userSession exists. - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_435 - - *ref_436 - - *ref_437 - - *ref_438 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - '204': {} - language: - default: - name: delete - description: Remove a SessionHost. - cli: - name: Delete - description: Remove a SessionHost. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_446 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_447 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_448 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_439 - schema: *ref_90 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _session_host - description: Object containing SessionHost definitions. - cli: - name: _session_host - description: Object containing SessionHost definitions. - cliKey: sessionHost - protocol: - http: - in: body - style: json - - &ref_444 - schema: *ref_73 - implementation: Method - originalParameter: *ref_439 - pathToProperty: [] - targetProperty: *ref_440 - language: - default: - name: allow_new_session - description: Allow a new session. - cli: *ref_441 - protocol: {} - - &ref_445 - schema: *ref_82 - implementation: Method - originalParameter: *ref_439 - pathToProperty: [] - targetProperty: *ref_442 - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: *ref_443 - protocol: {} - signatureParameters: - - *ref_444 - - *ref_445 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_446 - - *ref_447 - - *ref_448 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Update: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHost: - properties: - allowNewSession: true - assignedUser: user1@microsoft.com - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2019-01-11T19:27:13.6108027Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2019-01-24T20:00:08.2893033Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: update - description: Update a session host. - cli: - name: Update - description: Update a session host. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_449 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_450 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' - method: get - uri: '{$host}' - signatureParameters: - - *ref_449 - - *ref_450 - responses: - - schema: *ref_451 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - - name: sessionHost2.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user2@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List sessionHosts. - paging: - nextLinkName: nextLink - cli: - name: List - description: List sessionHosts. - cliKey: List - protocol: {} - language: - default: - name: SessionHost - description: '' - cli: - name: SessionHost - description: '' - cliKey: SessionHosts - hidden: true - protocol: {} - - $key: ActiveApplications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_452 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_453 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_454 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_455 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_452 - - *ref_453 - - *ref_454 - - *ref_455 - responses: - - schema: *ref_292 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ActiveApplications_List: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_session_host - description: List applications for the given session host. - paging: - nextLinkName: nextLink - cli: - name: ListBySessionHost - description: List applications for the given session host. - cliKey: ListBySessionHost - protocol: {} - language: - default: - name: ActiveApplication - description: '' - cli: - name: ActiveApplication - description: '' - cliKey: ActiveApplications - hidden: true - protocol: {} -language: - default: - name: DesktopVirtualizationAPIClient - description: '' - cli: - name: DesktopVirtualizationAPIClient - description: '' -protocol: - http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000100-poly-as-resource-pre-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000100-poly-as-resource-pre-simplified.yaml deleted file mode 100644 index 893109e1471..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000100-poly-as-resource-pre-simplified.yaml +++ /dev/null @@ -1,2383 +0,0 @@ -operationGroups: - all: - - operationGroupName: Operation - cli: - cliKey: Operations - operations: - - operationName: list - cli: - name: List - cliKey: List - hidden: true - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - operationGroupName: Workspace - cli: - cliKey: Workspaces - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - name: workspaceName - cliKey: workspaceName - - operationName: create_or_update - cli: - name: CreateOrUpdate - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - name: workspaceName - cliKey: workspaceName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _workspace(Workspace^object) - cli: - cliKey: workspace - x-ms-client-flatten: true - bodySchema: Workspace - - parameterName[0]: tags(TrackedResourceTags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(TrackedResourceLocation^string) - cli: - cliKey: location - - parameterName[0]: description(WorkspacePropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(WorkspacePropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: application_group_references(WorkspacePropertiesApplicationGroupReferences^array) - cli: - name: applicationGroupReferences - cliKey: applicationGroupReferences - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - name: workspaceName - cliKey: workspaceName - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - name: workspaceName - cliKey: workspaceName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _workspace(WorkspacePatch^object) - cli: - cliKey: workspace - x-ms-client-flatten: true - bodySchema: WorkspacePatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(WorkspacePatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(WorkspacePatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: application_group_references(WorkspacePatchPropertiesApplicationGroupReferences^array) - cli: - name: applicationGroupReferences - cliKey: applicationGroupReferences - - operationName: list_by_resource_group - cli: - name: ListByResourceGroup - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - operationName: list_by_subscription - cli: - name: ListBySubscription - cliKey: ListBySubscription - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - operationGroupName: ApplicationGroupAssignment - cli: - cliKey: ApplicationGroupAssignments - hidden: true - operations: - - operationName: workspace_level_list - cli: - name: WorkspaceLevelList - cliKey: WorkspaceLevelList - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - name: workspaceName - cliKey: workspaceName - - parameterName: filter(String^string) - cli: - cliKey: $filter - - operationGroupName: ApplicationGroup - cli: - cliKey: ApplicationGroups - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - operationName: create_or_update - cli: - name: CreateOrUpdate - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _application_group(ApplicationGroup^object) - cli: - cliKey: applicationGroup - x-ms-client-flatten: true - bodySchema: ApplicationGroup - - parameterName[0]: tags(TrackedResourceTags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(TrackedResourceLocation^string) - cli: - cliKey: location - - parameterName[0]: description(ApplicationGroupPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(ApplicationGroupPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: host_pool_arm_path(ApplicationGroupPropertiesHostPoolArmPath^string) - cli: - name: hostPoolArmPath - cliKey: hostPoolArmPath - - parameterName[0]: application_group_type(ApplicationGroupType^choice) - cli: - name: applicationGroupType - cliKey: applicationGroupType - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _application_group(ApplicationGroupPatch^object) - cli: - cliKey: applicationGroup - x-ms-client-flatten: true - bodySchema: ApplicationGroupPatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(ApplicationGroupPatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(ApplicationGroupPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - operationName: list_by_resource_group - cli: - name: ListByResourceGroup - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: filter(String^string) - cli: - cliKey: $filter - - operationName: list_by_subscription - cli: - name: ListBySubscription - cliKey: ListBySubscription - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: filter(String^string) - cli: - cliKey: $filter - - operationGroupName: StartMenuItem - cli: - cliKey: StartMenuItems - hidden: true - operations: - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - operationGroupName: Application - cli: - cliKey: Applications - hidden: true - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: application_name(String^string) - cli: - name: applicationName - cliKey: applicationName - - operationName: create_or_update - cli: - name: CreateOrUpdate - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: application_name(String^string) - cli: - name: applicationName - cliKey: applicationName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _application(Application^object) - cli: - cliKey: application - x-ms-client-flatten: true - bodySchema: Application - - parameterName[0]: description(ApplicationPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(ApplicationPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: file_path(ApplicationPropertiesFilePath^string) - cli: - name: filePath - cliKey: filePath - - parameterName[0]: command_line_setting(CommandLineSetting^choice) - cli: - name: commandLineSetting - cliKey: commandLineSetting - - parameterName[0]: command_line_arguments(ApplicationPropertiesCommandLineArguments^string) - cli: - name: commandLineArguments - cliKey: commandLineArguments - - parameterName[0]: show_in_portal(boolean^boolean) - cli: - name: showInPortal - cliKey: showInPortal - - parameterName[0]: icon_path(ApplicationPropertiesIconPath^string) - cli: - name: iconPath - cliKey: iconPath - - parameterName[0]: icon_index(Integer^integer) - cli: - name: iconIndex - cliKey: iconIndex - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: application_name(String^string) - cli: - name: applicationName - cliKey: applicationName - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: application_name(String^string) - cli: - name: applicationName - cliKey: applicationName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _application(ApplicationPatch^object) - cli: - cliKey: application - x-ms-client-flatten: true - bodySchema: ApplicationPatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(ApplicationPatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(ApplicationPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: file_path(ApplicationPatchPropertiesFilePath^string) - cli: - name: filePath - cliKey: filePath - - parameterName[0]: command_line_setting(CommandLineSetting^choice) - cli: - name: commandLineSetting - cliKey: commandLineSetting - - parameterName[0]: command_line_arguments(ApplicationPatchPropertiesCommandLineArguments^string) - cli: - name: commandLineArguments - cliKey: commandLineArguments - - parameterName[0]: show_in_portal(boolean^boolean) - cli: - name: showInPortal - cliKey: showInPortal - - parameterName[0]: icon_path(ApplicationPatchPropertiesIconPath^string) - cli: - name: iconPath - cliKey: iconPath - - parameterName[0]: icon_index(Integer^integer) - cli: - name: iconIndex - cliKey: iconIndex - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - operationGroupName: Desktop - cli: - cliKey: Desktops - hidden: true - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: desktop_name(String^string) - cli: - name: desktopName - cliKey: desktopName - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: desktop_name(String^string) - cli: - name: desktopName - cliKey: desktopName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _desktop(DesktopPatch^object) - cli: - cliKey: desktop - x-ms-client-flatten: true - bodySchema: DesktopPatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(DesktopPatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(DesktopPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - operationGroupName: HostPool - cli: - cliKey: HostPools - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - operationName: create_or_update - cli: - name: CreateOrUpdate - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _host_pool(HostPool^object) - cli: - cliKey: hostPool - x-ms-client-flatten: true - bodySchema: HostPool - - parameterName[0]: tags(TrackedResourceTags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(TrackedResourceLocation^string) - cli: - cliKey: location - - parameterName[0]: friendly_name(HostPoolPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: description(HostPoolPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: host_pool_type(HostPoolType^choice) - cli: - name: hostPoolType - cliKey: hostPoolType - - parameterName[0]: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) - cli: - name: personalDesktopAssignmentType - cliKey: personalDesktopAssignmentType - - parameterName[0]: custom_rdp_property(HostPoolPropertiesCustomRdpProperty^string) - cli: - name: customRdpProperty - cliKey: customRdpProperty - - parameterName[0]: max_session_limit(Integer^integer) - cli: - name: maxSessionLimit - cliKey: maxSessionLimit - - parameterName[0]: load_balancer_type(LoadBalancerType^choice) - cli: - name: loadBalancerType - cliKey: loadBalancerType - - parameterName[0]: ring(Integer^integer) - cli: - cliKey: ring - - parameterName[0]: validation_environment(boolean^boolean) - cli: - name: validationEnvironment - cliKey: validationEnvironment - - parameterName[0]: registration_info(RegistrationInfo^object) - cli: - name: registrationInfo - cliKey: registrationInfo - - parameterName[0]: vm_template(HostPoolPropertiesVmTemplate^string) - cli: - name: vmTemplate - cliKey: vmTemplate - - parameterName[0]: sso_context(HostPoolPropertiesSsoContext^string) - cli: - name: ssoContext - cliKey: ssoContext - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _host_pool(HostPoolPatch^object) - cli: - cliKey: hostPool - x-ms-client-flatten: true - bodySchema: HostPoolPatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: friendly_name(HostPoolPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: description(HostPoolPatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: custom_rdp_property(HostPoolPatchPropertiesCustomRdpProperty^string) - cli: - name: customRdpProperty - cliKey: customRdpProperty - - parameterName[0]: max_session_limit(Integer^integer) - cli: - name: maxSessionLimit - cliKey: maxSessionLimit - - parameterName[0]: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) - cli: - name: personalDesktopAssignmentType - cliKey: personalDesktopAssignmentType - - parameterName[0]: load_balancer_type(LoadBalancerType^choice) - cli: - name: loadBalancerType - cliKey: loadBalancerType - - parameterName[0]: ring(Integer^integer) - cli: - cliKey: ring - - parameterName[0]: validation_environment(boolean^boolean) - cli: - name: validationEnvironment - cliKey: validationEnvironment - - parameterName[0]: registration_info(RegistrationInfoPatch^object) - cli: - name: registrationInfo - cliKey: registrationInfo - - parameterName[0]: sso_context(HostPoolPatchPropertiesSsoContext^string) - cli: - name: ssoContext - cliKey: ssoContext - - operationName: list_by_resource_group - cli: - name: ListByResourceGroup - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - operationGroupName: UserSession - cli: - cliKey: UserSessions - hidden: true - operations: - - operationName: list_by_host_pool - cli: - name: ListByHostPool - cliKey: ListByHostPool - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: filter(String^string) - cli: - cliKey: $filter - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: user_session_id(String^string) - cli: - name: userSessionId - cliKey: userSessionId - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: user_session_id(String^string) - cli: - name: userSessionId - cliKey: userSessionId - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - operationName: disconnect - cli: - name: Disconnect - cliKey: Disconnect - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: user_session_id(String^string) - cli: - name: userSessionId - cliKey: userSessionId - - operationName: send_message - cli: - name: SendMessage - cliKey: SendMessage - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: user_session_id(String^string) - cli: - name: userSessionId - cliKey: userSessionId - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _send_message(SendMessage^object) - cli: - cliKey: sendMessage - x-ms-client-flatten: true - bodySchema: SendMessage - - parameterName[0]: message_title(SendMessageTitle^string) - cli: - name: messageTitle - cliKey: messageTitle - - parameterName[0]: message_body(SendMessageBody^string) - cli: - name: messageBody - cliKey: messageBody - - operationGroupName: SessionHost - cli: - cliKey: SessionHosts - hidden: true - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _session_host(SessionHostPatch^object) - cli: - cliKey: sessionHost - x-ms-client-flatten: true - bodySchema: SessionHostPatch - - parameterName[0]: allow_new_session(boolean^boolean) - cli: - name: allowNewSession - cliKey: allowNewSession - - parameterName[0]: assigned_user(SessionHostPatchPropertiesAssignedUser^string) - cli: - name: assignedUser - cliKey: assignedUser - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - operationGroupName: ActiveApplication - cli: - cliKey: ActiveApplications - hidden: true - operations: - - operationName: list_by_session_host - cli: - name: ListBySessionHost - cliKey: ListBySessionHost - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: filter(String^string) - cli: - cliKey: $filter -schemas: - objects: - all: - - schemaName: ResourceProviderOperationList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ResourceProviderOperationList - properties: - - propertyName: value(ResourceProviderOperationListValue^array) - cli: - cliKey: value - - schemaName: ResourceProviderOperation - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ResourceProviderOperation - properties: - - propertyName: name(ResourceProviderOperationName^string) - cli: - cliKey: name - - propertyName: display(ResourceProviderOperationDisplay^object) - cli: - cliKey: display - - schemaName: ResourceProviderOperationDisplay - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ResourceProviderOperation-display - properties: - - propertyName: provider(ResourceProviderOperationDisplayProvider^string) - cli: - cliKey: provider - - propertyName: resource(ResourceProviderOperationDisplayResource^string) - cli: - cliKey: resource - - propertyName: operation(ResourceProviderOperationDisplayOperation^string) - cli: - cliKey: operation - - propertyName: description(ResourceProviderOperationDisplayDescription^string) - cli: - cliKey: description - - schemaName: Resource - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 0 - propertyCountIfSimplifyWithoutSimpleObject: 0 - simplifiable: true - cliKey: Resource - properties: - - propertyName: id(ResourceId^string) - cli: - cliKey: id - readOnly: true - - propertyName: name(ResourceName^string) - cli: - cliKey: name - readOnly: true - - propertyName: type(ResourceType^string) - cli: - cliKey: type - readOnly: true - - schemaName: TrackedResource - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: TrackedResource - properties: - - propertyName: tags(TrackedResourceTags^dictionary) - cli: - cliKey: tags - - propertyName: location(TrackedResourceLocation^string) - cli: - cliKey: location - - schemaName: Workspace - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: Workspace - properties: - - propertyName: description(WorkspacePropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(WorkspacePropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: application_group_references(WorkspacePropertiesApplicationGroupReferences^array) - cli: - name: applicationGroupReferences - cliKey: applicationGroupReferences - - schemaName: CloudError - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: CloudError - properties: - - propertyName: code(CloudErrorCode^string) - cli: - cliKey: code - - propertyName: message(CloudErrorMessage^string) - cli: - cliKey: message - - schemaName: WorkspacePatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(WorkspacePatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(WorkspacePatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: application_group_references(WorkspacePatchPropertiesApplicationGroupReferences^array) - cli: - name: applicationGroupReferences - cliKey: applicationGroupReferences - - schemaName: WorkspaceList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceList - properties: - - propertyName: value(WorkspaceListValue^array) - cli: - cliKey: value - - propertyName: next_link(WorkspaceListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: ApplicationGroupList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupList - properties: - - propertyName: value(ApplicationGroupListValue^array) - cli: - cliKey: value - - propertyName: next_link(ApplicationGroupListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: ApplicationGroup - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroup - properties: - - propertyName: description(ApplicationGroupPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(ApplicationGroupPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: host_pool_arm_path(ApplicationGroupPropertiesHostPoolArmPath^string) - cli: - name: hostPoolArmPath - cliKey: hostPoolArmPath - - propertyName: workspace_arm_path(ApplicationGroupPropertiesWorkspaceArmPath^string) - cli: - name: workspaceArmPath - cliKey: workspaceArmPath - readOnly: true - - propertyName: application_group_type(ApplicationGroupType^choice) - cli: - name: applicationGroupType - cliKey: applicationGroupType - - schemaName: ApplicationGroupPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(ApplicationGroupPatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(ApplicationGroupPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - schemaName: StartMenuItemList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: StartMenuItemList - properties: - - propertyName: value(StartMenuItemListValue^array) - cli: - cliKey: value - - propertyName: next_link(StartMenuItemListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: StartMenuItem - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: StartMenuItem - properties: - - propertyName: app_alias(StartMenuItemPropertiesAppAlias^string) - cli: - name: appAlias - cliKey: appAlias - - propertyName: friendly_name(StartMenuItemPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: file_path(StartMenuItemPropertiesFilePath^string) - cli: - name: filePath - cliKey: filePath - - propertyName: command_line_arguments(StartMenuItemPropertiesCommandLineArguments^string) - cli: - name: commandLineArguments - cliKey: commandLineArguments - - propertyName: icon_path(StartMenuItemPropertiesIconPath^string) - cli: - name: iconPath - cliKey: iconPath - - propertyName: icon_index(Integer^integer) - cli: - name: iconIndex - cliKey: iconIndex - - schemaName: Application - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Application - properties: - - propertyName: description(ApplicationPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(ApplicationPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: file_path(ApplicationPropertiesFilePath^string) - cli: - name: filePath - cliKey: filePath - - propertyName: command_line_setting(CommandLineSetting^choice) - cli: - name: commandLineSetting - cliKey: commandLineSetting - - propertyName: command_line_arguments(ApplicationPropertiesCommandLineArguments^string) - cli: - name: commandLineArguments - cliKey: commandLineArguments - - propertyName: show_in_portal(boolean^boolean) - cli: - name: showInPortal - cliKey: showInPortal - - propertyName: icon_path(ApplicationPropertiesIconPath^string) - cli: - name: iconPath - cliKey: iconPath - - propertyName: icon_index(Integer^integer) - cli: - name: iconIndex - cliKey: iconIndex - - propertyName: icon_hash(ApplicationPropertiesIconHash^string) - cli: - name: iconHash - cliKey: iconHash - readOnly: true - - propertyName: icon_content(application_properties_icon_content^byte-array) - cli: - name: iconContent - cliKey: iconContent - readOnly: true - - schemaName: ApplicationPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(ApplicationPatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(ApplicationPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: file_path(ApplicationPatchPropertiesFilePath^string) - cli: - name: filePath - cliKey: filePath - - propertyName: command_line_setting(CommandLineSetting^choice) - cli: - name: commandLineSetting - cliKey: commandLineSetting - - propertyName: command_line_arguments(ApplicationPatchPropertiesCommandLineArguments^string) - cli: - name: commandLineArguments - cliKey: commandLineArguments - - propertyName: show_in_portal(boolean^boolean) - cli: - name: showInPortal - cliKey: showInPortal - - propertyName: icon_path(ApplicationPatchPropertiesIconPath^string) - cli: - name: iconPath - cliKey: iconPath - - propertyName: icon_index(Integer^integer) - cli: - name: iconIndex - cliKey: iconIndex - - schemaName: ApplicationList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationList - properties: - - propertyName: value(ApplicationListValue^array) - cli: - cliKey: value - - propertyName: next_link(ApplicationListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: Desktop - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Desktop - properties: - - propertyName: description(DesktopPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(DesktopPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: icon_hash(DesktopPropertiesIconHash^string) - cli: - name: iconHash - cliKey: iconHash - readOnly: true - - propertyName: icon_content(desktop_properties_icon_content^byte-array) - cli: - name: iconContent - cliKey: iconContent - readOnly: true - - schemaName: DesktopPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(DesktopPatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(DesktopPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - schemaName: DesktopList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopList - properties: - - propertyName: value(DesktopListValue^array) - cli: - cliKey: value - - propertyName: next_link(DesktopListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: HostPool - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPool - properties: - - propertyName: friendly_name(HostPoolPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: description(HostPoolPropertiesDescription^string) - cli: - cliKey: description - - propertyName: host_pool_type(HostPoolType^choice) - cli: - name: hostPoolType - cliKey: hostPoolType - - propertyName: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) - cli: - name: personalDesktopAssignmentType - cliKey: personalDesktopAssignmentType - - propertyName: custom_rdp_property(HostPoolPropertiesCustomRdpProperty^string) - cli: - name: customRdpProperty - cliKey: customRdpProperty - - propertyName: max_session_limit(Integer^integer) - cli: - name: maxSessionLimit - cliKey: maxSessionLimit - - propertyName: load_balancer_type(LoadBalancerType^choice) - cli: - name: loadBalancerType - cliKey: loadBalancerType - - propertyName: ring(Integer^integer) - cli: - cliKey: ring - - propertyName: validation_environment(boolean^boolean) - cli: - name: validationEnvironment - cliKey: validationEnvironment - - propertyName: registration_info(RegistrationInfo^object) - cli: - name: registrationInfo - cliKey: registrationInfo - - propertyName: vm_template(HostPoolPropertiesVmTemplate^string) - cli: - name: vmTemplate - cliKey: vmTemplate - - propertyName: application_group_references(HostPoolPropertiesApplicationGroupReferences^array) - cli: - name: applicationGroupReferences - cliKey: applicationGroupReferences - readOnly: true - - propertyName: sso_context(HostPoolPropertiesSsoContext^string) - cli: - name: ssoContext - cliKey: ssoContext - - schemaName: RegistrationInfo - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 3 - propertyCountIfSimplifyWithoutSimpleObject: 3 - simplifiable: true - cliKey: RegistrationInfo - properties: - - propertyName: expiration_time(registration_info_expiration_time^date-time) - cli: - name: expirationTime - cliKey: expirationTime - - propertyName: token(RegistrationInfoToken^string) - cli: - cliKey: token - - propertyName: registration_token_operation(RegistrationTokenOperation^choice) - cli: - name: registrationTokenOperation - cliKey: registrationTokenOperation - - schemaName: HostPoolPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: friendly_name(HostPoolPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: description(HostPoolPatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: custom_rdp_property(HostPoolPatchPropertiesCustomRdpProperty^string) - cli: - name: customRdpProperty - cliKey: customRdpProperty - - propertyName: max_session_limit(Integer^integer) - cli: - name: maxSessionLimit - cliKey: maxSessionLimit - - propertyName: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) - cli: - name: personalDesktopAssignmentType - cliKey: personalDesktopAssignmentType - - propertyName: load_balancer_type(LoadBalancerType^choice) - cli: - name: loadBalancerType - cliKey: loadBalancerType - - propertyName: ring(Integer^integer) - cli: - cliKey: ring - - propertyName: validation_environment(boolean^boolean) - cli: - name: validationEnvironment - cliKey: validationEnvironment - - propertyName: registration_info(RegistrationInfoPatch^object) - cli: - name: registrationInfo - cliKey: registrationInfo - - propertyName: sso_context(HostPoolPatchPropertiesSsoContext^string) - cli: - name: ssoContext - cliKey: ssoContext - - schemaName: RegistrationInfoPatch - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 1 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: RegistrationInfoPatch - properties: - - propertyName: registration_token_operation(RegistrationTokenOperation^choice) - cli: - name: registrationTokenOperation - cliKey: registrationTokenOperation - - schemaName: HostPoolList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolList - properties: - - propertyName: value(HostPoolListValue^array) - cli: - cliKey: value - - propertyName: next_link(HostPoolListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: UserSessionList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: UserSessionList - properties: - - propertyName: value(UserSessionListValue^array) - cli: - cliKey: value - - propertyName: next_link(UserSessionListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: UserSession - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: UserSession - properties: - - propertyName: user_principal_name(UserSessionPropertiesUserPrincipalName^string) - cli: - name: userPrincipalName - cliKey: userPrincipalName - - propertyName: application_type(ApplicationType^choice) - cli: - name: applicationType - cliKey: applicationType - - propertyName: session_state(SessionState^choice) - cli: - name: sessionState - cliKey: sessionState - - propertyName: active_directory_user_name(UserSessionPropertiesActiveDirectoryUserName^string) - cli: - name: activeDirectoryUserName - cliKey: activeDirectoryUserName - - propertyName: create_time(user_session_properties_create_time^date-time) - cli: - name: createTime - cliKey: createTime - - schemaName: SessionHost - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHost - properties: - - propertyName: last_heart_beat(session_host_properties_last_heart_beat^date-time) - cli: - name: lastHeartBeat - cliKey: lastHeartBeat - - propertyName: sessions(Integer^integer) - cli: - cliKey: sessions - - propertyName: agent_version(SessionHostPropertiesAgentVersion^string) - cli: - name: agentVersion - cliKey: agentVersion - - propertyName: allow_new_session(boolean^boolean) - cli: - name: allowNewSession - cliKey: allowNewSession - - propertyName: assigned_user(SessionHostPropertiesAssignedUser^string) - cli: - name: assignedUser - cliKey: assignedUser - - propertyName: status(Status^choice) - cli: - cliKey: status - - propertyName: status_timestamp(session_host_properties_status_timestamp^date-time) - cli: - name: statusTimestamp - cliKey: statusTimestamp - readOnly: true - - propertyName: os_version(SessionHostPropertiesOsVersion^string) - cli: - name: osVersion - cliKey: osVersion - - propertyName: sx_s_stack_version(SessionHostPropertiesSxSStackVersion^string) - cli: - name: sxSStackVersion - cliKey: sxSStackVersion - - propertyName: update_state(UpdateState^choice) - cli: - name: updateState - cliKey: updateState - - propertyName: last_update_time(session_host_properties_last_update_time^date-time) - cli: - name: lastUpdateTime - cliKey: lastUpdateTime - readOnly: true - - propertyName: update_error_message(SessionHostPropertiesUpdateErrorMessage^string) - cli: - name: updateErrorMessage - cliKey: updateErrorMessage - - schemaName: SessionHostPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHostPatch - properties: - - propertyName: allow_new_session(boolean^boolean) - cli: - name: allowNewSession - cliKey: allowNewSession - - propertyName: assigned_user(SessionHostPatchPropertiesAssignedUser^string) - cli: - name: assignedUser - cliKey: assignedUser - - schemaName: SessionHostList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: SessionHostList - properties: - - propertyName: value(SessionHostListValue^array) - cli: - cliKey: value - - propertyName: next_link(SessionHostListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: SendMessage - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SendMessage - properties: - - propertyName: message_title(SendMessageTitle^string) - cli: - name: messageTitle - cliKey: messageTitle - - propertyName: message_body(SendMessageBody^string) - cli: - name: messageBody - cliKey: messageBody - choices: - all: - - choiceName: ApplicationGroupType - cli: - cliKey: ApplicationGroupType - choiceValues: - - choiceValue: remote_app - cli: - name: RemoteApp - cliKey: RemoteApp - - choiceValue: desktop - cli: - name: Desktop - cliKey: Desktop - - choiceName: CommandLineSetting - cli: - cliKey: CommandLineSetting - choiceValues: - - choiceValue: do_not_allow - cli: - name: DoNotAllow - cliKey: DoNotAllow - - choiceValue: allow - cli: - name: Allow - cliKey: Allow - - choiceValue: require - cli: - name: Require - cliKey: Require - - choiceName: HostPoolType - cli: - cliKey: HostPoolType - choiceValues: - - choiceValue: personal - cli: - name: Personal - cliKey: Personal - - choiceValue: pooled - cli: - name: Pooled - cliKey: Pooled - - choiceName: PersonalDesktopAssignmentType - cli: - cliKey: PersonalDesktopAssignmentType - choiceValues: - - choiceValue: automatic - cli: - name: Automatic - cliKey: Automatic - - choiceValue: direct - cli: - name: Direct - cliKey: Direct - - choiceName: LoadBalancerType - cli: - cliKey: LoadBalancerType - choiceValues: - - choiceValue: breadth_first - cli: - name: BreadthFirst - cliKey: BreadthFirst - - choiceValue: depth_first - cli: - name: DepthFirst - cliKey: DepthFirst - - choiceValue: persistent - cli: - name: Persistent - cliKey: Persistent - - choiceName: RegistrationTokenOperation - cli: - cliKey: RegistrationTokenOperation - choiceValues: - - choiceValue: delete - cli: - name: Delete - cliKey: Delete - - choiceValue: none - cli: - name: None - cliKey: None - - choiceValue: update - cli: - name: Update - cliKey: Update - - choiceName: ApplicationType - cli: - cliKey: ApplicationType - choiceValues: - - choiceValue: remote_app - cli: - name: RemoteApp - cliKey: RemoteApp - - choiceValue: desktop - cli: - name: Desktop - cliKey: Desktop - - choiceName: SessionState - cli: - cliKey: SessionState - choiceValues: - - choiceValue: unknown - cli: - name: Unknown - cliKey: Unknown - - choiceValue: active - cli: - name: Active - cliKey: Active - - choiceValue: disconnected - cli: - name: Disconnected - cliKey: Disconnected - - choiceValue: pending - cli: - name: Pending - cliKey: Pending - - choiceValue: log_off - cli: - name: LogOff - cliKey: LogOff - - choiceValue: user_profile_disk_mounted - cli: - name: UserProfileDiskMounted - cliKey: UserProfileDiskMounted - - choiceName: Status - cli: - cliKey: Status - choiceValues: - - choiceValue: available - cli: - name: Available - cliKey: Available - - choiceValue: unavailable - cli: - name: Unavailable - cliKey: Unavailable - - choiceValue: shutdown - cli: - name: Shutdown - cliKey: Shutdown - - choiceValue: disconnected - cli: - name: Disconnected - cliKey: Disconnected - - choiceValue: upgrading - cli: - name: Upgrading - cliKey: Upgrading - - choiceValue: upgrade_failed - cli: - name: UpgradeFailed - cliKey: UpgradeFailed - - choiceName: UpdateState - cli: - cliKey: UpdateState - choiceValues: - - choiceValue: initial - cli: - name: Initial - cliKey: Initial - - choiceValue: pending - cli: - name: Pending - cliKey: Pending - - choiceValue: started - cli: - name: Started - cliKey: Started - - choiceValue: succeeded - cli: - name: Succeeded - cliKey: Succeeded - - choiceValue: failed - cli: - name: Failed - cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000100-poly-as-resource-pre.yaml b/src/desktopvirtualization/_az_debug/clicommon-000100-poly-as-resource-pre.yaml deleted file mode 100644 index 96d8540f7d4..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000100-poly-as-resource-pre.yaml +++ /dev/null @@ -1,11138 +0,0 @@ -info: - title: Desktop Virtualization API Client - extensions: - cli-dump-index: 100 -schemas: - booleans: - - &ref_53 - type: boolean - language: - default: - name: boolean - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - protocol: {} - - &ref_27 - type: boolean - language: - default: - name: boolean - description: Is validation environment. - protocol: {} - - &ref_356 - type: boolean - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: boolean - description: '' - protocol: {} - - &ref_73 - type: boolean - language: - default: - name: boolean - description: Allow a new session. - protocol: {} - numbers: - - &ref_47 - type: integer - precision: 32 - language: - default: - name: Integer - description: Index of the icon. - cli: - name: Integer - description: Index of the icon. - protocol: {} - - &ref_24 - type: integer - precision: 32 - language: - default: - name: Integer - description: The max session limit of HostPool. - cli: - name: Integer - description: The max session limit of HostPool. - protocol: {} - - &ref_26 - type: integer - precision: 32 - language: - default: - name: Integer - description: The ring number of HostPool. - cli: - name: Integer - description: The ring number of HostPool. - protocol: {} - - &ref_71 - type: integer - precision: 32 - language: - default: - name: Integer - description: Number of sessions on SessionHost. - cli: - name: Integer - description: Number of sessions on SessionHost. - protocol: {} - strings: - - &ref_0 - type: string - language: - default: - name: String - description: simple string - cli: - name: String - description: simple string - protocol: {} - - &ref_2 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationName - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cli: - name: ResourceProviderOperationName - description: 'Operation name, in format of {provider}/{resource}/{operation}' - protocol: {} - - &ref_3 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationDisplayProvider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cli: - name: ResourceProviderOperationDisplayProvider - description: 'Resource provider: Microsoft Desktop Virtualization.' - protocol: {} - - &ref_4 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationDisplayResource - description: Resource on which the operation is performed. - cli: - name: ResourceProviderOperationDisplayResource - description: Resource on which the operation is performed. - protocol: {} - - &ref_5 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationDisplayOperation - description: 'Type of operation: get, read, delete, etc.' - cli: - name: ResourceProviderOperationDisplayOperation - description: 'Type of operation: get, read, delete, etc.' - protocol: {} - - &ref_6 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationDisplayDescription - description: Description of this operation. - cli: - name: ResourceProviderOperationDisplayDescription - description: Description of this operation. - protocol: {} - - &ref_130 - type: string - apiVersions: - - version: '1.0' - minLength: 1 - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_136 - type: string - apiVersions: - - version: '1.0' - maxLength: 90 - minLength: 1 - pattern: '^[-\w\._\(\)]+$' - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_137 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 3 - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_91 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: ResourceId - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cli: - name: ResourceId - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - protocol: {} - - &ref_92 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: ResourceName - description: The name of the resource - cli: - name: ResourceName - description: The name of the resource - protocol: {} - - &ref_93 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: ResourceType - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cli: - name: ResourceType - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - protocol: {} - - &ref_1 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_38 - type: string - apiVersions: - - version: '1.0' - extensions: - x-ms-mutability: - - read - - create - language: - default: - name: TrackedResourceLocation - description: The geo-location where the resource lives - cli: - name: TrackedResourceLocation - description: The geo-location where the resource lives - protocol: {} - - &ref_11 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePropertiesDescription - description: Description of Workspace. - cli: - name: WorkspacePropertiesDescription - description: Description of Workspace. - protocol: {} - - &ref_12 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePropertiesFriendlyName - description: Friendly name of Workspace. - cli: - name: WorkspacePropertiesFriendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_13 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePropertiesApplicationGroupReferencesItem - description: '' - cli: - name: WorkspacePropertiesApplicationGroupReferencesItem - description: '' - protocol: {} - - &ref_94 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudErrorCode - description: Error code - cli: - name: CloudErrorCode - description: Error code - protocol: {} - - &ref_95 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudErrorMessage - description: Error message indicating why the operation failed. - cli: - name: CloudErrorMessage - description: Error message indicating why the operation failed. - protocol: {} - - &ref_96 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchPropertiesDescription - description: Description of Workspace. - cli: - name: WorkspacePatchPropertiesDescription - description: Description of Workspace. - protocol: {} - - &ref_97 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchPropertiesFriendlyName - description: Friendly name of Workspace. - cli: - name: WorkspacePatchPropertiesFriendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_98 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchPropertiesApplicationGroupReferencesItem - description: '' - cli: - name: WorkspacePatchPropertiesApplicationGroupReferencesItem - description: '' - protocol: {} - - &ref_99 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceListNextLink - description: Link to the next page of results. - cli: - name: WorkspaceListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_180 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_14 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPropertiesDescription - description: Description of ApplicationGroup. - cli: - name: ApplicationGroupPropertiesDescription - description: Description of ApplicationGroup. - protocol: {} - - &ref_15 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPropertiesFriendlyName - description: Friendly name of ApplicationGroup. - cli: - name: ApplicationGroupPropertiesFriendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_16 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPropertiesHostPoolArmPath - description: HostPool arm path of ApplicationGroup. - cli: - name: ApplicationGroupPropertiesHostPoolArmPath - description: HostPool arm path of ApplicationGroup. - protocol: {} - - &ref_17 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPropertiesWorkspaceArmPath - description: Workspace arm path of ApplicationGroup. - cli: - name: ApplicationGroupPropertiesWorkspaceArmPath - description: Workspace arm path of ApplicationGroup. - protocol: {} - - &ref_100 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupListNextLink - description: Link to the next page of results. - cli: - name: ApplicationGroupListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_40 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchPropertiesDescription - description: Description of ApplicationGroup. - cli: - name: ApplicationGroupPatchPropertiesDescription - description: Description of ApplicationGroup. - protocol: {} - - &ref_41 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchPropertiesFriendlyName - description: Friendly name of ApplicationGroup. - cli: - name: ApplicationGroupPatchPropertiesFriendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_42 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesAppAlias - description: Alias of StartMenuItem. - cli: - name: StartMenuItemPropertiesAppAlias - description: Alias of StartMenuItem. - protocol: {} - - &ref_43 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesFriendlyName - description: Friendly name of StartMenuItem. - cli: - name: StartMenuItemPropertiesFriendlyName - description: Friendly name of StartMenuItem. - protocol: {} - - &ref_44 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesFilePath - description: Path to the file of StartMenuItem. - cli: - name: StartMenuItemPropertiesFilePath - description: Path to the file of StartMenuItem. - protocol: {} - - &ref_45 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesCommandLineArguments - description: Command line arguments for StartMenuItem. - cli: - name: StartMenuItemPropertiesCommandLineArguments - description: Command line arguments for StartMenuItem. - protocol: {} - - &ref_46 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesIconPath - description: Path to the icon. - cli: - name: StartMenuItemPropertiesIconPath - description: Path to the icon. - protocol: {} - - &ref_101 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemListNextLink - description: Link to the next page of results. - cli: - name: StartMenuItemListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_48 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesDescription - description: Description of Application. - cli: - name: ApplicationPropertiesDescription - description: Description of Application. - protocol: {} - - &ref_49 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesFriendlyName - description: Friendly name of Application. - cli: - name: ApplicationPropertiesFriendlyName - description: Friendly name of Application. - protocol: {} - - &ref_50 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesFilePath - description: Specifies a path for the executable file for the application. - cli: - name: ApplicationPropertiesFilePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_52 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesCommandLineArguments - description: Command Line Arguments for Application. - cli: - name: ApplicationPropertiesCommandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_54 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesIconPath - description: Path to icon. - cli: - name: ApplicationPropertiesIconPath - description: Path to icon. - protocol: {} - - &ref_55 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesIconHash - description: Hash of the icon. - cli: - name: ApplicationPropertiesIconHash - description: Hash of the icon. - protocol: {} - - &ref_102 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesDescription - description: Description of Application. - cli: - name: ApplicationPatchPropertiesDescription - description: Description of Application. - protocol: {} - - &ref_103 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesFriendlyName - description: Friendly name of Application. - cli: - name: ApplicationPatchPropertiesFriendlyName - description: Friendly name of Application. - protocol: {} - - &ref_104 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesFilePath - description: Specifies a path for the executable file for the application. - cli: - name: ApplicationPatchPropertiesFilePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_105 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesCommandLineArguments - description: Command Line Arguments for Application. - cli: - name: ApplicationPatchPropertiesCommandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_106 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesIconPath - description: Path to icon. - cli: - name: ApplicationPatchPropertiesIconPath - description: Path to icon. - protocol: {} - - &ref_107 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationListNextLink - description: Link to the next page of results. - cli: - name: ApplicationListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_57 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPropertiesDescription - description: Description of Desktop. - cli: - name: DesktopPropertiesDescription - description: Description of Desktop. - protocol: {} - - &ref_58 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPropertiesFriendlyName - description: Friendly name of Desktop. - cli: - name: DesktopPropertiesFriendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_59 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPropertiesIconHash - description: Hash of the icon. - cli: - name: DesktopPropertiesIconHash - description: Hash of the icon. - protocol: {} - - &ref_108 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchPropertiesDescription - description: Description of Desktop. - cli: - name: DesktopPatchPropertiesDescription - description: Description of Desktop. - protocol: {} - - &ref_109 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchPropertiesFriendlyName - description: Friendly name of Desktop. - cli: - name: DesktopPatchPropertiesFriendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_110 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopListNextLink - description: Link to the next page of results. - cli: - name: DesktopListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_19 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesFriendlyName - description: Friendly name of HostPool. - cli: - name: HostPoolPropertiesFriendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_20 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesDescription - description: Description of HostPool. - cli: - name: HostPoolPropertiesDescription - description: Description of HostPool. - protocol: {} - - &ref_23 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesCustomRdpProperty - description: Custom rdp property of HostPool. - cli: - name: HostPoolPropertiesCustomRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_29 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: RegistrationInfoToken - description: The registration token base64 encoded string. - cli: - name: RegistrationInfoToken - description: The registration token base64 encoded string. - protocol: {} - - &ref_31 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesVmTemplate - description: VM template for sessionhosts configuration within hostpool. - cli: - name: HostPoolPropertiesVmTemplate - description: VM template for sessionhosts configuration within hostpool. - protocol: {} - - &ref_32 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesApplicationGroupReferencesItem - description: '' - cli: - name: HostPoolPropertiesApplicationGroupReferencesItem - description: '' - protocol: {} - - &ref_33 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesSsoContext - description: Path to keyvault containing ssoContext secret. - cli: - name: HostPoolPropertiesSsoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_61 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchPropertiesFriendlyName - description: Friendly name of HostPool. - cli: - name: HostPoolPatchPropertiesFriendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_62 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchPropertiesDescription - description: Description of HostPool. - cli: - name: HostPoolPatchPropertiesDescription - description: Description of HostPool. - protocol: {} - - &ref_63 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchPropertiesCustomRdpProperty - description: Custom rdp property of HostPool. - cli: - name: HostPoolPatchPropertiesCustomRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_64 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchPropertiesSsoContext - description: Path to keyvault containing ssoContext secret. - cli: - name: HostPoolPatchPropertiesSsoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_113 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolListNextLink - description: Link to the next page of results. - cli: - name: HostPoolListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_65 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionPropertiesUserPrincipalName - description: The user principal name. - cli: - name: UserSessionPropertiesUserPrincipalName - description: The user principal name. - protocol: {} - - &ref_68 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionPropertiesActiveDirectoryUserName - description: The active directory user name. - cli: - name: UserSessionPropertiesActiveDirectoryUserName - description: The active directory user name. - protocol: {} - - &ref_114 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionListNextLink - description: Link to the next page of results. - cli: - name: UserSessionListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_402 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 48 - minLength: 3 - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_72 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesAgentVersion - description: Version of agent on SessionHost. - cli: - name: SessionHostPropertiesAgentVersion - description: Version of agent on SessionHost. - protocol: {} - - &ref_74 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesAssignedUser - description: User assigned to SessionHost. - cli: - name: SessionHostPropertiesAssignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_77 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesOsVersion - description: The version of the OS on the session host. - cli: - name: SessionHostPropertiesOsVersion - description: The version of the OS on the session host. - protocol: {} - - &ref_78 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesSxSStackVersion - description: The version of the side by side stack on the session host. - cli: - name: SessionHostPropertiesSxSStackVersion - description: The version of the side by side stack on the session host. - protocol: {} - - &ref_81 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesUpdateErrorMessage - description: The error message. - cli: - name: SessionHostPropertiesUpdateErrorMessage - description: The error message. - protocol: {} - - &ref_82 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPatchPropertiesAssignedUser - description: User assigned to SessionHost. - cli: - name: SessionHostPatchPropertiesAssignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_115 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostListNextLink - description: Link to the next page of results. - cli: - name: SessionHostListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_403 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 1 - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_116 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessageTitle - description: Title of message. - cli: - name: SendMessageTitle - description: Title of message. - protocol: {} - - &ref_117 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessageBody - description: Body of message. - cli: - name: SendMessageBody - description: Body of message. - protocol: {} - choices: - - &ref_18 - choices: - - value: RemoteApp - language: - default: - name: remote_app - description: '' - cli: - name: RemoteApp - description: '' - cliKey: RemoteApp - - value: Desktop - language: - default: - name: desktop - description: '' - cli: - name: Desktop - description: '' - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationGroupType - description: Resource Type of ApplicationGroup. - cli: - name: ApplicationGroupType - description: Resource Type of ApplicationGroup. - cliKey: ApplicationGroupType - protocol: {} - - &ref_51 - choices: - - value: DoNotAllow - language: - default: - name: do_not_allow - description: '' - cli: - name: DoNotAllow - description: '' - cliKey: DoNotAllow - - value: Allow - language: - default: - name: allow - description: '' - cli: - name: Allow - description: '' - cliKey: Allow - - value: Require - language: - default: - name: require - description: '' - cli: - name: Require - description: '' - cliKey: Require - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: CommandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - name: CommandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cliKey: CommandLineSetting - protocol: {} - - &ref_21 - choices: - - value: Personal - language: - default: - name: personal - description: '' - cli: - name: Personal - description: '' - cliKey: Personal - - value: Pooled - language: - default: - name: pooled - description: '' - cli: - name: Pooled - description: '' - cliKey: Pooled - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: HostPoolType - description: HostPool type for desktop. - cli: - name: HostPoolType - description: HostPool type for desktop. - cliKey: HostPoolType - protocol: {} - - &ref_22 - choices: - - value: Automatic - language: - default: - name: automatic - description: '' - cli: - name: Automatic - description: '' - cliKey: Automatic - - value: Direct - language: - default: - name: direct - description: '' - cli: - name: Direct - description: '' - cliKey: Direct - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: PersonalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cli: - name: PersonalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cliKey: PersonalDesktopAssignmentType - protocol: {} - - &ref_25 - choices: - - value: BreadthFirst - language: - default: - name: breadth_first - description: '' - cli: - name: BreadthFirst - description: '' - cliKey: BreadthFirst - - value: DepthFirst - language: - default: - name: depth_first - description: '' - cli: - name: DepthFirst - description: '' - cliKey: DepthFirst - - value: Persistent - language: - default: - name: persistent - description: '' - cli: - name: Persistent - description: '' - cliKey: Persistent - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: LoadBalancerType - description: The type of the load balancer. - cli: - name: LoadBalancerType - description: The type of the load balancer. - cliKey: LoadBalancerType - protocol: {} - - &ref_30 - choices: - - value: Delete - language: - default: - name: delete - description: '' - cli: - name: Delete - description: '' - cliKey: Delete - - value: None - language: - default: - name: none - description: '' - cli: - name: None - description: '' - cliKey: None - - value: Update - language: - default: - name: update - description: '' - cli: - name: Update - description: '' - cliKey: Update - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: RegistrationTokenOperation - description: The type of resetting the token. - cli: - name: RegistrationTokenOperation - description: The type of resetting the token. - cliKey: RegistrationTokenOperation - protocol: {} - - &ref_66 - choices: - - value: RemoteApp - language: - default: - name: remote_app - description: '' - cli: - name: RemoteApp - description: '' - cliKey: RemoteApp - - value: Desktop - language: - default: - name: desktop - description: '' - cli: - name: Desktop - description: '' - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationType - description: Application type of application. - cli: - name: ApplicationType - description: Application type of application. - cliKey: ApplicationType - protocol: {} - - &ref_67 - choices: - - value: Unknown - language: - default: - name: unknown - description: '' - cli: - name: Unknown - description: '' - cliKey: Unknown - - value: Active - language: - default: - name: active - description: '' - cli: - name: Active - description: '' - cliKey: Active - - value: Disconnected - language: - default: - name: disconnected - description: '' - cli: - name: Disconnected - description: '' - cliKey: Disconnected - - value: Pending - language: - default: - name: pending - description: '' - cli: - name: Pending - description: '' - cliKey: Pending - - value: LogOff - language: - default: - name: log_off - description: '' - cli: - name: LogOff - description: '' - cliKey: LogOff - - value: UserProfileDiskMounted - language: - default: - name: user_profile_disk_mounted - description: '' - cli: - name: UserProfileDiskMounted - description: '' - cliKey: UserProfileDiskMounted - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: SessionState - description: State of user session. - cli: - name: SessionState - description: State of user session. - cliKey: SessionState - protocol: {} - - &ref_75 - choices: - - value: Available - language: - default: - name: available - description: '' - cli: - name: Available - description: '' - cliKey: Available - - value: Unavailable - language: - default: - name: unavailable - description: '' - cli: - name: Unavailable - description: '' - cliKey: Unavailable - - value: Shutdown - language: - default: - name: shutdown - description: '' - cli: - name: Shutdown - description: '' - cliKey: Shutdown - - value: Disconnected - language: - default: - name: disconnected - description: '' - cli: - name: Disconnected - description: '' - cliKey: Disconnected - - value: Upgrading - language: - default: - name: upgrading - description: '' - cli: - name: Upgrading - description: '' - cliKey: Upgrading - - value: UpgradeFailed - language: - default: - name: upgrade_failed - description: '' - cli: - name: UpgradeFailed - description: '' - cliKey: UpgradeFailed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: Status - description: Status for a SessionHost. - cli: - name: Status - description: Status for a SessionHost. - cliKey: Status - protocol: {} - - &ref_79 - choices: - - value: Initial - language: - default: - name: initial - description: '' - cli: - name: Initial - description: '' - cliKey: Initial - - value: Pending - language: - default: - name: pending - description: '' - cli: - name: Pending - description: '' - cliKey: Pending - - value: Started - language: - default: - name: started - description: '' - cli: - name: Started - description: '' - cliKey: Started - - value: Succeeded - language: - default: - name: succeeded - description: '' - cli: - name: Succeeded - description: '' - cliKey: Succeeded - - value: Failed - language: - default: - name: failed - description: '' - cli: - name: Failed - description: '' - cliKey: Failed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: UpdateState - description: Update state of a SessionHost. - cli: - name: UpdateState - description: Update state of a SessionHost. - cliKey: UpdateState - protocol: {} - constants: - - &ref_131 - type: constant - value: - value: 2019-12-10-preview - valueType: *ref_0 - language: - default: - name: api_version2019_12_10_preview - description: Api Version (2019-12-10-preview) - cli: - name: ApiVersion20191210Preview - description: Api Version (2019-12-10-preview) - protocol: {} - - &ref_141 - type: constant - value: - value: application/json - valueType: *ref_0 - language: - default: - name: application_json - description: Content Type 'application/json' - cli: - name: ApplicationJson - description: Content Type 'application/json' - protocol: {} - dictionaries: - - &ref_37 - type: dictionary - elementType: *ref_1 - language: - default: - name: TrackedResourceTags - description: Resource tags. - cli: - name: TrackedResourceTags - description: Resource tags. - cli-complexity: dictionary_simple - cli-mark: checked - protocol: {} - any: - - &ref_39 - type: any - language: - default: - name: any - description: Any object - protocol: {} - byteArrays: - - &ref_56 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_properties_icon_content - description: the icon a 64 bit string as a byte array. - protocol: {} - - &ref_60 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: desktop_properties_icon_content - description: The icon a 64 bit string as a byte array. - protocol: {} - dateTimes: - - &ref_28 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: registration_info_expiration_time - description: Expiration time of registration token. - protocol: {} - - &ref_69 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: user_session_properties_create_time - description: The timestamp of the user session create. - protocol: {} - - &ref_70 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_last_heart_beat - description: Last heart beat from SessionHost. - protocol: {} - - &ref_76 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_status_timestamp - description: The timestamp of the status. - protocol: {} - - &ref_80 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_last_update_time - description: The timestamp of the last update. - protocol: {} - objects: - - &ref_134 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_118 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: &ref_7 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_2 - serializedName: name - language: - default: - name: name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cli: - name: name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cliKey: name - protocol: {} - - schema: &ref_8 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_3 - serializedName: provider - language: - default: - name: provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cli: - name: provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cliKey: provider - protocol: {} - - schema: *ref_4 - serializedName: resource - language: - default: - name: resource - description: Resource on which the operation is performed. - cli: - name: resource - description: Resource on which the operation is performed. - cliKey: resource - protocol: {} - - schema: *ref_5 - serializedName: operation - language: - default: - name: operation - description: 'Type of operation: get, read, delete, etc.' - cli: - name: operation - description: 'Type of operation: get, read, delete, etc.' - cliKey: operation - protocol: {} - - schema: *ref_6 - serializedName: description - language: - default: - name: description - description: Description of this operation. - cli: - name: description - description: Description of this operation. - cliKey: description - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperationDisplay - description: Display metadata associated with the operation. - namespace: '' - cli: - name: ResourceProviderOperationDisplay - description: Display metadata associated with the operation. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ResourceProviderOperation-display - protocol: {} - serializedName: display - language: - default: - name: display - description: Display metadata associated with the operation. - cli: - name: display - description: Display metadata associated with the operation. - cliKey: display - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperation - description: Supported operation of this resource provider. - namespace: '' - cli: - name: ResourceProviderOperation - description: Supported operation of this resource provider. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ResourceProviderOperation - protocol: {} - language: - default: - name: ResourceProviderOperationListValue - description: List of operations supported by this resource provider. - cli: - name: ResourceProviderOperationListValue - description: List of operations supported by this resource provider. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of operations supported by this resource provider. - cli: - name: value - description: List of operations supported by this resource provider. - cliKey: value - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperationList - description: Result of the request to list operations. - namespace: '' - cli: - name: ResourceProviderOperationList - description: Result of the request to list operations. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ResourceProviderOperationList - protocol: {} - - *ref_7 - - *ref_8 - - &ref_10 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_9 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_34 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_147 - schema: *ref_11 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: &ref_148 - name: description - description: Description of Workspace. - cliKey: description - protocol: {} - - &ref_149 - schema: *ref_12 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: &ref_150 - name: friendlyName - description: Friendly name of Workspace. - cliKey: friendlyName - protocol: {} - - &ref_151 - schema: &ref_119 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_13 - language: - default: - name: WorkspacePropertiesApplicationGroupReferences - description: List of applicationGroup resource Ids. - cli: - name: WorkspacePropertiesApplicationGroupReferences - description: List of applicationGroup resource Ids. - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup resource Ids. - cli: &ref_152 - name: applicationGroupReferences - description: List of applicationGroup resource Ids. - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Workspace - description: Represents a Workspace definition. - namespace: '' - cli: - name: Workspace - description: Represents a Workspace definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: Workspace - protocol: {} - - &ref_35 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_188 - schema: *ref_14 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: &ref_189 - name: description - description: Description of ApplicationGroup. - cliKey: description - protocol: {} - - &ref_190 - schema: *ref_15 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: &ref_191 - name: friendlyName - description: Friendly name of ApplicationGroup. - cliKey: friendlyName - protocol: {} - - &ref_192 - schema: *ref_16 - flattenedNames: - - properties - - hostPoolArmPath - required: true - serializedName: hostPoolArmPath - language: - default: - name: host_pool_arm_path - description: HostPool arm path of ApplicationGroup. - cli: &ref_193 - name: hostPoolArmPath - description: HostPool arm path of ApplicationGroup. - cliKey: hostPoolArmPath - protocol: {} - - schema: *ref_17 - flattenedNames: - - properties - - workspaceArmPath - readOnly: true - required: false - serializedName: workspaceArmPath - language: - default: - name: workspace_arm_path - description: Workspace arm path of ApplicationGroup. - cli: - name: workspaceArmPath - description: Workspace arm path of ApplicationGroup. - cliKey: workspaceArmPath - protocol: {} - - &ref_194 - schema: *ref_18 - flattenedNames: - - properties - - applicationGroupType - required: true - serializedName: applicationGroupType - language: - default: - name: application_group_type - description: Resource Type of ApplicationGroup. - cli: &ref_195 - name: applicationGroupType - description: Resource Type of ApplicationGroup. - cliKey: applicationGroupType - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationGroup - description: Represents a ApplicationGroup definition. - namespace: '' - cli: - name: ApplicationGroup - description: Represents a ApplicationGroup definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroup - protocol: {} - - &ref_36 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_316 - schema: *ref_19 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: &ref_317 - name: friendlyName - description: Friendly name of HostPool. - cliKey: friendlyName - protocol: {} - - &ref_318 - schema: *ref_20 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: &ref_319 - name: description - description: Description of HostPool. - cliKey: description - protocol: {} - - &ref_320 - schema: *ref_21 - flattenedNames: - - properties - - hostPoolType - required: true - serializedName: hostPoolType - language: - default: - name: host_pool_type - description: HostPool type for desktop. - cli: &ref_321 - name: hostPoolType - description: HostPool type for desktop. - cliKey: hostPoolType - protocol: {} - - &ref_322 - schema: *ref_22 - flattenedNames: - - properties - - personalDesktopAssignmentType - required: true - serializedName: personalDesktopAssignmentType - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: &ref_323 - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cliKey: personalDesktopAssignmentType - protocol: {} - - &ref_324 - schema: *ref_23 - flattenedNames: - - properties - - customRdpProperty - required: false - serializedName: customRdpProperty - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: &ref_325 - name: customRdpProperty - description: Custom rdp property of HostPool. - cliKey: customRdpProperty - protocol: {} - - &ref_326 - schema: *ref_24 - flattenedNames: - - properties - - maxSessionLimit - required: false - serializedName: maxSessionLimit - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: &ref_327 - name: maxSessionLimit - description: The max session limit of HostPool. - cliKey: maxSessionLimit - protocol: {} - - &ref_328 - schema: *ref_25 - flattenedNames: - - properties - - loadBalancerType - required: true - serializedName: loadBalancerType - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: &ref_329 - name: loadBalancerType - description: The type of the load balancer. - cliKey: loadBalancerType - protocol: {} - - &ref_330 - schema: *ref_26 - flattenedNames: - - properties - - ring - required: false - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: &ref_331 - name: ring - description: The ring number of HostPool. - cliKey: ring - protocol: {} - - &ref_332 - schema: *ref_27 - flattenedNames: - - properties - - validationEnvironment - required: false - serializedName: validationEnvironment - language: - default: - name: validation_environment - description: Is validation environment. - cli: &ref_333 - name: validationEnvironment - description: Is validation environment. - cliKey: validationEnvironment - protocol: {} - - &ref_334 - schema: &ref_111 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_28 - serializedName: expirationTime - language: - default: - name: expiration_time - description: Expiration time of registration token. - cli: - name: expirationTime - description: Expiration time of registration token. - cliKey: expirationTime - protocol: {} - - schema: *ref_29 - serializedName: token - language: - default: - name: token - description: The registration token base64 encoded string. - cli: - name: token - description: The registration token base64 encoded string. - cliKey: token - protocol: {} - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registration_token_operation - description: The type of resetting the token. - cli: - name: registrationTokenOperation - description: The type of resetting the token. - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: RegistrationInfo - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - name: RegistrationInfo - description: Represents a RegistrationInfo definition. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 3 - propertyCountIfSimplifyWithoutSimpleObject: 3 - simplifiable: true - cliKey: RegistrationInfo - protocol: {} - flattenedNames: - - properties - - registrationInfo - required: false - serializedName: registrationInfo - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: &ref_335 - name: registrationInfo - description: The registration info of HostPool. - cliKey: registrationInfo - protocol: {} - - &ref_336 - schema: *ref_31 - flattenedNames: - - properties - - vmTemplate - required: false - serializedName: vmTemplate - language: - default: - name: vm_template - description: VM template for sessionhosts configuration within hostpool. - cli: &ref_337 - name: vmTemplate - description: VM template for sessionhosts configuration within hostpool. - cliKey: vmTemplate - protocol: {} - - schema: &ref_126 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_32 - language: - default: - name: HostPoolPropertiesApplicationGroupReferences - description: List of applicationGroup links. - cli: - name: HostPoolPropertiesApplicationGroupReferences - description: List of applicationGroup links. - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - readOnly: true - required: false - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: - name: applicationGroupReferences - description: List of applicationGroup links. - cliKey: applicationGroupReferences - protocol: {} - - &ref_338 - schema: *ref_33 - flattenedNames: - - properties - - ssoContext - required: false - serializedName: ssoContext - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: &ref_339 - name: ssoContext - description: Path to keyvault containing ssoContext secret. - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: HostPool - description: Represents a HostPool definition. - namespace: '' - cli: - name: HostPool - description: Represents a HostPool definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPool - protocol: {} - immediate: - - *ref_34 - - *ref_35 - - *ref_36 - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_143 - schema: *ref_37 - required: false - serializedName: tags - language: - default: - name: tags - description: Resource tags. - cli: &ref_144 - name: tags - description: Resource tags. - cliKey: tags - protocol: {} - - &ref_145 - schema: *ref_38 - required: true - serializedName: location - language: - default: - name: location - description: The geo-location where the resource lives - cli: &ref_146 - name: location - description: The geo-location where the resource lives - cliKey: location - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: TrackedResource - description: The resource model definition for a ARM tracked top level resource - namespace: '' - cli: - name: TrackedResource - description: The resource model definition for a ARM tracked top level resource - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: TrackedResource - protocol: {} - - *ref_34 - - *ref_35 - - &ref_83 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_207 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_208 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_209 - schema: *ref_40 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: &ref_210 - name: description - description: Description of ApplicationGroup. - cliKey: description - protocol: {} - - &ref_211 - schema: *ref_41 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: &ref_212 - name: friendlyName - description: Friendly name of ApplicationGroup. - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: ApplicationGroupPatch - description: ApplicationGroup properties that can be patched. - namespace: '' - cli: - name: ApplicationGroupPatch - description: ApplicationGroup properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupPatch - protocol: {} - - &ref_84 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_42 - flattenedNames: - - properties - - appAlias - serializedName: appAlias - language: - default: - name: app_alias - description: Alias of StartMenuItem. - cli: - name: appAlias - description: Alias of StartMenuItem. - cliKey: appAlias - protocol: {} - - schema: *ref_43 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of StartMenuItem. - cli: - name: friendlyName - description: Friendly name of StartMenuItem. - cliKey: friendlyName - protocol: {} - - schema: *ref_44 - flattenedNames: - - properties - - filePath - serializedName: filePath - language: - default: - name: file_path - description: Path to the file of StartMenuItem. - cli: - name: filePath - description: Path to the file of StartMenuItem. - cliKey: filePath - protocol: {} - - schema: *ref_45 - flattenedNames: - - properties - - commandLineArguments - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command line arguments for StartMenuItem. - cli: - name: commandLineArguments - description: Command line arguments for StartMenuItem. - cliKey: commandLineArguments - protocol: {} - - schema: *ref_46 - flattenedNames: - - properties - - iconPath - serializedName: iconPath - language: - default: - name: icon_path - description: Path to the icon. - cli: - name: iconPath - description: Path to the icon. - cliKey: iconPath - protocol: {} - - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: - name: iconIndex - description: Index of the icon. - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: StartMenuItem - description: Represents a StartMenuItem definition. - namespace: '' - cli: - name: StartMenuItem - description: Represents a StartMenuItem definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: StartMenuItem - protocol: {} - - &ref_85 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_228 - schema: *ref_48 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: &ref_229 - name: description - description: Description of Application. - cliKey: description - protocol: {} - - &ref_230 - schema: *ref_49 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: &ref_231 - name: friendlyName - description: Friendly name of Application. - cliKey: friendlyName - protocol: {} - - &ref_232 - schema: *ref_50 - flattenedNames: - - properties - - filePath - required: false - serializedName: filePath - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: &ref_233 - name: filePath - description: Specifies a path for the executable file for the application. - cliKey: filePath - protocol: {} - - &ref_234 - schema: *ref_51 - flattenedNames: - - properties - - commandLineSetting - required: true - serializedName: commandLineSetting - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: &ref_235 - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cliKey: commandLineSetting - protocol: {} - - &ref_236 - schema: *ref_52 - flattenedNames: - - properties - - commandLineArguments - required: false - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: &ref_237 - name: commandLineArguments - description: Command Line Arguments for Application. - cliKey: commandLineArguments - protocol: {} - - &ref_238 - schema: *ref_53 - flattenedNames: - - properties - - showInPortal - required: false - serializedName: showInPortal - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: &ref_239 - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cliKey: showInPortal - protocol: {} - - &ref_240 - schema: *ref_54 - flattenedNames: - - properties - - iconPath - required: false - serializedName: iconPath - language: - default: - name: icon_path - description: Path to icon. - cli: &ref_241 - name: iconPath - description: Path to icon. - cliKey: iconPath - protocol: {} - - &ref_242 - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - required: false - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: &ref_243 - name: iconIndex - description: Index of the icon. - cliKey: iconIndex - protocol: {} - - schema: *ref_55 - flattenedNames: - - properties - - iconHash - readOnly: true - required: false - serializedName: iconHash - language: - default: - name: icon_hash - description: Hash of the icon. - cli: - name: iconHash - description: Hash of the icon. - cliKey: iconHash - protocol: {} - - schema: *ref_56 - flattenedNames: - - properties - - iconContent - readOnly: true - required: false - serializedName: iconContent - language: - default: - name: icon_content - description: the icon a 64 bit string as a byte array. - cli: - name: iconContent - description: the icon a 64 bit string as a byte array. - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Application - description: Schema for Application properties. - namespace: '' - cli: - name: Application - description: Schema for Application properties. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Application - protocol: {} - - &ref_86 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_57 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: - name: description - description: Description of Desktop. - cliKey: description - protocol: {} - - schema: *ref_58 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: - name: friendlyName - description: Friendly name of Desktop. - cliKey: friendlyName - protocol: {} - - schema: *ref_59 - flattenedNames: - - properties - - iconHash - readOnly: true - serializedName: iconHash - language: - default: - name: icon_hash - description: Hash of the icon. - cli: - name: iconHash - description: Hash of the icon. - cliKey: iconHash - protocol: {} - - schema: *ref_60 - flattenedNames: - - properties - - iconContent - readOnly: true - serializedName: iconContent - language: - default: - name: icon_content - description: The icon a 64 bit string as a byte array. - cli: - name: iconContent - description: The icon a 64 bit string as a byte array. - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Desktop - description: Schema for Desktop properties. - namespace: '' - cli: - name: Desktop - description: Schema for Desktop properties. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Desktop - protocol: {} - - *ref_36 - - &ref_87 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_361 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_362 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_363 - schema: *ref_61 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: &ref_364 - name: friendlyName - description: Friendly name of HostPool. - cliKey: friendlyName - protocol: {} - - &ref_365 - schema: *ref_62 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: &ref_366 - name: description - description: Description of HostPool. - cliKey: description - protocol: {} - - &ref_367 - schema: *ref_63 - flattenedNames: - - properties - - customRdpProperty - serializedName: customRdpProperty - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: &ref_368 - name: customRdpProperty - description: Custom rdp property of HostPool. - cliKey: customRdpProperty - protocol: {} - - &ref_369 - schema: *ref_24 - flattenedNames: - - properties - - maxSessionLimit - serializedName: maxSessionLimit - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: &ref_370 - name: maxSessionLimit - description: The max session limit of HostPool. - cliKey: maxSessionLimit - protocol: {} - - &ref_371 - schema: *ref_22 - flattenedNames: - - properties - - personalDesktopAssignmentType - serializedName: personalDesktopAssignmentType - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: &ref_372 - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cliKey: personalDesktopAssignmentType - protocol: {} - - &ref_373 - schema: *ref_25 - flattenedNames: - - properties - - loadBalancerType - serializedName: loadBalancerType - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: &ref_374 - name: loadBalancerType - description: The type of the load balancer. - cliKey: loadBalancerType - protocol: {} - - &ref_375 - schema: *ref_26 - flattenedNames: - - properties - - ring - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: &ref_376 - name: ring - description: The ring number of HostPool. - cliKey: ring - protocol: {} - - &ref_377 - schema: *ref_27 - flattenedNames: - - properties - - validationEnvironment - serializedName: validationEnvironment - language: - default: - name: validation_environment - description: Is validation environment. - cli: &ref_378 - name: validationEnvironment - description: Is validation environment. - cliKey: validationEnvironment - protocol: {} - - &ref_379 - schema: &ref_112 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registration_token_operation - description: The type of resetting the token. - cli: - name: registrationTokenOperation - description: The type of resetting the token. - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: RegistrationInfoPatch - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - name: RegistrationInfoPatch - description: Represents a RegistrationInfo definition. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 1 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: RegistrationInfoPatch - protocol: {} - flattenedNames: - - properties - - registrationInfo - serializedName: registrationInfo - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: &ref_380 - name: registrationInfo - description: The registration info of HostPool. - cliKey: registrationInfo - protocol: {} - - &ref_381 - schema: *ref_64 - flattenedNames: - - properties - - ssoContext - serializedName: ssoContext - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: &ref_382 - name: ssoContext - description: Path to keyvault containing ssoContext secret. - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: HostPoolPatch - description: HostPool properties that can be patched. - namespace: '' - cli: - name: HostPoolPatch - description: HostPool properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolPatch - protocol: {} - - &ref_88 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_65 - flattenedNames: - - properties - - userPrincipalName - serializedName: userPrincipalName - language: - default: - name: user_principal_name - description: The user principal name. - cli: - name: userPrincipalName - description: The user principal name. - cliKey: userPrincipalName - protocol: {} - - schema: *ref_66 - flattenedNames: - - properties - - applicationType - serializedName: applicationType - language: - default: - name: application_type - description: Application type of application. - cli: - name: applicationType - description: Application type of application. - cliKey: applicationType - protocol: {} - - schema: *ref_67 - flattenedNames: - - properties - - sessionState - serializedName: sessionState - language: - default: - name: session_state - description: State of user session. - cli: - name: sessionState - description: State of user session. - cliKey: sessionState - protocol: {} - - schema: *ref_68 - flattenedNames: - - properties - - activeDirectoryUserName - serializedName: activeDirectoryUserName - language: - default: - name: active_directory_user_name - description: The active directory user name. - cli: - name: activeDirectoryUserName - description: The active directory user name. - cliKey: activeDirectoryUserName - protocol: {} - - schema: *ref_69 - flattenedNames: - - properties - - createTime - serializedName: createTime - language: - default: - name: create_time - description: The timestamp of the user session create. - cli: - name: createTime - description: The timestamp of the user session create. - cliKey: createTime - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: UserSession - description: Represents a UserSession definition. - namespace: '' - cli: - name: UserSession - description: Represents a UserSession definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: UserSession - protocol: {} - - &ref_89 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_70 - flattenedNames: - - properties - - lastHeartBeat - serializedName: lastHeartBeat - language: - default: - name: last_heart_beat - description: Last heart beat from SessionHost. - cli: - name: lastHeartBeat - description: Last heart beat from SessionHost. - cliKey: lastHeartBeat - protocol: {} - - schema: *ref_71 - flattenedNames: - - properties - - sessions - serializedName: sessions - language: - default: - name: sessions - description: Number of sessions on SessionHost. - cli: - name: sessions - description: Number of sessions on SessionHost. - cliKey: sessions - protocol: {} - - schema: *ref_72 - flattenedNames: - - properties - - agentVersion - serializedName: agentVersion - language: - default: - name: agent_version - description: Version of agent on SessionHost. - cli: - name: agentVersion - description: Version of agent on SessionHost. - cliKey: agentVersion - protocol: {} - - schema: *ref_73 - flattenedNames: - - properties - - allowNewSession - serializedName: allowNewSession - language: - default: - name: allow_new_session - description: Allow a new session. - cli: - name: allowNewSession - description: Allow a new session. - cliKey: allowNewSession - protocol: {} - - schema: *ref_74 - flattenedNames: - - properties - - assignedUser - serializedName: assignedUser - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: - name: assignedUser - description: User assigned to SessionHost. - cliKey: assignedUser - protocol: {} - - schema: *ref_75 - flattenedNames: - - properties - - status - serializedName: status - language: - default: - name: status - description: Status for a SessionHost. - cli: - name: status - description: Status for a SessionHost. - cliKey: status - protocol: {} - - schema: *ref_76 - flattenedNames: - - properties - - statusTimestamp - readOnly: true - serializedName: statusTimestamp - language: - default: - name: status_timestamp - description: The timestamp of the status. - cli: - name: statusTimestamp - description: The timestamp of the status. - cliKey: statusTimestamp - protocol: {} - - schema: *ref_77 - flattenedNames: - - properties - - osVersion - serializedName: osVersion - language: - default: - name: os_version - description: The version of the OS on the session host. - cli: - name: osVersion - description: The version of the OS on the session host. - cliKey: osVersion - protocol: {} - - schema: *ref_78 - flattenedNames: - - properties - - sxSStackVersion - serializedName: sxSStackVersion - language: - default: - name: sx_s_stack_version - description: The version of the side by side stack on the session host. - cli: - name: sxSStackVersion - description: The version of the side by side stack on the session host. - cliKey: sxSStackVersion - protocol: {} - - schema: *ref_79 - flattenedNames: - - properties - - updateState - serializedName: updateState - language: - default: - name: update_state - description: Update state of a SessionHost. - cli: - name: updateState - description: Update state of a SessionHost. - cliKey: updateState - protocol: {} - - schema: *ref_80 - flattenedNames: - - properties - - lastUpdateTime - readOnly: true - serializedName: lastUpdateTime - language: - default: - name: last_update_time - description: The timestamp of the last update. - cli: - name: lastUpdateTime - description: The timestamp of the last update. - cliKey: lastUpdateTime - protocol: {} - - schema: *ref_81 - flattenedNames: - - properties - - updateErrorMessage - serializedName: updateErrorMessage - language: - default: - name: update_error_message - description: The error message. - cli: - name: updateErrorMessage - description: The error message. - cliKey: updateErrorMessage - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: SessionHost - description: Represents a SessionHost definition. - namespace: '' - cli: - name: SessionHost - description: Represents a SessionHost definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHost - protocol: {} - - &ref_90 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_440 - schema: *ref_73 - flattenedNames: - - properties - - allowNewSession - serializedName: allowNewSession - language: - default: - name: allow_new_session - description: Allow a new session. - cli: &ref_441 - name: allowNewSession - description: Allow a new session. - cliKey: allowNewSession - protocol: {} - - &ref_442 - schema: *ref_82 - flattenedNames: - - properties - - assignedUser - serializedName: assignedUser - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: &ref_443 - name: assignedUser - description: User assigned to SessionHost. - cliKey: assignedUser - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: SessionHostPatch - description: SessionHost properties that can be patched. - namespace: '' - cli: - name: SessionHostPatch - description: SessionHost properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHostPatch - protocol: {} - immediate: - - *ref_9 - - *ref_83 - - *ref_84 - - *ref_85 - - *ref_86 - - *ref_87 - - *ref_88 - - *ref_89 - - *ref_90 - properties: - - schema: *ref_91 - readOnly: true - serializedName: id - language: - default: - name: id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cli: - name: id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cliKey: id - protocol: {} - - schema: *ref_92 - readOnly: true - serializedName: name - language: - default: - name: name - description: The name of the resource - cli: - name: name - description: The name of the resource - cliKey: name - protocol: {} - - schema: *ref_93 - readOnly: true - serializedName: type - language: - default: - name: type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cli: - name: type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cliKey: type - protocol: {} - serializationFormats: - - json - usage: - - output - - input - extensions: - x-ms-azure-resource: true - language: - default: - name: Resource - description: '' - namespace: '' - cli: - name: Resource - description: '' - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 0 - propertyCountIfSimplifyWithoutSimpleObject: 0 - simplifiable: true - cliKey: Resource - protocol: {} - - *ref_9 - - *ref_34 - - &ref_140 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_94 - serializedName: code - language: - default: - name: code - description: Error code - cli: - name: code - description: Error code - cliKey: code - protocol: {} - - schema: *ref_95 - serializedName: message - language: - default: - name: message - description: Error message indicating why the operation failed. - cli: - name: message - description: Error message indicating why the operation failed. - cliKey: message - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: CloudError - description: Error response of an operation failure - namespace: '' - cli: - name: CloudError - description: Error response of an operation failure - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: CloudError - protocol: {} - - &ref_162 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_164 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_165 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_166 - schema: *ref_96 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: &ref_167 - name: description - description: Description of Workspace. - cliKey: description - protocol: {} - - &ref_168 - schema: *ref_97 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: &ref_169 - name: friendlyName - description: Friendly name of Workspace. - cliKey: friendlyName - protocol: {} - - &ref_170 - schema: &ref_120 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_98 - language: - default: - name: WorkspacePatchPropertiesApplicationGroupReferences - description: List of applicationGroup links. - cli: - name: WorkspacePatchPropertiesApplicationGroupReferences - description: List of applicationGroup links. - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: &ref_171 - name: applicationGroupReferences - description: List of applicationGroup links. - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: WorkspacePatch - description: Workspace properties that can be patched. - namespace: '' - cli: - name: WorkspacePatch - description: Workspace properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatch - protocol: {} - - &ref_179 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_121 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_34 - language: - default: - name: WorkspaceListValue - description: List of Workspace definitions. - cli: - name: WorkspaceListValue - description: List of Workspace definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Workspace definitions. - cli: - name: value - description: List of Workspace definitions. - cliKey: value - protocol: {} - - schema: *ref_99 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: WorkspaceList - usage: - - output - language: - default: - name: WorkspaceList - description: List of Workspace definitions. - namespace: '' - summary: WorkspaceList - cli: - name: WorkspaceList - description: List of Workspace definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceList - protocol: {} - - &ref_184 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_122 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_35 - language: - default: - name: ApplicationGroupListValue - description: List of ApplicationGroup definitions. - cli: - name: ApplicationGroupListValue - description: List of ApplicationGroup definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of ApplicationGroup definitions. - cli: - name: value - description: List of ApplicationGroup definitions. - cliKey: value - protocol: {} - - schema: *ref_100 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationGroupList - usage: - - output - language: - default: - name: ApplicationGroupList - description: List of ApplicationGroup definitions. - namespace: '' - summary: ApplicationGroupList - cli: - name: ApplicationGroupList - description: List of ApplicationGroup definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupList - protocol: {} - - *ref_35 - - *ref_83 - - &ref_223 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_123 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_84 - language: - default: - name: StartMenuItemListValue - description: List of StartMenuItem definitions. - cli: - name: StartMenuItemListValue - description: List of StartMenuItem definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of StartMenuItem definitions. - cli: - name: value - description: List of StartMenuItem definitions. - cliKey: value - protocol: {} - - schema: *ref_101 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: StartMenuItemList - usage: - - output - language: - default: - name: StartMenuItemList - description: List of StartMenuItem definitions. - namespace: '' - summary: StartMenuItemList - cli: - name: StartMenuItemList - description: List of StartMenuItem definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: StartMenuItemList - protocol: {} - - *ref_84 - - *ref_85 - - &ref_258 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_260 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_261 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_262 - schema: *ref_102 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: &ref_263 - name: description - description: Description of Application. - cliKey: description - protocol: {} - - &ref_264 - schema: *ref_103 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: &ref_265 - name: friendlyName - description: Friendly name of Application. - cliKey: friendlyName - protocol: {} - - &ref_266 - schema: *ref_104 - flattenedNames: - - properties - - filePath - serializedName: filePath - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: &ref_267 - name: filePath - description: Specifies a path for the executable file for the application. - cliKey: filePath - protocol: {} - - &ref_268 - schema: *ref_51 - flattenedNames: - - properties - - commandLineSetting - serializedName: commandLineSetting - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: &ref_269 - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cliKey: commandLineSetting - protocol: {} - - &ref_270 - schema: *ref_105 - flattenedNames: - - properties - - commandLineArguments - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: &ref_271 - name: commandLineArguments - description: Command Line Arguments for Application. - cliKey: commandLineArguments - protocol: {} - - &ref_272 - schema: *ref_53 - flattenedNames: - - properties - - showInPortal - serializedName: showInPortal - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: &ref_273 - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cliKey: showInPortal - protocol: {} - - &ref_274 - schema: *ref_106 - flattenedNames: - - properties - - iconPath - serializedName: iconPath - language: - default: - name: icon_path - description: Path to icon. - cli: &ref_275 - name: iconPath - description: Path to icon. - cliKey: iconPath - protocol: {} - - &ref_276 - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: &ref_277 - name: iconIndex - description: Index of the icon. - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: ApplicationPatch - description: Application properties that can be patched. - namespace: '' - cli: - name: ApplicationPatch - description: Application properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationPatch - protocol: {} - - &ref_292 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_124 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_85 - language: - default: - name: ApplicationListValue - description: List of Application definitions. - cli: - name: ApplicationListValue - description: List of Application definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Application definitions. - cli: - name: value - description: List of Application definitions. - cliKey: value - protocol: {} - - schema: *ref_107 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationList - usage: - - output - language: - default: - name: ApplicationList - description: List of Application definitions. - namespace: '' - summary: ApplicationList - cli: - name: ApplicationList - description: List of Application definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationList - protocol: {} - - *ref_86 - - &ref_296 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_298 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_299 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_300 - schema: *ref_108 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: &ref_301 - name: description - description: Description of Desktop. - cliKey: description - protocol: {} - - &ref_302 - schema: *ref_109 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: &ref_303 - name: friendlyName - description: Friendly name of Desktop. - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: DesktopPatch - description: Desktop properties that can be patched. - namespace: '' - cli: - name: DesktopPatch - description: Desktop properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopPatch - protocol: {} - - &ref_312 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_125 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_86 - language: - default: - name: DesktopListValue - description: List of Desktop definitions. - cli: - name: DesktopListValue - description: List of Desktop definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Desktop definitions. - cli: - name: value - description: List of Desktop definitions. - cliKey: value - protocol: {} - - schema: *ref_110 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: DesktopList - usage: - - output - language: - default: - name: DesktopList - description: List of Desktop definitions. - namespace: '' - summary: DesktopList - cli: - name: DesktopList - description: List of Desktop definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopList - protocol: {} - - *ref_36 - - *ref_111 - - *ref_87 - - *ref_112 - - &ref_397 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_127 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_36 - language: - default: - name: HostPoolListValue - description: List of HostPool definitions. - cli: - name: HostPoolListValue - description: List of HostPool definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of HostPool definitions. - cli: - name: value - description: List of HostPool definitions. - cliKey: value - protocol: {} - - schema: *ref_113 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: HostPoolList - usage: - - output - language: - default: - name: HostPoolList - description: List of HostPool definitions. - namespace: '' - summary: HostPoolList - cli: - name: HostPoolList - description: List of HostPool definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolList - protocol: {} - - &ref_401 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_128 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_88 - language: - default: - name: UserSessionListValue - description: List of UserSession definitions. - cli: - name: UserSessionListValue - description: List of UserSession definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of UserSession definitions. - cli: - name: value - description: List of UserSession definitions. - cliKey: value - protocol: {} - - schema: *ref_114 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: UserSessionList - usage: - - output - language: - default: - name: UserSessionList - description: List of UserSession definitions. - namespace: '' - summary: UserSessionList - cli: - name: UserSessionList - description: List of UserSession definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: UserSessionList - protocol: {} - - *ref_88 - - *ref_89 - - *ref_90 - - &ref_451 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_129 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_89 - language: - default: - name: SessionHostListValue - description: List of SessionHost definitions. - cli: - name: SessionHostListValue - description: List of SessionHost definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of SessionHost definitions. - cli: - name: value - description: List of SessionHost definitions. - cliKey: value - protocol: {} - - schema: *ref_115 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: SessionHostList - usage: - - output - language: - default: - name: SessionHostList - description: List of SessionHost definitions. - namespace: '' - summary: SessionHostList - cli: - name: SessionHostList - description: List of SessionHost definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: SessionHostList - protocol: {} - - &ref_420 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_422 - schema: *ref_116 - serializedName: messageTitle - language: - default: - name: message_title - description: Title of message. - cli: &ref_423 - name: messageTitle - description: Title of message. - cliKey: messageTitle - protocol: {} - - &ref_424 - schema: *ref_117 - serializedName: messageBody - language: - default: - name: message_body - description: Body of message. - cli: &ref_425 - name: messageBody - description: Body of message. - cliKey: messageBody - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: SendMessage - description: Represents message sent to a UserSession. - namespace: '' - cli: - name: SendMessage - description: Represents message sent to a UserSession. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SendMessage - protocol: {} - arrays: - - *ref_118 - - *ref_119 - - *ref_120 - - *ref_121 - - *ref_122 - - *ref_123 - - *ref_124 - - *ref_125 - - *ref_126 - - *ref_127 - - *ref_128 - - *ref_129 -globalParameters: - - &ref_135 - schema: *ref_130 - implementation: Client - required: true - extensions: - x-ms-priority: 0 - language: - default: - name: subscription_id - description: The ID of the target subscription. - serializedName: subscriptionId - cli: - name: subscriptionId - description: The ID of the target subscription. - cliKey: subscriptionId - protocol: - http: - in: path - - &ref_132 - schema: *ref_0 - clientDefaultValue: 'https://management.azure.com' - implementation: Client - origin: 'modelerfour:synthesized/host' - required: true - extensions: - x-ms-skip-url-encoding: true - language: - default: - name: $host - description: server parameter - serializedName: $host - cli: - name: $host - description: server parameter - cliKey: $host - protocol: - http: - in: uri - - &ref_133 - schema: *ref_131 - implementation: Client - origin: 'modelerfour:synthesized/api-version' - required: true - language: - default: - name: api_version - description: Api Version - serializedName: api-version - cli: - name: ApiVersion - description: Api Version - cliKey: ApiVersion - protocol: - http: - in: query -operationGroups: - - $key: Operations - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: /providers/Microsoft.DesktopVirtualization/operations - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_134 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - extensions: - x-ms-examples: - OperationDescription_List: - parameters: - api-version: 2019-12-10-preview - responses: - '200': - body: - value: - - name: Microsoft.DesktopVirtualization/ssocontext/read - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - - name: Microsoft.DesktopVirtualization/ssocontext/write - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - language: - default: - name: list - description: List all of the available operations the Desktop Virtualization resource provider supports. - cli: - name: List - description: List all of the available operations the Desktop Virtualization resource provider supports. - cliKey: List - hidden: true - protocol: {} - language: - default: - name: Operation - description: '' - cli: - name: Operation - description: '' - cliKey: Operations - protocol: {} - - $key: Workspaces - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_138 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_139 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_138 - - *ref_139 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Get: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get a workspace. - cli: - name: Get - description: Get a workspace. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_158 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_159 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_142 - schema: *ref_34 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _workspace - description: Object containing Workspace definitions. - cli: - name: _workspace - description: Object containing Workspace definitions. - cliKey: workspace - protocol: - http: - in: body - style: json - - &ref_153 - schema: *ref_37 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_154 - schema: *ref_38 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_155 - schema: *ref_11 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_147 - language: - default: - name: description - description: Description of Workspace. - cli: *ref_148 - protocol: {} - - &ref_156 - schema: *ref_12 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_149 - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: *ref_150 - protocol: {} - - &ref_157 - schema: *ref_119 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_151 - language: - default: - name: application_group_references - description: List of applicationGroup resource Ids. - cli: *ref_152 - protocol: {} - signatureParameters: - - *ref_153 - - *ref_154 - - *ref_155 - - *ref_156 - - *ref_157 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_158 - - *ref_159 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Create: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '201': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update a workspace. - cli: - name: CreateOrUpdate - description: Create or update a workspace. - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_160 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_161 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_160 - - *ref_161 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Delete: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove a workspace. - cli: - name: Delete - description: Remove a workspace. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_176 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_177 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_163 - schema: *ref_162 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _workspace - description: Object containing Workspace definitions. - cli: - name: _workspace - description: Object containing Workspace definitions. - cliKey: workspace - protocol: - http: - in: body - style: json - - &ref_172 - schema: *ref_39 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_164 - language: - default: - name: tags - description: tags to be updated - cli: *ref_165 - protocol: {} - - &ref_173 - schema: *ref_96 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_166 - language: - default: - name: description - description: Description of Workspace. - cli: *ref_167 - protocol: {} - - &ref_174 - schema: *ref_97 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_168 - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: *ref_169 - protocol: {} - - &ref_175 - schema: *ref_120 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_170 - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: *ref_171 - protocol: {} - signatureParameters: - - *ref_172 - - *ref_173 - - *ref_174 - - *ref_175 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_176 - - *ref_177 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Update: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update a workspace. - cli: - name: Update - description: Update a workspace. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_178 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: - - *ref_178 - responses: - - schema: *ref_179 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List workspaces. - paging: - nextLinkName: nextLink - cli: - name: ListByResourceGroup - description: List workspaces. - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_179 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListBySubscription: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_subscription - description: List workspaces in subscription. - paging: - nextLinkName: nextLink - cli: - name: ListBySubscription - description: List workspaces in subscription. - cliKey: ListBySubscription - protocol: {} - language: - default: - name: Workspace - description: '' - cli: - name: Workspace - description: '' - cliKey: Workspaces - protocol: {} - - $key: ApplicationGroupAssignments - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_181 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_182 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - - &ref_183 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' - method: get - uri: '{$host}' - signatureParameters: - - *ref_181 - - *ref_182 - - *ref_183 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroupAssignment_WorkspaceLevelList: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: workspace_level_list - description: List application group that user can use. - paging: - nextLinkName: nextLink - cli: - name: WorkspaceLevelList - description: List application group that user can use. - cliKey: WorkspaceLevelList - protocol: {} - language: - default: - name: ApplicationGroupAssignment - description: '' - cli: - name: ApplicationGroupAssignment - description: '' - cliKey: ApplicationGroupAssignments - hidden: true - protocol: {} - - $key: ApplicationGroups - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_185 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_186 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_185 - - *ref_186 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get an application group. - cli: - name: Get - description: Get an application group. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_202 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_203 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_187 - schema: *ref_35 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _application_group - description: Object containing ApplicationGroup definitions. - cli: - name: _application_group - description: Object containing ApplicationGroup definitions. - cliKey: applicationGroup - protocol: - http: - in: body - style: json - - &ref_196 - schema: *ref_37 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_197 - schema: *ref_38 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_198 - schema: *ref_14 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_188 - language: - default: - name: description - description: Description of ApplicationGroup. - cli: *ref_189 - protocol: {} - - &ref_199 - schema: *ref_15 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_190 - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: *ref_191 - protocol: {} - - &ref_200 - schema: *ref_16 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_192 - language: - default: - name: host_pool_arm_path - description: HostPool arm path of ApplicationGroup. - cli: *ref_193 - protocol: {} - - &ref_201 - schema: *ref_18 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_194 - language: - default: - name: application_group_type - description: Resource Type of ApplicationGroup. - cli: *ref_195 - protocol: {} - signatureParameters: - - *ref_196 - - *ref_197 - - *ref_198 - - *ref_199 - - *ref_200 - - *ref_201 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_202 - - *ref_203 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Create: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '201': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update an applicationGroup. - cli: - name: CreateOrUpdate - description: Create or update an applicationGroup. - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_204 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_205 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_204 - - *ref_205 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove an applicationGroup. - cli: - name: Delete - description: Remove an applicationGroup. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_216 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_217 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_206 - schema: *ref_83 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _application_group - description: Object containing ApplicationGroup definitions. - cli: - name: _application_group - description: Object containing ApplicationGroup definitions. - cliKey: applicationGroup - protocol: - http: - in: body - style: json - - &ref_213 - schema: *ref_39 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_207 - language: - default: - name: tags - description: tags to be updated - cli: *ref_208 - protocol: {} - - &ref_214 - schema: *ref_40 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_209 - language: - default: - name: description - description: Description of ApplicationGroup. - cli: *ref_210 - protocol: {} - - &ref_215 - schema: *ref_41 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_211 - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: *ref_212 - protocol: {} - signatureParameters: - - *ref_213 - - *ref_214 - - *ref_215 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_216 - - *ref_217 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroups_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update an applicationGroup. - cli: - name: Update - description: Update an applicationGroup. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_218 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_219 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_218 - - *ref_219 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_ListByResourceGroup: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List applicationGroups. - paging: - nextLinkName: nextLink - cli: - name: ListByResourceGroup - description: List applicationGroups. - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_220 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_220 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_List: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_subscription - description: List applicationGroups in subscription. - paging: - nextLinkName: nextLink - cli: - name: ListBySubscription - description: List applicationGroups in subscription. - cliKey: ListBySubscription - protocol: {} - language: - default: - name: ApplicationGroup - description: '' - cli: - name: ApplicationGroup - description: '' - cliKey: ApplicationGroups - protocol: {} - - $key: StartMenuItems - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_221 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_222 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' - method: get - uri: '{$host}' - signatureParameters: - - *ref_221 - - *ref_222 - responses: - - schema: *ref_223 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - StartMenuItem_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: application1 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 - properties: - appAlias: word - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - - name: application2 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 - properties: - appAlias: excel - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List start menu items in the given application group. - paging: - nextLinkName: nextLink - cli: - name: List - description: List start menu items in the given application group. - cliKey: List - protocol: {} - language: - default: - name: StartMenuItem - description: '' - cli: - name: StartMenuItem - description: '' - cliKey: StartMenuItems - hidden: true - protocol: {} - - $key: Applications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_224 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_225 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_226 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - name: applicationName - description: The name of the application within the specified application group - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_224 - - *ref_225 - - *ref_226 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: get - description: Get an application. - cli: - name: Get - description: Get an application. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_252 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_253 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_254 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - name: applicationName - description: The name of the application within the specified application group - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_227 - schema: *ref_85 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _application - description: Object containing Application definitions. - cli: - name: _application - description: Object containing Application definitions. - cliKey: application - protocol: - http: - in: body - style: json - - &ref_244 - schema: *ref_48 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_228 - language: - default: - name: description - description: Description of Application. - cli: *ref_229 - protocol: {} - - &ref_245 - schema: *ref_49 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_230 - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: *ref_231 - protocol: {} - - &ref_246 - schema: *ref_50 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_232 - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: *ref_233 - protocol: {} - - &ref_247 - schema: *ref_51 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: true - targetProperty: *ref_234 - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: *ref_235 - protocol: {} - - &ref_248 - schema: *ref_52 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_236 - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: *ref_237 - protocol: {} - - &ref_249 - schema: *ref_53 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_238 - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: *ref_239 - protocol: {} - - &ref_250 - schema: *ref_54 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_240 - language: - default: - name: icon_path - description: Path to icon. - cli: *ref_241 - protocol: {} - - &ref_251 - schema: *ref_47 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_242 - language: - default: - name: icon_index - description: Index of the icon. - cli: *ref_243 - protocol: {} - signatureParameters: - - *ref_244 - - *ref_245 - - *ref_246 - - *ref_247 - - *ref_248 - - *ref_249 - - *ref_250 - - *ref_251 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_252 - - *ref_253 - - *ref_254 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Create: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '201': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: create_or_update - description: Create or update an application. - cli: - name: CreateOrUpdate - description: Create or update an application. - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_255 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_256 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_257 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - name: applicationName - description: The name of the application within the specified application group - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_255 - - *ref_256 - - *ref_257 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '204': {} - language: - default: - name: delete - description: Remove an application. - cli: - name: Delete - description: Remove an application. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_287 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_288 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_289 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - name: applicationName - description: The name of the application within the specified application group - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_259 - schema: *ref_258 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _application - description: Object containing Application definitions. - cli: - name: _application - description: Object containing Application definitions. - cliKey: application - protocol: - http: - in: body - style: json - - &ref_278 - schema: *ref_39 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_260 - language: - default: - name: tags - description: tags to be updated - cli: *ref_261 - protocol: {} - - &ref_279 - schema: *ref_102 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_262 - language: - default: - name: description - description: Description of Application. - cli: *ref_263 - protocol: {} - - &ref_280 - schema: *ref_103 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_264 - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: *ref_265 - protocol: {} - - &ref_281 - schema: *ref_104 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_266 - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: *ref_267 - protocol: {} - - &ref_282 - schema: *ref_51 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_268 - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: *ref_269 - protocol: {} - - &ref_283 - schema: *ref_105 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_270 - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: *ref_271 - protocol: {} - - &ref_284 - schema: *ref_53 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_272 - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: *ref_273 - protocol: {} - - &ref_285 - schema: *ref_106 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_274 - language: - default: - name: icon_path - description: Path to icon. - cli: *ref_275 - protocol: {} - - &ref_286 - schema: *ref_47 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_276 - language: - default: - name: icon_index - description: Index of the icon. - cli: *ref_277 - protocol: {} - signatureParameters: - - *ref_278 - - *ref_279 - - *ref_280 - - *ref_281 - - *ref_282 - - *ref_283 - - *ref_284 - - *ref_285 - - *ref_286 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_287 - - *ref_288 - - *ref_289 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Update: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: update - description: Update an application. - cli: - name: Update - description: Update an application. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_290 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_291 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_290 - - *ref_291 - responses: - - schema: *ref_292 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Applications_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List applications. - paging: - nextLinkName: nextLink - cli: - name: List - description: List applications. - cliKey: List - protocol: {} - language: - default: - name: Application - description: '' - cli: - name: Application - description: '' - cliKey: Applications - hidden: true - protocol: {} - - $key: Desktops - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_293 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_294 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_295 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: desktop_name - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - name: desktopName - description: The name of the desktop within the specified desktop group - cliKey: desktopName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_293 - - *ref_294 - - *ref_295 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: get - description: Get a desktop. - cli: - name: Get - description: Get a desktop. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_307 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_308 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_309 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: desktop_name - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - name: desktopName - description: The name of the desktop within the specified desktop group - cliKey: desktopName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_297 - schema: *ref_296 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _desktop - description: Object containing Desktop definitions. - cli: - name: _desktop - description: Object containing Desktop definitions. - cliKey: desktop - protocol: - http: - in: body - style: json - - &ref_304 - schema: *ref_39 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_298 - language: - default: - name: tags - description: tags to be updated - cli: *ref_299 - protocol: {} - - &ref_305 - schema: *ref_108 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_300 - language: - default: - name: description - description: Description of Desktop. - cli: *ref_301 - protocol: {} - - &ref_306 - schema: *ref_109 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_302 - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: *ref_303 - protocol: {} - signatureParameters: - - *ref_304 - - *ref_305 - - *ref_306 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_307 - - *ref_308 - - *ref_309 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktop: - properties: - description: des1 - friendlyName: friendly - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: update - description: Update a desktop. - cli: - name: Update - description: Update a desktop. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_310 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_311 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' - method: get - uri: '{$host}' - signatureParameters: - - *ref_310 - - *ref_311 - responses: - - schema: *ref_312 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: list - description: List desktops. - cli: - name: List - description: List desktops. - cliKey: List - protocol: {} - language: - default: - name: Desktop - description: '' - cli: - name: Desktop - description: '' - cliKey: Desktops - hidden: true - protocol: {} - - $key: HostPools - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_313 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_314 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_313 - - *ref_314 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get a host pool. - cli: - name: Get - description: Get a host pool. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_354 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_355 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_315 - schema: *ref_36 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _host_pool - description: Object containing HostPool definitions. - cli: - name: _host_pool - description: Object containing HostPool definitions. - cliKey: hostPool - protocol: - http: - in: body - style: json - - &ref_340 - schema: *ref_37 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_341 - schema: *ref_38 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_342 - schema: *ref_19 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_316 - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: *ref_317 - protocol: {} - - &ref_343 - schema: *ref_20 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_318 - language: - default: - name: description - description: Description of HostPool. - cli: *ref_319 - protocol: {} - - &ref_344 - schema: *ref_21 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_320 - language: - default: - name: host_pool_type - description: HostPool type for desktop. - cli: *ref_321 - protocol: {} - - &ref_345 - schema: *ref_22 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_322 - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: *ref_323 - protocol: {} - - &ref_346 - schema: *ref_23 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_324 - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: *ref_325 - protocol: {} - - &ref_347 - schema: *ref_24 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_326 - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: *ref_327 - protocol: {} - - &ref_348 - schema: *ref_25 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_328 - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: *ref_329 - protocol: {} - - &ref_349 - schema: *ref_26 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_330 - language: - default: - name: ring - description: The ring number of HostPool. - cli: *ref_331 - protocol: {} - - &ref_350 - schema: *ref_27 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_332 - language: - default: - name: validation_environment - description: Is validation environment. - cli: *ref_333 - protocol: {} - - &ref_351 - schema: *ref_111 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_334 - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: *ref_335 - protocol: {} - - &ref_352 - schema: *ref_31 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_336 - language: - default: - name: vm_template - description: VM template for sessionhosts configuration within hostpool. - cli: *ref_337 - protocol: {} - - &ref_353 - schema: *ref_33 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_338 - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: *ref_339 - protocol: {} - signatureParameters: - - *ref_340 - - *ref_341 - - *ref_342 - - *ref_343 - - *ref_344 - - *ref_345 - - *ref_346 - - *ref_347 - - *ref_348 - - *ref_349 - - *ref_350 - - *ref_351 - - *ref_352 - - *ref_353 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_354 - - *ref_355 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Create: - parameters: - api-version: 2019-12-10-preview - hostPool: - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '201': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update a host pool. - cli: - name: CreateOrUpdate - description: Create or update a host pool. - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_357 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_358 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_359 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to delete sessionHost. - serializedName: force - cli: - name: force - description: Force flag to delete sessionHost. - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_357 - - *ref_358 - - *ref_359 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove a host pool. - cli: - name: Delete - description: Remove a host pool. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_394 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_395 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_360 - schema: *ref_87 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _host_pool - description: Object containing HostPool definitions. - cli: - name: _host_pool - description: Object containing HostPool definitions. - cliKey: hostPool - protocol: - http: - in: body - style: json - - &ref_383 - schema: *ref_39 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_361 - language: - default: - name: tags - description: tags to be updated - cli: *ref_362 - protocol: {} - - &ref_384 - schema: *ref_61 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_363 - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: *ref_364 - protocol: {} - - &ref_385 - schema: *ref_62 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_365 - language: - default: - name: description - description: Description of HostPool. - cli: *ref_366 - protocol: {} - - &ref_386 - schema: *ref_63 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_367 - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: *ref_368 - protocol: {} - - &ref_387 - schema: *ref_24 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_369 - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: *ref_370 - protocol: {} - - &ref_388 - schema: *ref_22 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_371 - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: *ref_372 - protocol: {} - - &ref_389 - schema: *ref_25 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_373 - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: *ref_374 - protocol: {} - - &ref_390 - schema: *ref_26 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_375 - language: - default: - name: ring - description: The ring number of HostPool. - cli: *ref_376 - protocol: {} - - &ref_391 - schema: *ref_27 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_377 - language: - default: - name: validation_environment - description: Is validation environment. - cli: *ref_378 - protocol: {} - - &ref_392 - schema: *ref_112 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_379 - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: *ref_380 - protocol: {} - - &ref_393 - schema: *ref_64 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_381 - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: *ref_382 - protocol: {} - signatureParameters: - - *ref_383 - - *ref_384 - - *ref_385 - - *ref_386 - - *ref_387 - - *ref_388 - - *ref_389 - - *ref_390 - - *ref_391 - - *ref_392 - - *ref_393 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_394 - - *ref_395 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Update: - parameters: - api-version: 2019-12-10-preview - hostPool: - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-02T14:01:54.9571247Z' - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update a host pool. - cli: - name: Update - description: Update a host pool. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_396 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: - - *ref_396 - responses: - - schema: *ref_397 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List hostPools. - paging: - nextLinkName: nextLink - cli: - name: ListByResourceGroup - description: List hostPools. - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_397 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_List: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List hostPools in subscription. - paging: - nextLinkName: nextLink - cli: - name: List - description: List hostPools in subscription. - cliKey: List - protocol: {} - language: - default: - name: HostPool - description: '' - cli: - name: HostPool - description: '' - cliKey: HostPools - protocol: {} - - $key: UserSessions - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_398 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_399 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_400 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_398 - - *ref_399 - - *ref_400 - responses: - - schema: *ref_401 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_ListByHostPool: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_host_pool - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - name: ListByHostPool - description: List userSessions. - cliKey: ListByHostPool - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_404 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_405 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_406 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_407 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - name: userSessionId - description: The name of the user session within the specified session host - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_404 - - *ref_405 - - *ref_406 - - *ref_407 - responses: - - schema: *ref_88 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - body: - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - language: - default: - name: get - description: Get a userSession. - cli: - name: Get - description: Get a userSession. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_408 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_409 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_410 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_411 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - name: userSessionId - description: The name of the user session within the specified session host - cliKey: userSessionId - protocol: - http: - in: path - - &ref_412 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to login off userSession. - serializedName: force - cli: - name: force - description: Force flag to login off userSession. - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_408 - - *ref_409 - - *ref_410 - - *ref_411 - - *ref_412 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - '204': {} - language: - default: - name: delete - description: Remove a userSession. - cli: - name: Delete - description: Remove a userSession. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_413 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_414 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_415 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_413 - - *ref_414 - - *ref_415 - responses: - - schema: *ref_401 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - name: List - description: List userSessions. - cliKey: List - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_416 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_417 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_418 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_419 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - name: userSessionId - description: The name of the user session within the specified session host - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' - method: post - uri: '{$host}' - signatureParameters: - - *ref_416 - - *ref_417 - - *ref_418 - - *ref_419 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Disconnect_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: disconnect - description: Disconnect a userSession. - cli: - name: Disconnect - description: Disconnect a userSession. - cliKey: Disconnect - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_428 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_429 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_430 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_431 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - name: userSessionId - description: The name of the user session within the specified session host - cliKey: userSessionId - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_421 - schema: *ref_420 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _send_message - description: Object containing message includes title and message body - cli: - name: _send_message - description: Object containing message includes title and message body - cliKey: sendMessage - protocol: - http: - in: body - style: json - - &ref_426 - schema: *ref_116 - implementation: Method - originalParameter: *ref_421 - pathToProperty: [] - targetProperty: *ref_422 - language: - default: - name: message_title - description: Title of message. - cli: *ref_423 - protocol: {} - - &ref_427 - schema: *ref_117 - implementation: Method - originalParameter: *ref_421 - pathToProperty: [] - targetProperty: *ref_424 - language: - default: - name: message_body - description: Body of message. - cli: *ref_425 - protocol: {} - signatureParameters: - - *ref_426 - - *ref_427 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' - method: post - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_428 - - *ref_429 - - *ref_430 - - *ref_431 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_SendMessage_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sendMessage: - messageBody: body - messageTitle: title - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: send_message - description: Send a message to a user. - cli: - name: SendMessage - description: Send a message to a user. - cliKey: SendMessage - protocol: {} - language: - default: - name: UserSession - description: '' - cli: - name: UserSession - description: '' - cliKey: UserSessions - hidden: true - protocol: {} - - $key: SessionHosts - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_432 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_433 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_434 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_432 - - *ref_433 - - *ref_434 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: get - description: Get a session host. - cli: - name: Get - description: Get a session host. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_435 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_436 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_437 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_438 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to force sessionHost deletion even when userSession exists. - serializedName: force - cli: - name: force - description: Force flag to force sessionHost deletion even when userSession exists. - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_435 - - *ref_436 - - *ref_437 - - *ref_438 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - '204': {} - language: - default: - name: delete - description: Remove a SessionHost. - cli: - name: Delete - description: Remove a SessionHost. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_446 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_447 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_448 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_439 - schema: *ref_90 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _session_host - description: Object containing SessionHost definitions. - cli: - name: _session_host - description: Object containing SessionHost definitions. - cliKey: sessionHost - protocol: - http: - in: body - style: json - - &ref_444 - schema: *ref_73 - implementation: Method - originalParameter: *ref_439 - pathToProperty: [] - targetProperty: *ref_440 - language: - default: - name: allow_new_session - description: Allow a new session. - cli: *ref_441 - protocol: {} - - &ref_445 - schema: *ref_82 - implementation: Method - originalParameter: *ref_439 - pathToProperty: [] - targetProperty: *ref_442 - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: *ref_443 - protocol: {} - signatureParameters: - - *ref_444 - - *ref_445 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_446 - - *ref_447 - - *ref_448 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Update: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHost: - properties: - allowNewSession: true - assignedUser: user1@microsoft.com - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2019-01-11T19:27:13.6108027Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2019-01-24T20:00:08.2893033Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: update - description: Update a session host. - cli: - name: Update - description: Update a session host. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_449 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_450 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' - method: get - uri: '{$host}' - signatureParameters: - - *ref_449 - - *ref_450 - responses: - - schema: *ref_451 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - - name: sessionHost2.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user2@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List sessionHosts. - paging: - nextLinkName: nextLink - cli: - name: List - description: List sessionHosts. - cliKey: List - protocol: {} - language: - default: - name: SessionHost - description: '' - cli: - name: SessionHost - description: '' - cliKey: SessionHosts - hidden: true - protocol: {} - - $key: ActiveApplications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_452 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_453 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_454 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_455 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_452 - - *ref_453 - - *ref_454 - - *ref_455 - responses: - - schema: *ref_292 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ActiveApplications_List: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_session_host - description: List applications for the given session host. - paging: - nextLinkName: nextLink - cli: - name: ListBySessionHost - description: List applications for the given session host. - cliKey: ListBySessionHost - protocol: {} - language: - default: - name: ActiveApplication - description: '' - cli: - name: ActiveApplication - description: '' - cliKey: ActiveApplications - hidden: true - protocol: {} -language: - default: - name: DesktopVirtualizationAPIClient - description: '' - cli: - name: DesktopVirtualizationAPIClient - description: '' -protocol: - http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000110-poly-as-resource-post-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000110-poly-as-resource-post-simplified.yaml deleted file mode 100644 index 893109e1471..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000110-poly-as-resource-post-simplified.yaml +++ /dev/null @@ -1,2383 +0,0 @@ -operationGroups: - all: - - operationGroupName: Operation - cli: - cliKey: Operations - operations: - - operationName: list - cli: - name: List - cliKey: List - hidden: true - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - operationGroupName: Workspace - cli: - cliKey: Workspaces - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - name: workspaceName - cliKey: workspaceName - - operationName: create_or_update - cli: - name: CreateOrUpdate - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - name: workspaceName - cliKey: workspaceName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _workspace(Workspace^object) - cli: - cliKey: workspace - x-ms-client-flatten: true - bodySchema: Workspace - - parameterName[0]: tags(TrackedResourceTags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(TrackedResourceLocation^string) - cli: - cliKey: location - - parameterName[0]: description(WorkspacePropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(WorkspacePropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: application_group_references(WorkspacePropertiesApplicationGroupReferences^array) - cli: - name: applicationGroupReferences - cliKey: applicationGroupReferences - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - name: workspaceName - cliKey: workspaceName - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - name: workspaceName - cliKey: workspaceName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _workspace(WorkspacePatch^object) - cli: - cliKey: workspace - x-ms-client-flatten: true - bodySchema: WorkspacePatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(WorkspacePatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(WorkspacePatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: application_group_references(WorkspacePatchPropertiesApplicationGroupReferences^array) - cli: - name: applicationGroupReferences - cliKey: applicationGroupReferences - - operationName: list_by_resource_group - cli: - name: ListByResourceGroup - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - operationName: list_by_subscription - cli: - name: ListBySubscription - cliKey: ListBySubscription - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - operationGroupName: ApplicationGroupAssignment - cli: - cliKey: ApplicationGroupAssignments - hidden: true - operations: - - operationName: workspace_level_list - cli: - name: WorkspaceLevelList - cliKey: WorkspaceLevelList - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - name: workspaceName - cliKey: workspaceName - - parameterName: filter(String^string) - cli: - cliKey: $filter - - operationGroupName: ApplicationGroup - cli: - cliKey: ApplicationGroups - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - operationName: create_or_update - cli: - name: CreateOrUpdate - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _application_group(ApplicationGroup^object) - cli: - cliKey: applicationGroup - x-ms-client-flatten: true - bodySchema: ApplicationGroup - - parameterName[0]: tags(TrackedResourceTags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(TrackedResourceLocation^string) - cli: - cliKey: location - - parameterName[0]: description(ApplicationGroupPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(ApplicationGroupPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: host_pool_arm_path(ApplicationGroupPropertiesHostPoolArmPath^string) - cli: - name: hostPoolArmPath - cliKey: hostPoolArmPath - - parameterName[0]: application_group_type(ApplicationGroupType^choice) - cli: - name: applicationGroupType - cliKey: applicationGroupType - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _application_group(ApplicationGroupPatch^object) - cli: - cliKey: applicationGroup - x-ms-client-flatten: true - bodySchema: ApplicationGroupPatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(ApplicationGroupPatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(ApplicationGroupPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - operationName: list_by_resource_group - cli: - name: ListByResourceGroup - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: filter(String^string) - cli: - cliKey: $filter - - operationName: list_by_subscription - cli: - name: ListBySubscription - cliKey: ListBySubscription - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: filter(String^string) - cli: - cliKey: $filter - - operationGroupName: StartMenuItem - cli: - cliKey: StartMenuItems - hidden: true - operations: - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - operationGroupName: Application - cli: - cliKey: Applications - hidden: true - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: application_name(String^string) - cli: - name: applicationName - cliKey: applicationName - - operationName: create_or_update - cli: - name: CreateOrUpdate - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: application_name(String^string) - cli: - name: applicationName - cliKey: applicationName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _application(Application^object) - cli: - cliKey: application - x-ms-client-flatten: true - bodySchema: Application - - parameterName[0]: description(ApplicationPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(ApplicationPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: file_path(ApplicationPropertiesFilePath^string) - cli: - name: filePath - cliKey: filePath - - parameterName[0]: command_line_setting(CommandLineSetting^choice) - cli: - name: commandLineSetting - cliKey: commandLineSetting - - parameterName[0]: command_line_arguments(ApplicationPropertiesCommandLineArguments^string) - cli: - name: commandLineArguments - cliKey: commandLineArguments - - parameterName[0]: show_in_portal(boolean^boolean) - cli: - name: showInPortal - cliKey: showInPortal - - parameterName[0]: icon_path(ApplicationPropertiesIconPath^string) - cli: - name: iconPath - cliKey: iconPath - - parameterName[0]: icon_index(Integer^integer) - cli: - name: iconIndex - cliKey: iconIndex - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: application_name(String^string) - cli: - name: applicationName - cliKey: applicationName - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: application_name(String^string) - cli: - name: applicationName - cliKey: applicationName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _application(ApplicationPatch^object) - cli: - cliKey: application - x-ms-client-flatten: true - bodySchema: ApplicationPatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(ApplicationPatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(ApplicationPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: file_path(ApplicationPatchPropertiesFilePath^string) - cli: - name: filePath - cliKey: filePath - - parameterName[0]: command_line_setting(CommandLineSetting^choice) - cli: - name: commandLineSetting - cliKey: commandLineSetting - - parameterName[0]: command_line_arguments(ApplicationPatchPropertiesCommandLineArguments^string) - cli: - name: commandLineArguments - cliKey: commandLineArguments - - parameterName[0]: show_in_portal(boolean^boolean) - cli: - name: showInPortal - cliKey: showInPortal - - parameterName[0]: icon_path(ApplicationPatchPropertiesIconPath^string) - cli: - name: iconPath - cliKey: iconPath - - parameterName[0]: icon_index(Integer^integer) - cli: - name: iconIndex - cliKey: iconIndex - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - operationGroupName: Desktop - cli: - cliKey: Desktops - hidden: true - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: desktop_name(String^string) - cli: - name: desktopName - cliKey: desktopName - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: desktop_name(String^string) - cli: - name: desktopName - cliKey: desktopName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _desktop(DesktopPatch^object) - cli: - cliKey: desktop - x-ms-client-flatten: true - bodySchema: DesktopPatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(DesktopPatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(DesktopPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - operationGroupName: HostPool - cli: - cliKey: HostPools - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - operationName: create_or_update - cli: - name: CreateOrUpdate - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _host_pool(HostPool^object) - cli: - cliKey: hostPool - x-ms-client-flatten: true - bodySchema: HostPool - - parameterName[0]: tags(TrackedResourceTags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(TrackedResourceLocation^string) - cli: - cliKey: location - - parameterName[0]: friendly_name(HostPoolPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: description(HostPoolPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: host_pool_type(HostPoolType^choice) - cli: - name: hostPoolType - cliKey: hostPoolType - - parameterName[0]: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) - cli: - name: personalDesktopAssignmentType - cliKey: personalDesktopAssignmentType - - parameterName[0]: custom_rdp_property(HostPoolPropertiesCustomRdpProperty^string) - cli: - name: customRdpProperty - cliKey: customRdpProperty - - parameterName[0]: max_session_limit(Integer^integer) - cli: - name: maxSessionLimit - cliKey: maxSessionLimit - - parameterName[0]: load_balancer_type(LoadBalancerType^choice) - cli: - name: loadBalancerType - cliKey: loadBalancerType - - parameterName[0]: ring(Integer^integer) - cli: - cliKey: ring - - parameterName[0]: validation_environment(boolean^boolean) - cli: - name: validationEnvironment - cliKey: validationEnvironment - - parameterName[0]: registration_info(RegistrationInfo^object) - cli: - name: registrationInfo - cliKey: registrationInfo - - parameterName[0]: vm_template(HostPoolPropertiesVmTemplate^string) - cli: - name: vmTemplate - cliKey: vmTemplate - - parameterName[0]: sso_context(HostPoolPropertiesSsoContext^string) - cli: - name: ssoContext - cliKey: ssoContext - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _host_pool(HostPoolPatch^object) - cli: - cliKey: hostPool - x-ms-client-flatten: true - bodySchema: HostPoolPatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: friendly_name(HostPoolPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: description(HostPoolPatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: custom_rdp_property(HostPoolPatchPropertiesCustomRdpProperty^string) - cli: - name: customRdpProperty - cliKey: customRdpProperty - - parameterName[0]: max_session_limit(Integer^integer) - cli: - name: maxSessionLimit - cliKey: maxSessionLimit - - parameterName[0]: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) - cli: - name: personalDesktopAssignmentType - cliKey: personalDesktopAssignmentType - - parameterName[0]: load_balancer_type(LoadBalancerType^choice) - cli: - name: loadBalancerType - cliKey: loadBalancerType - - parameterName[0]: ring(Integer^integer) - cli: - cliKey: ring - - parameterName[0]: validation_environment(boolean^boolean) - cli: - name: validationEnvironment - cliKey: validationEnvironment - - parameterName[0]: registration_info(RegistrationInfoPatch^object) - cli: - name: registrationInfo - cliKey: registrationInfo - - parameterName[0]: sso_context(HostPoolPatchPropertiesSsoContext^string) - cli: - name: ssoContext - cliKey: ssoContext - - operationName: list_by_resource_group - cli: - name: ListByResourceGroup - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - operationGroupName: UserSession - cli: - cliKey: UserSessions - hidden: true - operations: - - operationName: list_by_host_pool - cli: - name: ListByHostPool - cliKey: ListByHostPool - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: filter(String^string) - cli: - cliKey: $filter - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: user_session_id(String^string) - cli: - name: userSessionId - cliKey: userSessionId - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: user_session_id(String^string) - cli: - name: userSessionId - cliKey: userSessionId - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - operationName: disconnect - cli: - name: Disconnect - cliKey: Disconnect - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: user_session_id(String^string) - cli: - name: userSessionId - cliKey: userSessionId - - operationName: send_message - cli: - name: SendMessage - cliKey: SendMessage - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: user_session_id(String^string) - cli: - name: userSessionId - cliKey: userSessionId - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _send_message(SendMessage^object) - cli: - cliKey: sendMessage - x-ms-client-flatten: true - bodySchema: SendMessage - - parameterName[0]: message_title(SendMessageTitle^string) - cli: - name: messageTitle - cliKey: messageTitle - - parameterName[0]: message_body(SendMessageBody^string) - cli: - name: messageBody - cliKey: messageBody - - operationGroupName: SessionHost - cli: - cliKey: SessionHosts - hidden: true - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _session_host(SessionHostPatch^object) - cli: - cliKey: sessionHost - x-ms-client-flatten: true - bodySchema: SessionHostPatch - - parameterName[0]: allow_new_session(boolean^boolean) - cli: - name: allowNewSession - cliKey: allowNewSession - - parameterName[0]: assigned_user(SessionHostPatchPropertiesAssignedUser^string) - cli: - name: assignedUser - cliKey: assignedUser - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - operationGroupName: ActiveApplication - cli: - cliKey: ActiveApplications - hidden: true - operations: - - operationName: list_by_session_host - cli: - name: ListBySessionHost - cliKey: ListBySessionHost - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: filter(String^string) - cli: - cliKey: $filter -schemas: - objects: - all: - - schemaName: ResourceProviderOperationList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ResourceProviderOperationList - properties: - - propertyName: value(ResourceProviderOperationListValue^array) - cli: - cliKey: value - - schemaName: ResourceProviderOperation - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ResourceProviderOperation - properties: - - propertyName: name(ResourceProviderOperationName^string) - cli: - cliKey: name - - propertyName: display(ResourceProviderOperationDisplay^object) - cli: - cliKey: display - - schemaName: ResourceProviderOperationDisplay - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ResourceProviderOperation-display - properties: - - propertyName: provider(ResourceProviderOperationDisplayProvider^string) - cli: - cliKey: provider - - propertyName: resource(ResourceProviderOperationDisplayResource^string) - cli: - cliKey: resource - - propertyName: operation(ResourceProviderOperationDisplayOperation^string) - cli: - cliKey: operation - - propertyName: description(ResourceProviderOperationDisplayDescription^string) - cli: - cliKey: description - - schemaName: Resource - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 0 - propertyCountIfSimplifyWithoutSimpleObject: 0 - simplifiable: true - cliKey: Resource - properties: - - propertyName: id(ResourceId^string) - cli: - cliKey: id - readOnly: true - - propertyName: name(ResourceName^string) - cli: - cliKey: name - readOnly: true - - propertyName: type(ResourceType^string) - cli: - cliKey: type - readOnly: true - - schemaName: TrackedResource - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: TrackedResource - properties: - - propertyName: tags(TrackedResourceTags^dictionary) - cli: - cliKey: tags - - propertyName: location(TrackedResourceLocation^string) - cli: - cliKey: location - - schemaName: Workspace - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: Workspace - properties: - - propertyName: description(WorkspacePropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(WorkspacePropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: application_group_references(WorkspacePropertiesApplicationGroupReferences^array) - cli: - name: applicationGroupReferences - cliKey: applicationGroupReferences - - schemaName: CloudError - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: CloudError - properties: - - propertyName: code(CloudErrorCode^string) - cli: - cliKey: code - - propertyName: message(CloudErrorMessage^string) - cli: - cliKey: message - - schemaName: WorkspacePatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(WorkspacePatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(WorkspacePatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: application_group_references(WorkspacePatchPropertiesApplicationGroupReferences^array) - cli: - name: applicationGroupReferences - cliKey: applicationGroupReferences - - schemaName: WorkspaceList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceList - properties: - - propertyName: value(WorkspaceListValue^array) - cli: - cliKey: value - - propertyName: next_link(WorkspaceListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: ApplicationGroupList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupList - properties: - - propertyName: value(ApplicationGroupListValue^array) - cli: - cliKey: value - - propertyName: next_link(ApplicationGroupListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: ApplicationGroup - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroup - properties: - - propertyName: description(ApplicationGroupPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(ApplicationGroupPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: host_pool_arm_path(ApplicationGroupPropertiesHostPoolArmPath^string) - cli: - name: hostPoolArmPath - cliKey: hostPoolArmPath - - propertyName: workspace_arm_path(ApplicationGroupPropertiesWorkspaceArmPath^string) - cli: - name: workspaceArmPath - cliKey: workspaceArmPath - readOnly: true - - propertyName: application_group_type(ApplicationGroupType^choice) - cli: - name: applicationGroupType - cliKey: applicationGroupType - - schemaName: ApplicationGroupPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(ApplicationGroupPatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(ApplicationGroupPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - schemaName: StartMenuItemList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: StartMenuItemList - properties: - - propertyName: value(StartMenuItemListValue^array) - cli: - cliKey: value - - propertyName: next_link(StartMenuItemListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: StartMenuItem - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: StartMenuItem - properties: - - propertyName: app_alias(StartMenuItemPropertiesAppAlias^string) - cli: - name: appAlias - cliKey: appAlias - - propertyName: friendly_name(StartMenuItemPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: file_path(StartMenuItemPropertiesFilePath^string) - cli: - name: filePath - cliKey: filePath - - propertyName: command_line_arguments(StartMenuItemPropertiesCommandLineArguments^string) - cli: - name: commandLineArguments - cliKey: commandLineArguments - - propertyName: icon_path(StartMenuItemPropertiesIconPath^string) - cli: - name: iconPath - cliKey: iconPath - - propertyName: icon_index(Integer^integer) - cli: - name: iconIndex - cliKey: iconIndex - - schemaName: Application - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Application - properties: - - propertyName: description(ApplicationPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(ApplicationPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: file_path(ApplicationPropertiesFilePath^string) - cli: - name: filePath - cliKey: filePath - - propertyName: command_line_setting(CommandLineSetting^choice) - cli: - name: commandLineSetting - cliKey: commandLineSetting - - propertyName: command_line_arguments(ApplicationPropertiesCommandLineArguments^string) - cli: - name: commandLineArguments - cliKey: commandLineArguments - - propertyName: show_in_portal(boolean^boolean) - cli: - name: showInPortal - cliKey: showInPortal - - propertyName: icon_path(ApplicationPropertiesIconPath^string) - cli: - name: iconPath - cliKey: iconPath - - propertyName: icon_index(Integer^integer) - cli: - name: iconIndex - cliKey: iconIndex - - propertyName: icon_hash(ApplicationPropertiesIconHash^string) - cli: - name: iconHash - cliKey: iconHash - readOnly: true - - propertyName: icon_content(application_properties_icon_content^byte-array) - cli: - name: iconContent - cliKey: iconContent - readOnly: true - - schemaName: ApplicationPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(ApplicationPatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(ApplicationPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: file_path(ApplicationPatchPropertiesFilePath^string) - cli: - name: filePath - cliKey: filePath - - propertyName: command_line_setting(CommandLineSetting^choice) - cli: - name: commandLineSetting - cliKey: commandLineSetting - - propertyName: command_line_arguments(ApplicationPatchPropertiesCommandLineArguments^string) - cli: - name: commandLineArguments - cliKey: commandLineArguments - - propertyName: show_in_portal(boolean^boolean) - cli: - name: showInPortal - cliKey: showInPortal - - propertyName: icon_path(ApplicationPatchPropertiesIconPath^string) - cli: - name: iconPath - cliKey: iconPath - - propertyName: icon_index(Integer^integer) - cli: - name: iconIndex - cliKey: iconIndex - - schemaName: ApplicationList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationList - properties: - - propertyName: value(ApplicationListValue^array) - cli: - cliKey: value - - propertyName: next_link(ApplicationListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: Desktop - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Desktop - properties: - - propertyName: description(DesktopPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(DesktopPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: icon_hash(DesktopPropertiesIconHash^string) - cli: - name: iconHash - cliKey: iconHash - readOnly: true - - propertyName: icon_content(desktop_properties_icon_content^byte-array) - cli: - name: iconContent - cliKey: iconContent - readOnly: true - - schemaName: DesktopPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(DesktopPatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(DesktopPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - schemaName: DesktopList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopList - properties: - - propertyName: value(DesktopListValue^array) - cli: - cliKey: value - - propertyName: next_link(DesktopListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: HostPool - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPool - properties: - - propertyName: friendly_name(HostPoolPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: description(HostPoolPropertiesDescription^string) - cli: - cliKey: description - - propertyName: host_pool_type(HostPoolType^choice) - cli: - name: hostPoolType - cliKey: hostPoolType - - propertyName: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) - cli: - name: personalDesktopAssignmentType - cliKey: personalDesktopAssignmentType - - propertyName: custom_rdp_property(HostPoolPropertiesCustomRdpProperty^string) - cli: - name: customRdpProperty - cliKey: customRdpProperty - - propertyName: max_session_limit(Integer^integer) - cli: - name: maxSessionLimit - cliKey: maxSessionLimit - - propertyName: load_balancer_type(LoadBalancerType^choice) - cli: - name: loadBalancerType - cliKey: loadBalancerType - - propertyName: ring(Integer^integer) - cli: - cliKey: ring - - propertyName: validation_environment(boolean^boolean) - cli: - name: validationEnvironment - cliKey: validationEnvironment - - propertyName: registration_info(RegistrationInfo^object) - cli: - name: registrationInfo - cliKey: registrationInfo - - propertyName: vm_template(HostPoolPropertiesVmTemplate^string) - cli: - name: vmTemplate - cliKey: vmTemplate - - propertyName: application_group_references(HostPoolPropertiesApplicationGroupReferences^array) - cli: - name: applicationGroupReferences - cliKey: applicationGroupReferences - readOnly: true - - propertyName: sso_context(HostPoolPropertiesSsoContext^string) - cli: - name: ssoContext - cliKey: ssoContext - - schemaName: RegistrationInfo - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 3 - propertyCountIfSimplifyWithoutSimpleObject: 3 - simplifiable: true - cliKey: RegistrationInfo - properties: - - propertyName: expiration_time(registration_info_expiration_time^date-time) - cli: - name: expirationTime - cliKey: expirationTime - - propertyName: token(RegistrationInfoToken^string) - cli: - cliKey: token - - propertyName: registration_token_operation(RegistrationTokenOperation^choice) - cli: - name: registrationTokenOperation - cliKey: registrationTokenOperation - - schemaName: HostPoolPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: friendly_name(HostPoolPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: description(HostPoolPatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: custom_rdp_property(HostPoolPatchPropertiesCustomRdpProperty^string) - cli: - name: customRdpProperty - cliKey: customRdpProperty - - propertyName: max_session_limit(Integer^integer) - cli: - name: maxSessionLimit - cliKey: maxSessionLimit - - propertyName: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) - cli: - name: personalDesktopAssignmentType - cliKey: personalDesktopAssignmentType - - propertyName: load_balancer_type(LoadBalancerType^choice) - cli: - name: loadBalancerType - cliKey: loadBalancerType - - propertyName: ring(Integer^integer) - cli: - cliKey: ring - - propertyName: validation_environment(boolean^boolean) - cli: - name: validationEnvironment - cliKey: validationEnvironment - - propertyName: registration_info(RegistrationInfoPatch^object) - cli: - name: registrationInfo - cliKey: registrationInfo - - propertyName: sso_context(HostPoolPatchPropertiesSsoContext^string) - cli: - name: ssoContext - cliKey: ssoContext - - schemaName: RegistrationInfoPatch - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 1 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: RegistrationInfoPatch - properties: - - propertyName: registration_token_operation(RegistrationTokenOperation^choice) - cli: - name: registrationTokenOperation - cliKey: registrationTokenOperation - - schemaName: HostPoolList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolList - properties: - - propertyName: value(HostPoolListValue^array) - cli: - cliKey: value - - propertyName: next_link(HostPoolListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: UserSessionList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: UserSessionList - properties: - - propertyName: value(UserSessionListValue^array) - cli: - cliKey: value - - propertyName: next_link(UserSessionListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: UserSession - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: UserSession - properties: - - propertyName: user_principal_name(UserSessionPropertiesUserPrincipalName^string) - cli: - name: userPrincipalName - cliKey: userPrincipalName - - propertyName: application_type(ApplicationType^choice) - cli: - name: applicationType - cliKey: applicationType - - propertyName: session_state(SessionState^choice) - cli: - name: sessionState - cliKey: sessionState - - propertyName: active_directory_user_name(UserSessionPropertiesActiveDirectoryUserName^string) - cli: - name: activeDirectoryUserName - cliKey: activeDirectoryUserName - - propertyName: create_time(user_session_properties_create_time^date-time) - cli: - name: createTime - cliKey: createTime - - schemaName: SessionHost - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHost - properties: - - propertyName: last_heart_beat(session_host_properties_last_heart_beat^date-time) - cli: - name: lastHeartBeat - cliKey: lastHeartBeat - - propertyName: sessions(Integer^integer) - cli: - cliKey: sessions - - propertyName: agent_version(SessionHostPropertiesAgentVersion^string) - cli: - name: agentVersion - cliKey: agentVersion - - propertyName: allow_new_session(boolean^boolean) - cli: - name: allowNewSession - cliKey: allowNewSession - - propertyName: assigned_user(SessionHostPropertiesAssignedUser^string) - cli: - name: assignedUser - cliKey: assignedUser - - propertyName: status(Status^choice) - cli: - cliKey: status - - propertyName: status_timestamp(session_host_properties_status_timestamp^date-time) - cli: - name: statusTimestamp - cliKey: statusTimestamp - readOnly: true - - propertyName: os_version(SessionHostPropertiesOsVersion^string) - cli: - name: osVersion - cliKey: osVersion - - propertyName: sx_s_stack_version(SessionHostPropertiesSxSStackVersion^string) - cli: - name: sxSStackVersion - cliKey: sxSStackVersion - - propertyName: update_state(UpdateState^choice) - cli: - name: updateState - cliKey: updateState - - propertyName: last_update_time(session_host_properties_last_update_time^date-time) - cli: - name: lastUpdateTime - cliKey: lastUpdateTime - readOnly: true - - propertyName: update_error_message(SessionHostPropertiesUpdateErrorMessage^string) - cli: - name: updateErrorMessage - cliKey: updateErrorMessage - - schemaName: SessionHostPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHostPatch - properties: - - propertyName: allow_new_session(boolean^boolean) - cli: - name: allowNewSession - cliKey: allowNewSession - - propertyName: assigned_user(SessionHostPatchPropertiesAssignedUser^string) - cli: - name: assignedUser - cliKey: assignedUser - - schemaName: SessionHostList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: SessionHostList - properties: - - propertyName: value(SessionHostListValue^array) - cli: - cliKey: value - - propertyName: next_link(SessionHostListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: SendMessage - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SendMessage - properties: - - propertyName: message_title(SendMessageTitle^string) - cli: - name: messageTitle - cliKey: messageTitle - - propertyName: message_body(SendMessageBody^string) - cli: - name: messageBody - cliKey: messageBody - choices: - all: - - choiceName: ApplicationGroupType - cli: - cliKey: ApplicationGroupType - choiceValues: - - choiceValue: remote_app - cli: - name: RemoteApp - cliKey: RemoteApp - - choiceValue: desktop - cli: - name: Desktop - cliKey: Desktop - - choiceName: CommandLineSetting - cli: - cliKey: CommandLineSetting - choiceValues: - - choiceValue: do_not_allow - cli: - name: DoNotAllow - cliKey: DoNotAllow - - choiceValue: allow - cli: - name: Allow - cliKey: Allow - - choiceValue: require - cli: - name: Require - cliKey: Require - - choiceName: HostPoolType - cli: - cliKey: HostPoolType - choiceValues: - - choiceValue: personal - cli: - name: Personal - cliKey: Personal - - choiceValue: pooled - cli: - name: Pooled - cliKey: Pooled - - choiceName: PersonalDesktopAssignmentType - cli: - cliKey: PersonalDesktopAssignmentType - choiceValues: - - choiceValue: automatic - cli: - name: Automatic - cliKey: Automatic - - choiceValue: direct - cli: - name: Direct - cliKey: Direct - - choiceName: LoadBalancerType - cli: - cliKey: LoadBalancerType - choiceValues: - - choiceValue: breadth_first - cli: - name: BreadthFirst - cliKey: BreadthFirst - - choiceValue: depth_first - cli: - name: DepthFirst - cliKey: DepthFirst - - choiceValue: persistent - cli: - name: Persistent - cliKey: Persistent - - choiceName: RegistrationTokenOperation - cli: - cliKey: RegistrationTokenOperation - choiceValues: - - choiceValue: delete - cli: - name: Delete - cliKey: Delete - - choiceValue: none - cli: - name: None - cliKey: None - - choiceValue: update - cli: - name: Update - cliKey: Update - - choiceName: ApplicationType - cli: - cliKey: ApplicationType - choiceValues: - - choiceValue: remote_app - cli: - name: RemoteApp - cliKey: RemoteApp - - choiceValue: desktop - cli: - name: Desktop - cliKey: Desktop - - choiceName: SessionState - cli: - cliKey: SessionState - choiceValues: - - choiceValue: unknown - cli: - name: Unknown - cliKey: Unknown - - choiceValue: active - cli: - name: Active - cliKey: Active - - choiceValue: disconnected - cli: - name: Disconnected - cliKey: Disconnected - - choiceValue: pending - cli: - name: Pending - cliKey: Pending - - choiceValue: log_off - cli: - name: LogOff - cliKey: LogOff - - choiceValue: user_profile_disk_mounted - cli: - name: UserProfileDiskMounted - cliKey: UserProfileDiskMounted - - choiceName: Status - cli: - cliKey: Status - choiceValues: - - choiceValue: available - cli: - name: Available - cliKey: Available - - choiceValue: unavailable - cli: - name: Unavailable - cliKey: Unavailable - - choiceValue: shutdown - cli: - name: Shutdown - cliKey: Shutdown - - choiceValue: disconnected - cli: - name: Disconnected - cliKey: Disconnected - - choiceValue: upgrading - cli: - name: Upgrading - cliKey: Upgrading - - choiceValue: upgrade_failed - cli: - name: UpgradeFailed - cliKey: UpgradeFailed - - choiceName: UpdateState - cli: - cliKey: UpdateState - choiceValues: - - choiceValue: initial - cli: - name: Initial - cliKey: Initial - - choiceValue: pending - cli: - name: Pending - cliKey: Pending - - choiceValue: started - cli: - name: Started - cliKey: Started - - choiceValue: succeeded - cli: - name: Succeeded - cliKey: Succeeded - - choiceValue: failed - cli: - name: Failed - cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000110-poly-as-resource-post.yaml b/src/desktopvirtualization/_az_debug/clicommon-000110-poly-as-resource-post.yaml deleted file mode 100644 index 7b789991267..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000110-poly-as-resource-post.yaml +++ /dev/null @@ -1,11138 +0,0 @@ -info: - title: Desktop Virtualization API Client - extensions: - cli-dump-index: 110 -schemas: - booleans: - - &ref_53 - type: boolean - language: - default: - name: boolean - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - protocol: {} - - &ref_27 - type: boolean - language: - default: - name: boolean - description: Is validation environment. - protocol: {} - - &ref_356 - type: boolean - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: boolean - description: '' - protocol: {} - - &ref_73 - type: boolean - language: - default: - name: boolean - description: Allow a new session. - protocol: {} - numbers: - - &ref_47 - type: integer - precision: 32 - language: - default: - name: Integer - description: Index of the icon. - cli: - name: Integer - description: Index of the icon. - protocol: {} - - &ref_24 - type: integer - precision: 32 - language: - default: - name: Integer - description: The max session limit of HostPool. - cli: - name: Integer - description: The max session limit of HostPool. - protocol: {} - - &ref_26 - type: integer - precision: 32 - language: - default: - name: Integer - description: The ring number of HostPool. - cli: - name: Integer - description: The ring number of HostPool. - protocol: {} - - &ref_71 - type: integer - precision: 32 - language: - default: - name: Integer - description: Number of sessions on SessionHost. - cli: - name: Integer - description: Number of sessions on SessionHost. - protocol: {} - strings: - - &ref_0 - type: string - language: - default: - name: String - description: simple string - cli: - name: String - description: simple string - protocol: {} - - &ref_2 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationName - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cli: - name: ResourceProviderOperationName - description: 'Operation name, in format of {provider}/{resource}/{operation}' - protocol: {} - - &ref_3 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationDisplayProvider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cli: - name: ResourceProviderOperationDisplayProvider - description: 'Resource provider: Microsoft Desktop Virtualization.' - protocol: {} - - &ref_4 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationDisplayResource - description: Resource on which the operation is performed. - cli: - name: ResourceProviderOperationDisplayResource - description: Resource on which the operation is performed. - protocol: {} - - &ref_5 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationDisplayOperation - description: 'Type of operation: get, read, delete, etc.' - cli: - name: ResourceProviderOperationDisplayOperation - description: 'Type of operation: get, read, delete, etc.' - protocol: {} - - &ref_6 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationDisplayDescription - description: Description of this operation. - cli: - name: ResourceProviderOperationDisplayDescription - description: Description of this operation. - protocol: {} - - &ref_130 - type: string - apiVersions: - - version: '1.0' - minLength: 1 - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_136 - type: string - apiVersions: - - version: '1.0' - maxLength: 90 - minLength: 1 - pattern: '^[-\w\._\(\)]+$' - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_137 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 3 - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_91 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: ResourceId - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cli: - name: ResourceId - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - protocol: {} - - &ref_92 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: ResourceName - description: The name of the resource - cli: - name: ResourceName - description: The name of the resource - protocol: {} - - &ref_93 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: ResourceType - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cli: - name: ResourceType - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - protocol: {} - - &ref_1 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_38 - type: string - apiVersions: - - version: '1.0' - extensions: - x-ms-mutability: - - read - - create - language: - default: - name: TrackedResourceLocation - description: The geo-location where the resource lives - cli: - name: TrackedResourceLocation - description: The geo-location where the resource lives - protocol: {} - - &ref_11 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePropertiesDescription - description: Description of Workspace. - cli: - name: WorkspacePropertiesDescription - description: Description of Workspace. - protocol: {} - - &ref_12 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePropertiesFriendlyName - description: Friendly name of Workspace. - cli: - name: WorkspacePropertiesFriendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_13 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePropertiesApplicationGroupReferencesItem - description: '' - cli: - name: WorkspacePropertiesApplicationGroupReferencesItem - description: '' - protocol: {} - - &ref_94 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudErrorCode - description: Error code - cli: - name: CloudErrorCode - description: Error code - protocol: {} - - &ref_95 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudErrorMessage - description: Error message indicating why the operation failed. - cli: - name: CloudErrorMessage - description: Error message indicating why the operation failed. - protocol: {} - - &ref_96 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchPropertiesDescription - description: Description of Workspace. - cli: - name: WorkspacePatchPropertiesDescription - description: Description of Workspace. - protocol: {} - - &ref_97 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchPropertiesFriendlyName - description: Friendly name of Workspace. - cli: - name: WorkspacePatchPropertiesFriendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_98 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchPropertiesApplicationGroupReferencesItem - description: '' - cli: - name: WorkspacePatchPropertiesApplicationGroupReferencesItem - description: '' - protocol: {} - - &ref_99 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceListNextLink - description: Link to the next page of results. - cli: - name: WorkspaceListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_180 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_14 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPropertiesDescription - description: Description of ApplicationGroup. - cli: - name: ApplicationGroupPropertiesDescription - description: Description of ApplicationGroup. - protocol: {} - - &ref_15 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPropertiesFriendlyName - description: Friendly name of ApplicationGroup. - cli: - name: ApplicationGroupPropertiesFriendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_16 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPropertiesHostPoolArmPath - description: HostPool arm path of ApplicationGroup. - cli: - name: ApplicationGroupPropertiesHostPoolArmPath - description: HostPool arm path of ApplicationGroup. - protocol: {} - - &ref_17 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPropertiesWorkspaceArmPath - description: Workspace arm path of ApplicationGroup. - cli: - name: ApplicationGroupPropertiesWorkspaceArmPath - description: Workspace arm path of ApplicationGroup. - protocol: {} - - &ref_100 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupListNextLink - description: Link to the next page of results. - cli: - name: ApplicationGroupListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_40 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchPropertiesDescription - description: Description of ApplicationGroup. - cli: - name: ApplicationGroupPatchPropertiesDescription - description: Description of ApplicationGroup. - protocol: {} - - &ref_41 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchPropertiesFriendlyName - description: Friendly name of ApplicationGroup. - cli: - name: ApplicationGroupPatchPropertiesFriendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_42 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesAppAlias - description: Alias of StartMenuItem. - cli: - name: StartMenuItemPropertiesAppAlias - description: Alias of StartMenuItem. - protocol: {} - - &ref_43 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesFriendlyName - description: Friendly name of StartMenuItem. - cli: - name: StartMenuItemPropertiesFriendlyName - description: Friendly name of StartMenuItem. - protocol: {} - - &ref_44 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesFilePath - description: Path to the file of StartMenuItem. - cli: - name: StartMenuItemPropertiesFilePath - description: Path to the file of StartMenuItem. - protocol: {} - - &ref_45 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesCommandLineArguments - description: Command line arguments for StartMenuItem. - cli: - name: StartMenuItemPropertiesCommandLineArguments - description: Command line arguments for StartMenuItem. - protocol: {} - - &ref_46 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesIconPath - description: Path to the icon. - cli: - name: StartMenuItemPropertiesIconPath - description: Path to the icon. - protocol: {} - - &ref_101 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemListNextLink - description: Link to the next page of results. - cli: - name: StartMenuItemListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_48 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesDescription - description: Description of Application. - cli: - name: ApplicationPropertiesDescription - description: Description of Application. - protocol: {} - - &ref_49 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesFriendlyName - description: Friendly name of Application. - cli: - name: ApplicationPropertiesFriendlyName - description: Friendly name of Application. - protocol: {} - - &ref_50 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesFilePath - description: Specifies a path for the executable file for the application. - cli: - name: ApplicationPropertiesFilePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_52 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesCommandLineArguments - description: Command Line Arguments for Application. - cli: - name: ApplicationPropertiesCommandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_54 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesIconPath - description: Path to icon. - cli: - name: ApplicationPropertiesIconPath - description: Path to icon. - protocol: {} - - &ref_55 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesIconHash - description: Hash of the icon. - cli: - name: ApplicationPropertiesIconHash - description: Hash of the icon. - protocol: {} - - &ref_102 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesDescription - description: Description of Application. - cli: - name: ApplicationPatchPropertiesDescription - description: Description of Application. - protocol: {} - - &ref_103 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesFriendlyName - description: Friendly name of Application. - cli: - name: ApplicationPatchPropertiesFriendlyName - description: Friendly name of Application. - protocol: {} - - &ref_104 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesFilePath - description: Specifies a path for the executable file for the application. - cli: - name: ApplicationPatchPropertiesFilePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_105 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesCommandLineArguments - description: Command Line Arguments for Application. - cli: - name: ApplicationPatchPropertiesCommandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_106 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesIconPath - description: Path to icon. - cli: - name: ApplicationPatchPropertiesIconPath - description: Path to icon. - protocol: {} - - &ref_107 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationListNextLink - description: Link to the next page of results. - cli: - name: ApplicationListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_57 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPropertiesDescription - description: Description of Desktop. - cli: - name: DesktopPropertiesDescription - description: Description of Desktop. - protocol: {} - - &ref_58 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPropertiesFriendlyName - description: Friendly name of Desktop. - cli: - name: DesktopPropertiesFriendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_59 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPropertiesIconHash - description: Hash of the icon. - cli: - name: DesktopPropertiesIconHash - description: Hash of the icon. - protocol: {} - - &ref_108 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchPropertiesDescription - description: Description of Desktop. - cli: - name: DesktopPatchPropertiesDescription - description: Description of Desktop. - protocol: {} - - &ref_109 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchPropertiesFriendlyName - description: Friendly name of Desktop. - cli: - name: DesktopPatchPropertiesFriendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_110 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopListNextLink - description: Link to the next page of results. - cli: - name: DesktopListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_19 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesFriendlyName - description: Friendly name of HostPool. - cli: - name: HostPoolPropertiesFriendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_20 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesDescription - description: Description of HostPool. - cli: - name: HostPoolPropertiesDescription - description: Description of HostPool. - protocol: {} - - &ref_23 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesCustomRdpProperty - description: Custom rdp property of HostPool. - cli: - name: HostPoolPropertiesCustomRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_29 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: RegistrationInfoToken - description: The registration token base64 encoded string. - cli: - name: RegistrationInfoToken - description: The registration token base64 encoded string. - protocol: {} - - &ref_31 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesVmTemplate - description: VM template for sessionhosts configuration within hostpool. - cli: - name: HostPoolPropertiesVmTemplate - description: VM template for sessionhosts configuration within hostpool. - protocol: {} - - &ref_32 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesApplicationGroupReferencesItem - description: '' - cli: - name: HostPoolPropertiesApplicationGroupReferencesItem - description: '' - protocol: {} - - &ref_33 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesSsoContext - description: Path to keyvault containing ssoContext secret. - cli: - name: HostPoolPropertiesSsoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_61 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchPropertiesFriendlyName - description: Friendly name of HostPool. - cli: - name: HostPoolPatchPropertiesFriendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_62 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchPropertiesDescription - description: Description of HostPool. - cli: - name: HostPoolPatchPropertiesDescription - description: Description of HostPool. - protocol: {} - - &ref_63 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchPropertiesCustomRdpProperty - description: Custom rdp property of HostPool. - cli: - name: HostPoolPatchPropertiesCustomRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_64 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchPropertiesSsoContext - description: Path to keyvault containing ssoContext secret. - cli: - name: HostPoolPatchPropertiesSsoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_113 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolListNextLink - description: Link to the next page of results. - cli: - name: HostPoolListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_65 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionPropertiesUserPrincipalName - description: The user principal name. - cli: - name: UserSessionPropertiesUserPrincipalName - description: The user principal name. - protocol: {} - - &ref_68 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionPropertiesActiveDirectoryUserName - description: The active directory user name. - cli: - name: UserSessionPropertiesActiveDirectoryUserName - description: The active directory user name. - protocol: {} - - &ref_114 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionListNextLink - description: Link to the next page of results. - cli: - name: UserSessionListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_402 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 48 - minLength: 3 - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_72 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesAgentVersion - description: Version of agent on SessionHost. - cli: - name: SessionHostPropertiesAgentVersion - description: Version of agent on SessionHost. - protocol: {} - - &ref_74 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesAssignedUser - description: User assigned to SessionHost. - cli: - name: SessionHostPropertiesAssignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_77 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesOsVersion - description: The version of the OS on the session host. - cli: - name: SessionHostPropertiesOsVersion - description: The version of the OS on the session host. - protocol: {} - - &ref_78 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesSxSStackVersion - description: The version of the side by side stack on the session host. - cli: - name: SessionHostPropertiesSxSStackVersion - description: The version of the side by side stack on the session host. - protocol: {} - - &ref_81 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesUpdateErrorMessage - description: The error message. - cli: - name: SessionHostPropertiesUpdateErrorMessage - description: The error message. - protocol: {} - - &ref_82 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPatchPropertiesAssignedUser - description: User assigned to SessionHost. - cli: - name: SessionHostPatchPropertiesAssignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_115 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostListNextLink - description: Link to the next page of results. - cli: - name: SessionHostListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_403 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 1 - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_116 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessageTitle - description: Title of message. - cli: - name: SendMessageTitle - description: Title of message. - protocol: {} - - &ref_117 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessageBody - description: Body of message. - cli: - name: SendMessageBody - description: Body of message. - protocol: {} - choices: - - &ref_18 - choices: - - value: RemoteApp - language: - default: - name: remote_app - description: '' - cli: - name: RemoteApp - description: '' - cliKey: RemoteApp - - value: Desktop - language: - default: - name: desktop - description: '' - cli: - name: Desktop - description: '' - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationGroupType - description: Resource Type of ApplicationGroup. - cli: - name: ApplicationGroupType - description: Resource Type of ApplicationGroup. - cliKey: ApplicationGroupType - protocol: {} - - &ref_51 - choices: - - value: DoNotAllow - language: - default: - name: do_not_allow - description: '' - cli: - name: DoNotAllow - description: '' - cliKey: DoNotAllow - - value: Allow - language: - default: - name: allow - description: '' - cli: - name: Allow - description: '' - cliKey: Allow - - value: Require - language: - default: - name: require - description: '' - cli: - name: Require - description: '' - cliKey: Require - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: CommandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - name: CommandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cliKey: CommandLineSetting - protocol: {} - - &ref_21 - choices: - - value: Personal - language: - default: - name: personal - description: '' - cli: - name: Personal - description: '' - cliKey: Personal - - value: Pooled - language: - default: - name: pooled - description: '' - cli: - name: Pooled - description: '' - cliKey: Pooled - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: HostPoolType - description: HostPool type for desktop. - cli: - name: HostPoolType - description: HostPool type for desktop. - cliKey: HostPoolType - protocol: {} - - &ref_22 - choices: - - value: Automatic - language: - default: - name: automatic - description: '' - cli: - name: Automatic - description: '' - cliKey: Automatic - - value: Direct - language: - default: - name: direct - description: '' - cli: - name: Direct - description: '' - cliKey: Direct - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: PersonalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cli: - name: PersonalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cliKey: PersonalDesktopAssignmentType - protocol: {} - - &ref_25 - choices: - - value: BreadthFirst - language: - default: - name: breadth_first - description: '' - cli: - name: BreadthFirst - description: '' - cliKey: BreadthFirst - - value: DepthFirst - language: - default: - name: depth_first - description: '' - cli: - name: DepthFirst - description: '' - cliKey: DepthFirst - - value: Persistent - language: - default: - name: persistent - description: '' - cli: - name: Persistent - description: '' - cliKey: Persistent - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: LoadBalancerType - description: The type of the load balancer. - cli: - name: LoadBalancerType - description: The type of the load balancer. - cliKey: LoadBalancerType - protocol: {} - - &ref_30 - choices: - - value: Delete - language: - default: - name: delete - description: '' - cli: - name: Delete - description: '' - cliKey: Delete - - value: None - language: - default: - name: none - description: '' - cli: - name: None - description: '' - cliKey: None - - value: Update - language: - default: - name: update - description: '' - cli: - name: Update - description: '' - cliKey: Update - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: RegistrationTokenOperation - description: The type of resetting the token. - cli: - name: RegistrationTokenOperation - description: The type of resetting the token. - cliKey: RegistrationTokenOperation - protocol: {} - - &ref_66 - choices: - - value: RemoteApp - language: - default: - name: remote_app - description: '' - cli: - name: RemoteApp - description: '' - cliKey: RemoteApp - - value: Desktop - language: - default: - name: desktop - description: '' - cli: - name: Desktop - description: '' - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationType - description: Application type of application. - cli: - name: ApplicationType - description: Application type of application. - cliKey: ApplicationType - protocol: {} - - &ref_67 - choices: - - value: Unknown - language: - default: - name: unknown - description: '' - cli: - name: Unknown - description: '' - cliKey: Unknown - - value: Active - language: - default: - name: active - description: '' - cli: - name: Active - description: '' - cliKey: Active - - value: Disconnected - language: - default: - name: disconnected - description: '' - cli: - name: Disconnected - description: '' - cliKey: Disconnected - - value: Pending - language: - default: - name: pending - description: '' - cli: - name: Pending - description: '' - cliKey: Pending - - value: LogOff - language: - default: - name: log_off - description: '' - cli: - name: LogOff - description: '' - cliKey: LogOff - - value: UserProfileDiskMounted - language: - default: - name: user_profile_disk_mounted - description: '' - cli: - name: UserProfileDiskMounted - description: '' - cliKey: UserProfileDiskMounted - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: SessionState - description: State of user session. - cli: - name: SessionState - description: State of user session. - cliKey: SessionState - protocol: {} - - &ref_75 - choices: - - value: Available - language: - default: - name: available - description: '' - cli: - name: Available - description: '' - cliKey: Available - - value: Unavailable - language: - default: - name: unavailable - description: '' - cli: - name: Unavailable - description: '' - cliKey: Unavailable - - value: Shutdown - language: - default: - name: shutdown - description: '' - cli: - name: Shutdown - description: '' - cliKey: Shutdown - - value: Disconnected - language: - default: - name: disconnected - description: '' - cli: - name: Disconnected - description: '' - cliKey: Disconnected - - value: Upgrading - language: - default: - name: upgrading - description: '' - cli: - name: Upgrading - description: '' - cliKey: Upgrading - - value: UpgradeFailed - language: - default: - name: upgrade_failed - description: '' - cli: - name: UpgradeFailed - description: '' - cliKey: UpgradeFailed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: Status - description: Status for a SessionHost. - cli: - name: Status - description: Status for a SessionHost. - cliKey: Status - protocol: {} - - &ref_79 - choices: - - value: Initial - language: - default: - name: initial - description: '' - cli: - name: Initial - description: '' - cliKey: Initial - - value: Pending - language: - default: - name: pending - description: '' - cli: - name: Pending - description: '' - cliKey: Pending - - value: Started - language: - default: - name: started - description: '' - cli: - name: Started - description: '' - cliKey: Started - - value: Succeeded - language: - default: - name: succeeded - description: '' - cli: - name: Succeeded - description: '' - cliKey: Succeeded - - value: Failed - language: - default: - name: failed - description: '' - cli: - name: Failed - description: '' - cliKey: Failed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: UpdateState - description: Update state of a SessionHost. - cli: - name: UpdateState - description: Update state of a SessionHost. - cliKey: UpdateState - protocol: {} - constants: - - &ref_131 - type: constant - value: - value: 2019-12-10-preview - valueType: *ref_0 - language: - default: - name: api_version2019_12_10_preview - description: Api Version (2019-12-10-preview) - cli: - name: ApiVersion20191210Preview - description: Api Version (2019-12-10-preview) - protocol: {} - - &ref_141 - type: constant - value: - value: application/json - valueType: *ref_0 - language: - default: - name: application_json - description: Content Type 'application/json' - cli: - name: ApplicationJson - description: Content Type 'application/json' - protocol: {} - dictionaries: - - &ref_37 - type: dictionary - elementType: *ref_1 - language: - default: - name: TrackedResourceTags - description: Resource tags. - cli: - name: TrackedResourceTags - description: Resource tags. - cli-complexity: dictionary_simple - cli-mark: checked - protocol: {} - any: - - &ref_39 - type: any - language: - default: - name: any - description: Any object - protocol: {} - byteArrays: - - &ref_56 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_properties_icon_content - description: the icon a 64 bit string as a byte array. - protocol: {} - - &ref_60 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: desktop_properties_icon_content - description: The icon a 64 bit string as a byte array. - protocol: {} - dateTimes: - - &ref_28 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: registration_info_expiration_time - description: Expiration time of registration token. - protocol: {} - - &ref_69 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: user_session_properties_create_time - description: The timestamp of the user session create. - protocol: {} - - &ref_70 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_last_heart_beat - description: Last heart beat from SessionHost. - protocol: {} - - &ref_76 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_status_timestamp - description: The timestamp of the status. - protocol: {} - - &ref_80 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_last_update_time - description: The timestamp of the last update. - protocol: {} - objects: - - &ref_134 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_118 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: &ref_7 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_2 - serializedName: name - language: - default: - name: name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cli: - name: name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cliKey: name - protocol: {} - - schema: &ref_8 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_3 - serializedName: provider - language: - default: - name: provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cli: - name: provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cliKey: provider - protocol: {} - - schema: *ref_4 - serializedName: resource - language: - default: - name: resource - description: Resource on which the operation is performed. - cli: - name: resource - description: Resource on which the operation is performed. - cliKey: resource - protocol: {} - - schema: *ref_5 - serializedName: operation - language: - default: - name: operation - description: 'Type of operation: get, read, delete, etc.' - cli: - name: operation - description: 'Type of operation: get, read, delete, etc.' - cliKey: operation - protocol: {} - - schema: *ref_6 - serializedName: description - language: - default: - name: description - description: Description of this operation. - cli: - name: description - description: Description of this operation. - cliKey: description - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperationDisplay - description: Display metadata associated with the operation. - namespace: '' - cli: - name: ResourceProviderOperationDisplay - description: Display metadata associated with the operation. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ResourceProviderOperation-display - protocol: {} - serializedName: display - language: - default: - name: display - description: Display metadata associated with the operation. - cli: - name: display - description: Display metadata associated with the operation. - cliKey: display - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperation - description: Supported operation of this resource provider. - namespace: '' - cli: - name: ResourceProviderOperation - description: Supported operation of this resource provider. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ResourceProviderOperation - protocol: {} - language: - default: - name: ResourceProviderOperationListValue - description: List of operations supported by this resource provider. - cli: - name: ResourceProviderOperationListValue - description: List of operations supported by this resource provider. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of operations supported by this resource provider. - cli: - name: value - description: List of operations supported by this resource provider. - cliKey: value - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperationList - description: Result of the request to list operations. - namespace: '' - cli: - name: ResourceProviderOperationList - description: Result of the request to list operations. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ResourceProviderOperationList - protocol: {} - - *ref_7 - - *ref_8 - - &ref_10 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_9 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_34 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_147 - schema: *ref_11 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: &ref_148 - name: description - description: Description of Workspace. - cliKey: description - protocol: {} - - &ref_149 - schema: *ref_12 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: &ref_150 - name: friendlyName - description: Friendly name of Workspace. - cliKey: friendlyName - protocol: {} - - &ref_151 - schema: &ref_119 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_13 - language: - default: - name: WorkspacePropertiesApplicationGroupReferences - description: List of applicationGroup resource Ids. - cli: - name: WorkspacePropertiesApplicationGroupReferences - description: List of applicationGroup resource Ids. - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup resource Ids. - cli: &ref_152 - name: applicationGroupReferences - description: List of applicationGroup resource Ids. - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Workspace - description: Represents a Workspace definition. - namespace: '' - cli: - name: Workspace - description: Represents a Workspace definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: Workspace - protocol: {} - - &ref_35 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_188 - schema: *ref_14 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: &ref_189 - name: description - description: Description of ApplicationGroup. - cliKey: description - protocol: {} - - &ref_190 - schema: *ref_15 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: &ref_191 - name: friendlyName - description: Friendly name of ApplicationGroup. - cliKey: friendlyName - protocol: {} - - &ref_192 - schema: *ref_16 - flattenedNames: - - properties - - hostPoolArmPath - required: true - serializedName: hostPoolArmPath - language: - default: - name: host_pool_arm_path - description: HostPool arm path of ApplicationGroup. - cli: &ref_193 - name: hostPoolArmPath - description: HostPool arm path of ApplicationGroup. - cliKey: hostPoolArmPath - protocol: {} - - schema: *ref_17 - flattenedNames: - - properties - - workspaceArmPath - readOnly: true - required: false - serializedName: workspaceArmPath - language: - default: - name: workspace_arm_path - description: Workspace arm path of ApplicationGroup. - cli: - name: workspaceArmPath - description: Workspace arm path of ApplicationGroup. - cliKey: workspaceArmPath - protocol: {} - - &ref_194 - schema: *ref_18 - flattenedNames: - - properties - - applicationGroupType - required: true - serializedName: applicationGroupType - language: - default: - name: application_group_type - description: Resource Type of ApplicationGroup. - cli: &ref_195 - name: applicationGroupType - description: Resource Type of ApplicationGroup. - cliKey: applicationGroupType - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationGroup - description: Represents a ApplicationGroup definition. - namespace: '' - cli: - name: ApplicationGroup - description: Represents a ApplicationGroup definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroup - protocol: {} - - &ref_36 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_316 - schema: *ref_19 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: &ref_317 - name: friendlyName - description: Friendly name of HostPool. - cliKey: friendlyName - protocol: {} - - &ref_318 - schema: *ref_20 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: &ref_319 - name: description - description: Description of HostPool. - cliKey: description - protocol: {} - - &ref_320 - schema: *ref_21 - flattenedNames: - - properties - - hostPoolType - required: true - serializedName: hostPoolType - language: - default: - name: host_pool_type - description: HostPool type for desktop. - cli: &ref_321 - name: hostPoolType - description: HostPool type for desktop. - cliKey: hostPoolType - protocol: {} - - &ref_322 - schema: *ref_22 - flattenedNames: - - properties - - personalDesktopAssignmentType - required: true - serializedName: personalDesktopAssignmentType - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: &ref_323 - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cliKey: personalDesktopAssignmentType - protocol: {} - - &ref_324 - schema: *ref_23 - flattenedNames: - - properties - - customRdpProperty - required: false - serializedName: customRdpProperty - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: &ref_325 - name: customRdpProperty - description: Custom rdp property of HostPool. - cliKey: customRdpProperty - protocol: {} - - &ref_326 - schema: *ref_24 - flattenedNames: - - properties - - maxSessionLimit - required: false - serializedName: maxSessionLimit - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: &ref_327 - name: maxSessionLimit - description: The max session limit of HostPool. - cliKey: maxSessionLimit - protocol: {} - - &ref_328 - schema: *ref_25 - flattenedNames: - - properties - - loadBalancerType - required: true - serializedName: loadBalancerType - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: &ref_329 - name: loadBalancerType - description: The type of the load balancer. - cliKey: loadBalancerType - protocol: {} - - &ref_330 - schema: *ref_26 - flattenedNames: - - properties - - ring - required: false - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: &ref_331 - name: ring - description: The ring number of HostPool. - cliKey: ring - protocol: {} - - &ref_332 - schema: *ref_27 - flattenedNames: - - properties - - validationEnvironment - required: false - serializedName: validationEnvironment - language: - default: - name: validation_environment - description: Is validation environment. - cli: &ref_333 - name: validationEnvironment - description: Is validation environment. - cliKey: validationEnvironment - protocol: {} - - &ref_334 - schema: &ref_111 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_28 - serializedName: expirationTime - language: - default: - name: expiration_time - description: Expiration time of registration token. - cli: - name: expirationTime - description: Expiration time of registration token. - cliKey: expirationTime - protocol: {} - - schema: *ref_29 - serializedName: token - language: - default: - name: token - description: The registration token base64 encoded string. - cli: - name: token - description: The registration token base64 encoded string. - cliKey: token - protocol: {} - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registration_token_operation - description: The type of resetting the token. - cli: - name: registrationTokenOperation - description: The type of resetting the token. - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: RegistrationInfo - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - name: RegistrationInfo - description: Represents a RegistrationInfo definition. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 3 - propertyCountIfSimplifyWithoutSimpleObject: 3 - simplifiable: true - cliKey: RegistrationInfo - protocol: {} - flattenedNames: - - properties - - registrationInfo - required: false - serializedName: registrationInfo - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: &ref_335 - name: registrationInfo - description: The registration info of HostPool. - cliKey: registrationInfo - protocol: {} - - &ref_336 - schema: *ref_31 - flattenedNames: - - properties - - vmTemplate - required: false - serializedName: vmTemplate - language: - default: - name: vm_template - description: VM template for sessionhosts configuration within hostpool. - cli: &ref_337 - name: vmTemplate - description: VM template for sessionhosts configuration within hostpool. - cliKey: vmTemplate - protocol: {} - - schema: &ref_126 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_32 - language: - default: - name: HostPoolPropertiesApplicationGroupReferences - description: List of applicationGroup links. - cli: - name: HostPoolPropertiesApplicationGroupReferences - description: List of applicationGroup links. - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - readOnly: true - required: false - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: - name: applicationGroupReferences - description: List of applicationGroup links. - cliKey: applicationGroupReferences - protocol: {} - - &ref_338 - schema: *ref_33 - flattenedNames: - - properties - - ssoContext - required: false - serializedName: ssoContext - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: &ref_339 - name: ssoContext - description: Path to keyvault containing ssoContext secret. - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: HostPool - description: Represents a HostPool definition. - namespace: '' - cli: - name: HostPool - description: Represents a HostPool definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPool - protocol: {} - immediate: - - *ref_34 - - *ref_35 - - *ref_36 - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_143 - schema: *ref_37 - required: false - serializedName: tags - language: - default: - name: tags - description: Resource tags. - cli: &ref_144 - name: tags - description: Resource tags. - cliKey: tags - protocol: {} - - &ref_145 - schema: *ref_38 - required: true - serializedName: location - language: - default: - name: location - description: The geo-location where the resource lives - cli: &ref_146 - name: location - description: The geo-location where the resource lives - cliKey: location - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: TrackedResource - description: The resource model definition for a ARM tracked top level resource - namespace: '' - cli: - name: TrackedResource - description: The resource model definition for a ARM tracked top level resource - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: TrackedResource - protocol: {} - - *ref_34 - - *ref_35 - - &ref_83 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_207 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_208 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_209 - schema: *ref_40 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: &ref_210 - name: description - description: Description of ApplicationGroup. - cliKey: description - protocol: {} - - &ref_211 - schema: *ref_41 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: &ref_212 - name: friendlyName - description: Friendly name of ApplicationGroup. - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: ApplicationGroupPatch - description: ApplicationGroup properties that can be patched. - namespace: '' - cli: - name: ApplicationGroupPatch - description: ApplicationGroup properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupPatch - protocol: {} - - &ref_84 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_42 - flattenedNames: - - properties - - appAlias - serializedName: appAlias - language: - default: - name: app_alias - description: Alias of StartMenuItem. - cli: - name: appAlias - description: Alias of StartMenuItem. - cliKey: appAlias - protocol: {} - - schema: *ref_43 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of StartMenuItem. - cli: - name: friendlyName - description: Friendly name of StartMenuItem. - cliKey: friendlyName - protocol: {} - - schema: *ref_44 - flattenedNames: - - properties - - filePath - serializedName: filePath - language: - default: - name: file_path - description: Path to the file of StartMenuItem. - cli: - name: filePath - description: Path to the file of StartMenuItem. - cliKey: filePath - protocol: {} - - schema: *ref_45 - flattenedNames: - - properties - - commandLineArguments - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command line arguments for StartMenuItem. - cli: - name: commandLineArguments - description: Command line arguments for StartMenuItem. - cliKey: commandLineArguments - protocol: {} - - schema: *ref_46 - flattenedNames: - - properties - - iconPath - serializedName: iconPath - language: - default: - name: icon_path - description: Path to the icon. - cli: - name: iconPath - description: Path to the icon. - cliKey: iconPath - protocol: {} - - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: - name: iconIndex - description: Index of the icon. - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: StartMenuItem - description: Represents a StartMenuItem definition. - namespace: '' - cli: - name: StartMenuItem - description: Represents a StartMenuItem definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: StartMenuItem - protocol: {} - - &ref_85 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_228 - schema: *ref_48 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: &ref_229 - name: description - description: Description of Application. - cliKey: description - protocol: {} - - &ref_230 - schema: *ref_49 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: &ref_231 - name: friendlyName - description: Friendly name of Application. - cliKey: friendlyName - protocol: {} - - &ref_232 - schema: *ref_50 - flattenedNames: - - properties - - filePath - required: false - serializedName: filePath - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: &ref_233 - name: filePath - description: Specifies a path for the executable file for the application. - cliKey: filePath - protocol: {} - - &ref_234 - schema: *ref_51 - flattenedNames: - - properties - - commandLineSetting - required: true - serializedName: commandLineSetting - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: &ref_235 - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cliKey: commandLineSetting - protocol: {} - - &ref_236 - schema: *ref_52 - flattenedNames: - - properties - - commandLineArguments - required: false - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: &ref_237 - name: commandLineArguments - description: Command Line Arguments for Application. - cliKey: commandLineArguments - protocol: {} - - &ref_238 - schema: *ref_53 - flattenedNames: - - properties - - showInPortal - required: false - serializedName: showInPortal - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: &ref_239 - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cliKey: showInPortal - protocol: {} - - &ref_240 - schema: *ref_54 - flattenedNames: - - properties - - iconPath - required: false - serializedName: iconPath - language: - default: - name: icon_path - description: Path to icon. - cli: &ref_241 - name: iconPath - description: Path to icon. - cliKey: iconPath - protocol: {} - - &ref_242 - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - required: false - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: &ref_243 - name: iconIndex - description: Index of the icon. - cliKey: iconIndex - protocol: {} - - schema: *ref_55 - flattenedNames: - - properties - - iconHash - readOnly: true - required: false - serializedName: iconHash - language: - default: - name: icon_hash - description: Hash of the icon. - cli: - name: iconHash - description: Hash of the icon. - cliKey: iconHash - protocol: {} - - schema: *ref_56 - flattenedNames: - - properties - - iconContent - readOnly: true - required: false - serializedName: iconContent - language: - default: - name: icon_content - description: the icon a 64 bit string as a byte array. - cli: - name: iconContent - description: the icon a 64 bit string as a byte array. - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Application - description: Schema for Application properties. - namespace: '' - cli: - name: Application - description: Schema for Application properties. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Application - protocol: {} - - &ref_86 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_57 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: - name: description - description: Description of Desktop. - cliKey: description - protocol: {} - - schema: *ref_58 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: - name: friendlyName - description: Friendly name of Desktop. - cliKey: friendlyName - protocol: {} - - schema: *ref_59 - flattenedNames: - - properties - - iconHash - readOnly: true - serializedName: iconHash - language: - default: - name: icon_hash - description: Hash of the icon. - cli: - name: iconHash - description: Hash of the icon. - cliKey: iconHash - protocol: {} - - schema: *ref_60 - flattenedNames: - - properties - - iconContent - readOnly: true - serializedName: iconContent - language: - default: - name: icon_content - description: The icon a 64 bit string as a byte array. - cli: - name: iconContent - description: The icon a 64 bit string as a byte array. - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Desktop - description: Schema for Desktop properties. - namespace: '' - cli: - name: Desktop - description: Schema for Desktop properties. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Desktop - protocol: {} - - *ref_36 - - &ref_87 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_361 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_362 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_363 - schema: *ref_61 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: &ref_364 - name: friendlyName - description: Friendly name of HostPool. - cliKey: friendlyName - protocol: {} - - &ref_365 - schema: *ref_62 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: &ref_366 - name: description - description: Description of HostPool. - cliKey: description - protocol: {} - - &ref_367 - schema: *ref_63 - flattenedNames: - - properties - - customRdpProperty - serializedName: customRdpProperty - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: &ref_368 - name: customRdpProperty - description: Custom rdp property of HostPool. - cliKey: customRdpProperty - protocol: {} - - &ref_369 - schema: *ref_24 - flattenedNames: - - properties - - maxSessionLimit - serializedName: maxSessionLimit - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: &ref_370 - name: maxSessionLimit - description: The max session limit of HostPool. - cliKey: maxSessionLimit - protocol: {} - - &ref_371 - schema: *ref_22 - flattenedNames: - - properties - - personalDesktopAssignmentType - serializedName: personalDesktopAssignmentType - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: &ref_372 - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cliKey: personalDesktopAssignmentType - protocol: {} - - &ref_373 - schema: *ref_25 - flattenedNames: - - properties - - loadBalancerType - serializedName: loadBalancerType - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: &ref_374 - name: loadBalancerType - description: The type of the load balancer. - cliKey: loadBalancerType - protocol: {} - - &ref_375 - schema: *ref_26 - flattenedNames: - - properties - - ring - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: &ref_376 - name: ring - description: The ring number of HostPool. - cliKey: ring - protocol: {} - - &ref_377 - schema: *ref_27 - flattenedNames: - - properties - - validationEnvironment - serializedName: validationEnvironment - language: - default: - name: validation_environment - description: Is validation environment. - cli: &ref_378 - name: validationEnvironment - description: Is validation environment. - cliKey: validationEnvironment - protocol: {} - - &ref_379 - schema: &ref_112 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registration_token_operation - description: The type of resetting the token. - cli: - name: registrationTokenOperation - description: The type of resetting the token. - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: RegistrationInfoPatch - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - name: RegistrationInfoPatch - description: Represents a RegistrationInfo definition. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 1 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: RegistrationInfoPatch - protocol: {} - flattenedNames: - - properties - - registrationInfo - serializedName: registrationInfo - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: &ref_380 - name: registrationInfo - description: The registration info of HostPool. - cliKey: registrationInfo - protocol: {} - - &ref_381 - schema: *ref_64 - flattenedNames: - - properties - - ssoContext - serializedName: ssoContext - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: &ref_382 - name: ssoContext - description: Path to keyvault containing ssoContext secret. - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: HostPoolPatch - description: HostPool properties that can be patched. - namespace: '' - cli: - name: HostPoolPatch - description: HostPool properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolPatch - protocol: {} - - &ref_88 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_65 - flattenedNames: - - properties - - userPrincipalName - serializedName: userPrincipalName - language: - default: - name: user_principal_name - description: The user principal name. - cli: - name: userPrincipalName - description: The user principal name. - cliKey: userPrincipalName - protocol: {} - - schema: *ref_66 - flattenedNames: - - properties - - applicationType - serializedName: applicationType - language: - default: - name: application_type - description: Application type of application. - cli: - name: applicationType - description: Application type of application. - cliKey: applicationType - protocol: {} - - schema: *ref_67 - flattenedNames: - - properties - - sessionState - serializedName: sessionState - language: - default: - name: session_state - description: State of user session. - cli: - name: sessionState - description: State of user session. - cliKey: sessionState - protocol: {} - - schema: *ref_68 - flattenedNames: - - properties - - activeDirectoryUserName - serializedName: activeDirectoryUserName - language: - default: - name: active_directory_user_name - description: The active directory user name. - cli: - name: activeDirectoryUserName - description: The active directory user name. - cliKey: activeDirectoryUserName - protocol: {} - - schema: *ref_69 - flattenedNames: - - properties - - createTime - serializedName: createTime - language: - default: - name: create_time - description: The timestamp of the user session create. - cli: - name: createTime - description: The timestamp of the user session create. - cliKey: createTime - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: UserSession - description: Represents a UserSession definition. - namespace: '' - cli: - name: UserSession - description: Represents a UserSession definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: UserSession - protocol: {} - - &ref_89 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_70 - flattenedNames: - - properties - - lastHeartBeat - serializedName: lastHeartBeat - language: - default: - name: last_heart_beat - description: Last heart beat from SessionHost. - cli: - name: lastHeartBeat - description: Last heart beat from SessionHost. - cliKey: lastHeartBeat - protocol: {} - - schema: *ref_71 - flattenedNames: - - properties - - sessions - serializedName: sessions - language: - default: - name: sessions - description: Number of sessions on SessionHost. - cli: - name: sessions - description: Number of sessions on SessionHost. - cliKey: sessions - protocol: {} - - schema: *ref_72 - flattenedNames: - - properties - - agentVersion - serializedName: agentVersion - language: - default: - name: agent_version - description: Version of agent on SessionHost. - cli: - name: agentVersion - description: Version of agent on SessionHost. - cliKey: agentVersion - protocol: {} - - schema: *ref_73 - flattenedNames: - - properties - - allowNewSession - serializedName: allowNewSession - language: - default: - name: allow_new_session - description: Allow a new session. - cli: - name: allowNewSession - description: Allow a new session. - cliKey: allowNewSession - protocol: {} - - schema: *ref_74 - flattenedNames: - - properties - - assignedUser - serializedName: assignedUser - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: - name: assignedUser - description: User assigned to SessionHost. - cliKey: assignedUser - protocol: {} - - schema: *ref_75 - flattenedNames: - - properties - - status - serializedName: status - language: - default: - name: status - description: Status for a SessionHost. - cli: - name: status - description: Status for a SessionHost. - cliKey: status - protocol: {} - - schema: *ref_76 - flattenedNames: - - properties - - statusTimestamp - readOnly: true - serializedName: statusTimestamp - language: - default: - name: status_timestamp - description: The timestamp of the status. - cli: - name: statusTimestamp - description: The timestamp of the status. - cliKey: statusTimestamp - protocol: {} - - schema: *ref_77 - flattenedNames: - - properties - - osVersion - serializedName: osVersion - language: - default: - name: os_version - description: The version of the OS on the session host. - cli: - name: osVersion - description: The version of the OS on the session host. - cliKey: osVersion - protocol: {} - - schema: *ref_78 - flattenedNames: - - properties - - sxSStackVersion - serializedName: sxSStackVersion - language: - default: - name: sx_s_stack_version - description: The version of the side by side stack on the session host. - cli: - name: sxSStackVersion - description: The version of the side by side stack on the session host. - cliKey: sxSStackVersion - protocol: {} - - schema: *ref_79 - flattenedNames: - - properties - - updateState - serializedName: updateState - language: - default: - name: update_state - description: Update state of a SessionHost. - cli: - name: updateState - description: Update state of a SessionHost. - cliKey: updateState - protocol: {} - - schema: *ref_80 - flattenedNames: - - properties - - lastUpdateTime - readOnly: true - serializedName: lastUpdateTime - language: - default: - name: last_update_time - description: The timestamp of the last update. - cli: - name: lastUpdateTime - description: The timestamp of the last update. - cliKey: lastUpdateTime - protocol: {} - - schema: *ref_81 - flattenedNames: - - properties - - updateErrorMessage - serializedName: updateErrorMessage - language: - default: - name: update_error_message - description: The error message. - cli: - name: updateErrorMessage - description: The error message. - cliKey: updateErrorMessage - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: SessionHost - description: Represents a SessionHost definition. - namespace: '' - cli: - name: SessionHost - description: Represents a SessionHost definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHost - protocol: {} - - &ref_90 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_440 - schema: *ref_73 - flattenedNames: - - properties - - allowNewSession - serializedName: allowNewSession - language: - default: - name: allow_new_session - description: Allow a new session. - cli: &ref_441 - name: allowNewSession - description: Allow a new session. - cliKey: allowNewSession - protocol: {} - - &ref_442 - schema: *ref_82 - flattenedNames: - - properties - - assignedUser - serializedName: assignedUser - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: &ref_443 - name: assignedUser - description: User assigned to SessionHost. - cliKey: assignedUser - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: SessionHostPatch - description: SessionHost properties that can be patched. - namespace: '' - cli: - name: SessionHostPatch - description: SessionHost properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHostPatch - protocol: {} - immediate: - - *ref_9 - - *ref_83 - - *ref_84 - - *ref_85 - - *ref_86 - - *ref_87 - - *ref_88 - - *ref_89 - - *ref_90 - properties: - - schema: *ref_91 - readOnly: true - serializedName: id - language: - default: - name: id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cli: - name: id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cliKey: id - protocol: {} - - schema: *ref_92 - readOnly: true - serializedName: name - language: - default: - name: name - description: The name of the resource - cli: - name: name - description: The name of the resource - cliKey: name - protocol: {} - - schema: *ref_93 - readOnly: true - serializedName: type - language: - default: - name: type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cli: - name: type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cliKey: type - protocol: {} - serializationFormats: - - json - usage: - - output - - input - extensions: - x-ms-azure-resource: true - language: - default: - name: Resource - description: '' - namespace: '' - cli: - name: Resource - description: '' - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 0 - propertyCountIfSimplifyWithoutSimpleObject: 0 - simplifiable: true - cliKey: Resource - protocol: {} - - *ref_9 - - *ref_34 - - &ref_140 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_94 - serializedName: code - language: - default: - name: code - description: Error code - cli: - name: code - description: Error code - cliKey: code - protocol: {} - - schema: *ref_95 - serializedName: message - language: - default: - name: message - description: Error message indicating why the operation failed. - cli: - name: message - description: Error message indicating why the operation failed. - cliKey: message - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: CloudError - description: Error response of an operation failure - namespace: '' - cli: - name: CloudError - description: Error response of an operation failure - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: CloudError - protocol: {} - - &ref_162 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_164 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_165 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_166 - schema: *ref_96 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: &ref_167 - name: description - description: Description of Workspace. - cliKey: description - protocol: {} - - &ref_168 - schema: *ref_97 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: &ref_169 - name: friendlyName - description: Friendly name of Workspace. - cliKey: friendlyName - protocol: {} - - &ref_170 - schema: &ref_120 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_98 - language: - default: - name: WorkspacePatchPropertiesApplicationGroupReferences - description: List of applicationGroup links. - cli: - name: WorkspacePatchPropertiesApplicationGroupReferences - description: List of applicationGroup links. - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: &ref_171 - name: applicationGroupReferences - description: List of applicationGroup links. - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: WorkspacePatch - description: Workspace properties that can be patched. - namespace: '' - cli: - name: WorkspacePatch - description: Workspace properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatch - protocol: {} - - &ref_179 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_121 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_34 - language: - default: - name: WorkspaceListValue - description: List of Workspace definitions. - cli: - name: WorkspaceListValue - description: List of Workspace definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Workspace definitions. - cli: - name: value - description: List of Workspace definitions. - cliKey: value - protocol: {} - - schema: *ref_99 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: WorkspaceList - usage: - - output - language: - default: - name: WorkspaceList - description: List of Workspace definitions. - namespace: '' - summary: WorkspaceList - cli: - name: WorkspaceList - description: List of Workspace definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceList - protocol: {} - - &ref_184 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_122 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_35 - language: - default: - name: ApplicationGroupListValue - description: List of ApplicationGroup definitions. - cli: - name: ApplicationGroupListValue - description: List of ApplicationGroup definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of ApplicationGroup definitions. - cli: - name: value - description: List of ApplicationGroup definitions. - cliKey: value - protocol: {} - - schema: *ref_100 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationGroupList - usage: - - output - language: - default: - name: ApplicationGroupList - description: List of ApplicationGroup definitions. - namespace: '' - summary: ApplicationGroupList - cli: - name: ApplicationGroupList - description: List of ApplicationGroup definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupList - protocol: {} - - *ref_35 - - *ref_83 - - &ref_223 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_123 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_84 - language: - default: - name: StartMenuItemListValue - description: List of StartMenuItem definitions. - cli: - name: StartMenuItemListValue - description: List of StartMenuItem definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of StartMenuItem definitions. - cli: - name: value - description: List of StartMenuItem definitions. - cliKey: value - protocol: {} - - schema: *ref_101 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: StartMenuItemList - usage: - - output - language: - default: - name: StartMenuItemList - description: List of StartMenuItem definitions. - namespace: '' - summary: StartMenuItemList - cli: - name: StartMenuItemList - description: List of StartMenuItem definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: StartMenuItemList - protocol: {} - - *ref_84 - - *ref_85 - - &ref_258 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_260 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_261 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_262 - schema: *ref_102 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: &ref_263 - name: description - description: Description of Application. - cliKey: description - protocol: {} - - &ref_264 - schema: *ref_103 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: &ref_265 - name: friendlyName - description: Friendly name of Application. - cliKey: friendlyName - protocol: {} - - &ref_266 - schema: *ref_104 - flattenedNames: - - properties - - filePath - serializedName: filePath - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: &ref_267 - name: filePath - description: Specifies a path for the executable file for the application. - cliKey: filePath - protocol: {} - - &ref_268 - schema: *ref_51 - flattenedNames: - - properties - - commandLineSetting - serializedName: commandLineSetting - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: &ref_269 - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cliKey: commandLineSetting - protocol: {} - - &ref_270 - schema: *ref_105 - flattenedNames: - - properties - - commandLineArguments - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: &ref_271 - name: commandLineArguments - description: Command Line Arguments for Application. - cliKey: commandLineArguments - protocol: {} - - &ref_272 - schema: *ref_53 - flattenedNames: - - properties - - showInPortal - serializedName: showInPortal - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: &ref_273 - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cliKey: showInPortal - protocol: {} - - &ref_274 - schema: *ref_106 - flattenedNames: - - properties - - iconPath - serializedName: iconPath - language: - default: - name: icon_path - description: Path to icon. - cli: &ref_275 - name: iconPath - description: Path to icon. - cliKey: iconPath - protocol: {} - - &ref_276 - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: &ref_277 - name: iconIndex - description: Index of the icon. - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: ApplicationPatch - description: Application properties that can be patched. - namespace: '' - cli: - name: ApplicationPatch - description: Application properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationPatch - protocol: {} - - &ref_292 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_124 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_85 - language: - default: - name: ApplicationListValue - description: List of Application definitions. - cli: - name: ApplicationListValue - description: List of Application definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Application definitions. - cli: - name: value - description: List of Application definitions. - cliKey: value - protocol: {} - - schema: *ref_107 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationList - usage: - - output - language: - default: - name: ApplicationList - description: List of Application definitions. - namespace: '' - summary: ApplicationList - cli: - name: ApplicationList - description: List of Application definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationList - protocol: {} - - *ref_86 - - &ref_296 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_298 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_299 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_300 - schema: *ref_108 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: &ref_301 - name: description - description: Description of Desktop. - cliKey: description - protocol: {} - - &ref_302 - schema: *ref_109 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: &ref_303 - name: friendlyName - description: Friendly name of Desktop. - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: DesktopPatch - description: Desktop properties that can be patched. - namespace: '' - cli: - name: DesktopPatch - description: Desktop properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopPatch - protocol: {} - - &ref_312 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_125 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_86 - language: - default: - name: DesktopListValue - description: List of Desktop definitions. - cli: - name: DesktopListValue - description: List of Desktop definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Desktop definitions. - cli: - name: value - description: List of Desktop definitions. - cliKey: value - protocol: {} - - schema: *ref_110 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: DesktopList - usage: - - output - language: - default: - name: DesktopList - description: List of Desktop definitions. - namespace: '' - summary: DesktopList - cli: - name: DesktopList - description: List of Desktop definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopList - protocol: {} - - *ref_36 - - *ref_111 - - *ref_87 - - *ref_112 - - &ref_397 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_127 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_36 - language: - default: - name: HostPoolListValue - description: List of HostPool definitions. - cli: - name: HostPoolListValue - description: List of HostPool definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of HostPool definitions. - cli: - name: value - description: List of HostPool definitions. - cliKey: value - protocol: {} - - schema: *ref_113 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: HostPoolList - usage: - - output - language: - default: - name: HostPoolList - description: List of HostPool definitions. - namespace: '' - summary: HostPoolList - cli: - name: HostPoolList - description: List of HostPool definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolList - protocol: {} - - &ref_401 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_128 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_88 - language: - default: - name: UserSessionListValue - description: List of UserSession definitions. - cli: - name: UserSessionListValue - description: List of UserSession definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of UserSession definitions. - cli: - name: value - description: List of UserSession definitions. - cliKey: value - protocol: {} - - schema: *ref_114 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: UserSessionList - usage: - - output - language: - default: - name: UserSessionList - description: List of UserSession definitions. - namespace: '' - summary: UserSessionList - cli: - name: UserSessionList - description: List of UserSession definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: UserSessionList - protocol: {} - - *ref_88 - - *ref_89 - - *ref_90 - - &ref_451 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_129 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_89 - language: - default: - name: SessionHostListValue - description: List of SessionHost definitions. - cli: - name: SessionHostListValue - description: List of SessionHost definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of SessionHost definitions. - cli: - name: value - description: List of SessionHost definitions. - cliKey: value - protocol: {} - - schema: *ref_115 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: SessionHostList - usage: - - output - language: - default: - name: SessionHostList - description: List of SessionHost definitions. - namespace: '' - summary: SessionHostList - cli: - name: SessionHostList - description: List of SessionHost definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: SessionHostList - protocol: {} - - &ref_420 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_422 - schema: *ref_116 - serializedName: messageTitle - language: - default: - name: message_title - description: Title of message. - cli: &ref_423 - name: messageTitle - description: Title of message. - cliKey: messageTitle - protocol: {} - - &ref_424 - schema: *ref_117 - serializedName: messageBody - language: - default: - name: message_body - description: Body of message. - cli: &ref_425 - name: messageBody - description: Body of message. - cliKey: messageBody - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: SendMessage - description: Represents message sent to a UserSession. - namespace: '' - cli: - name: SendMessage - description: Represents message sent to a UserSession. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SendMessage - protocol: {} - arrays: - - *ref_118 - - *ref_119 - - *ref_120 - - *ref_121 - - *ref_122 - - *ref_123 - - *ref_124 - - *ref_125 - - *ref_126 - - *ref_127 - - *ref_128 - - *ref_129 -globalParameters: - - &ref_135 - schema: *ref_130 - implementation: Client - required: true - extensions: - x-ms-priority: 0 - language: - default: - name: subscription_id - description: The ID of the target subscription. - serializedName: subscriptionId - cli: - name: subscriptionId - description: The ID of the target subscription. - cliKey: subscriptionId - protocol: - http: - in: path - - &ref_132 - schema: *ref_0 - clientDefaultValue: 'https://management.azure.com' - implementation: Client - origin: 'modelerfour:synthesized/host' - required: true - extensions: - x-ms-skip-url-encoding: true - language: - default: - name: $host - description: server parameter - serializedName: $host - cli: - name: $host - description: server parameter - cliKey: $host - protocol: - http: - in: uri - - &ref_133 - schema: *ref_131 - implementation: Client - origin: 'modelerfour:synthesized/api-version' - required: true - language: - default: - name: api_version - description: Api Version - serializedName: api-version - cli: - name: ApiVersion - description: Api Version - cliKey: ApiVersion - protocol: - http: - in: query -operationGroups: - - $key: Operations - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: /providers/Microsoft.DesktopVirtualization/operations - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_134 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - extensions: - x-ms-examples: - OperationDescription_List: - parameters: - api-version: 2019-12-10-preview - responses: - '200': - body: - value: - - name: Microsoft.DesktopVirtualization/ssocontext/read - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - - name: Microsoft.DesktopVirtualization/ssocontext/write - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - language: - default: - name: list - description: List all of the available operations the Desktop Virtualization resource provider supports. - cli: - name: List - description: List all of the available operations the Desktop Virtualization resource provider supports. - cliKey: List - hidden: true - protocol: {} - language: - default: - name: Operation - description: '' - cli: - name: Operation - description: '' - cliKey: Operations - protocol: {} - - $key: Workspaces - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_138 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_139 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_138 - - *ref_139 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Get: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get a workspace. - cli: - name: Get - description: Get a workspace. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_158 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_159 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_142 - schema: *ref_34 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _workspace - description: Object containing Workspace definitions. - cli: - name: _workspace - description: Object containing Workspace definitions. - cliKey: workspace - protocol: - http: - in: body - style: json - - &ref_153 - schema: *ref_37 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_154 - schema: *ref_38 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_155 - schema: *ref_11 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_147 - language: - default: - name: description - description: Description of Workspace. - cli: *ref_148 - protocol: {} - - &ref_156 - schema: *ref_12 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_149 - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: *ref_150 - protocol: {} - - &ref_157 - schema: *ref_119 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_151 - language: - default: - name: application_group_references - description: List of applicationGroup resource Ids. - cli: *ref_152 - protocol: {} - signatureParameters: - - *ref_153 - - *ref_154 - - *ref_155 - - *ref_156 - - *ref_157 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_158 - - *ref_159 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Create: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '201': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update a workspace. - cli: - name: CreateOrUpdate - description: Create or update a workspace. - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_160 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_161 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_160 - - *ref_161 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Delete: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove a workspace. - cli: - name: Delete - description: Remove a workspace. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_176 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_177 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_163 - schema: *ref_162 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _workspace - description: Object containing Workspace definitions. - cli: - name: _workspace - description: Object containing Workspace definitions. - cliKey: workspace - protocol: - http: - in: body - style: json - - &ref_172 - schema: *ref_39 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_164 - language: - default: - name: tags - description: tags to be updated - cli: *ref_165 - protocol: {} - - &ref_173 - schema: *ref_96 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_166 - language: - default: - name: description - description: Description of Workspace. - cli: *ref_167 - protocol: {} - - &ref_174 - schema: *ref_97 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_168 - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: *ref_169 - protocol: {} - - &ref_175 - schema: *ref_120 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_170 - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: *ref_171 - protocol: {} - signatureParameters: - - *ref_172 - - *ref_173 - - *ref_174 - - *ref_175 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_176 - - *ref_177 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Update: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update a workspace. - cli: - name: Update - description: Update a workspace. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_178 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: - - *ref_178 - responses: - - schema: *ref_179 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List workspaces. - paging: - nextLinkName: nextLink - cli: - name: ListByResourceGroup - description: List workspaces. - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_179 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListBySubscription: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_subscription - description: List workspaces in subscription. - paging: - nextLinkName: nextLink - cli: - name: ListBySubscription - description: List workspaces in subscription. - cliKey: ListBySubscription - protocol: {} - language: - default: - name: Workspace - description: '' - cli: - name: Workspace - description: '' - cliKey: Workspaces - protocol: {} - - $key: ApplicationGroupAssignments - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_181 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_182 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - - &ref_183 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' - method: get - uri: '{$host}' - signatureParameters: - - *ref_181 - - *ref_182 - - *ref_183 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroupAssignment_WorkspaceLevelList: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: workspace_level_list - description: List application group that user can use. - paging: - nextLinkName: nextLink - cli: - name: WorkspaceLevelList - description: List application group that user can use. - cliKey: WorkspaceLevelList - protocol: {} - language: - default: - name: ApplicationGroupAssignment - description: '' - cli: - name: ApplicationGroupAssignment - description: '' - cliKey: ApplicationGroupAssignments - hidden: true - protocol: {} - - $key: ApplicationGroups - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_185 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_186 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_185 - - *ref_186 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get an application group. - cli: - name: Get - description: Get an application group. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_202 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_203 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_187 - schema: *ref_35 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _application_group - description: Object containing ApplicationGroup definitions. - cli: - name: _application_group - description: Object containing ApplicationGroup definitions. - cliKey: applicationGroup - protocol: - http: - in: body - style: json - - &ref_196 - schema: *ref_37 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_197 - schema: *ref_38 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_198 - schema: *ref_14 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_188 - language: - default: - name: description - description: Description of ApplicationGroup. - cli: *ref_189 - protocol: {} - - &ref_199 - schema: *ref_15 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_190 - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: *ref_191 - protocol: {} - - &ref_200 - schema: *ref_16 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_192 - language: - default: - name: host_pool_arm_path - description: HostPool arm path of ApplicationGroup. - cli: *ref_193 - protocol: {} - - &ref_201 - schema: *ref_18 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_194 - language: - default: - name: application_group_type - description: Resource Type of ApplicationGroup. - cli: *ref_195 - protocol: {} - signatureParameters: - - *ref_196 - - *ref_197 - - *ref_198 - - *ref_199 - - *ref_200 - - *ref_201 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_202 - - *ref_203 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Create: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '201': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update an applicationGroup. - cli: - name: CreateOrUpdate - description: Create or update an applicationGroup. - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_204 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_205 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_204 - - *ref_205 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove an applicationGroup. - cli: - name: Delete - description: Remove an applicationGroup. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_216 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_217 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_206 - schema: *ref_83 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _application_group - description: Object containing ApplicationGroup definitions. - cli: - name: _application_group - description: Object containing ApplicationGroup definitions. - cliKey: applicationGroup - protocol: - http: - in: body - style: json - - &ref_213 - schema: *ref_39 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_207 - language: - default: - name: tags - description: tags to be updated - cli: *ref_208 - protocol: {} - - &ref_214 - schema: *ref_40 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_209 - language: - default: - name: description - description: Description of ApplicationGroup. - cli: *ref_210 - protocol: {} - - &ref_215 - schema: *ref_41 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_211 - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: *ref_212 - protocol: {} - signatureParameters: - - *ref_213 - - *ref_214 - - *ref_215 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_216 - - *ref_217 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroups_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update an applicationGroup. - cli: - name: Update - description: Update an applicationGroup. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_218 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_219 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_218 - - *ref_219 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_ListByResourceGroup: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List applicationGroups. - paging: - nextLinkName: nextLink - cli: - name: ListByResourceGroup - description: List applicationGroups. - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_220 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_220 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_List: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_subscription - description: List applicationGroups in subscription. - paging: - nextLinkName: nextLink - cli: - name: ListBySubscription - description: List applicationGroups in subscription. - cliKey: ListBySubscription - protocol: {} - language: - default: - name: ApplicationGroup - description: '' - cli: - name: ApplicationGroup - description: '' - cliKey: ApplicationGroups - protocol: {} - - $key: StartMenuItems - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_221 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_222 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' - method: get - uri: '{$host}' - signatureParameters: - - *ref_221 - - *ref_222 - responses: - - schema: *ref_223 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - StartMenuItem_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: application1 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 - properties: - appAlias: word - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - - name: application2 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 - properties: - appAlias: excel - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List start menu items in the given application group. - paging: - nextLinkName: nextLink - cli: - name: List - description: List start menu items in the given application group. - cliKey: List - protocol: {} - language: - default: - name: StartMenuItem - description: '' - cli: - name: StartMenuItem - description: '' - cliKey: StartMenuItems - hidden: true - protocol: {} - - $key: Applications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_224 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_225 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_226 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - name: applicationName - description: The name of the application within the specified application group - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_224 - - *ref_225 - - *ref_226 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: get - description: Get an application. - cli: - name: Get - description: Get an application. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_252 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_253 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_254 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - name: applicationName - description: The name of the application within the specified application group - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_227 - schema: *ref_85 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _application - description: Object containing Application definitions. - cli: - name: _application - description: Object containing Application definitions. - cliKey: application - protocol: - http: - in: body - style: json - - &ref_244 - schema: *ref_48 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_228 - language: - default: - name: description - description: Description of Application. - cli: *ref_229 - protocol: {} - - &ref_245 - schema: *ref_49 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_230 - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: *ref_231 - protocol: {} - - &ref_246 - schema: *ref_50 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_232 - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: *ref_233 - protocol: {} - - &ref_247 - schema: *ref_51 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: true - targetProperty: *ref_234 - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: *ref_235 - protocol: {} - - &ref_248 - schema: *ref_52 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_236 - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: *ref_237 - protocol: {} - - &ref_249 - schema: *ref_53 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_238 - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: *ref_239 - protocol: {} - - &ref_250 - schema: *ref_54 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_240 - language: - default: - name: icon_path - description: Path to icon. - cli: *ref_241 - protocol: {} - - &ref_251 - schema: *ref_47 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_242 - language: - default: - name: icon_index - description: Index of the icon. - cli: *ref_243 - protocol: {} - signatureParameters: - - *ref_244 - - *ref_245 - - *ref_246 - - *ref_247 - - *ref_248 - - *ref_249 - - *ref_250 - - *ref_251 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_252 - - *ref_253 - - *ref_254 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Create: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '201': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: create_or_update - description: Create or update an application. - cli: - name: CreateOrUpdate - description: Create or update an application. - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_255 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_256 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_257 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - name: applicationName - description: The name of the application within the specified application group - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_255 - - *ref_256 - - *ref_257 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '204': {} - language: - default: - name: delete - description: Remove an application. - cli: - name: Delete - description: Remove an application. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_287 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_288 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_289 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - name: applicationName - description: The name of the application within the specified application group - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_259 - schema: *ref_258 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _application - description: Object containing Application definitions. - cli: - name: _application - description: Object containing Application definitions. - cliKey: application - protocol: - http: - in: body - style: json - - &ref_278 - schema: *ref_39 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_260 - language: - default: - name: tags - description: tags to be updated - cli: *ref_261 - protocol: {} - - &ref_279 - schema: *ref_102 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_262 - language: - default: - name: description - description: Description of Application. - cli: *ref_263 - protocol: {} - - &ref_280 - schema: *ref_103 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_264 - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: *ref_265 - protocol: {} - - &ref_281 - schema: *ref_104 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_266 - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: *ref_267 - protocol: {} - - &ref_282 - schema: *ref_51 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_268 - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: *ref_269 - protocol: {} - - &ref_283 - schema: *ref_105 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_270 - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: *ref_271 - protocol: {} - - &ref_284 - schema: *ref_53 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_272 - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: *ref_273 - protocol: {} - - &ref_285 - schema: *ref_106 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_274 - language: - default: - name: icon_path - description: Path to icon. - cli: *ref_275 - protocol: {} - - &ref_286 - schema: *ref_47 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_276 - language: - default: - name: icon_index - description: Index of the icon. - cli: *ref_277 - protocol: {} - signatureParameters: - - *ref_278 - - *ref_279 - - *ref_280 - - *ref_281 - - *ref_282 - - *ref_283 - - *ref_284 - - *ref_285 - - *ref_286 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_287 - - *ref_288 - - *ref_289 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Update: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: update - description: Update an application. - cli: - name: Update - description: Update an application. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_290 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_291 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_290 - - *ref_291 - responses: - - schema: *ref_292 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Applications_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List applications. - paging: - nextLinkName: nextLink - cli: - name: List - description: List applications. - cliKey: List - protocol: {} - language: - default: - name: Application - description: '' - cli: - name: Application - description: '' - cliKey: Applications - hidden: true - protocol: {} - - $key: Desktops - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_293 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_294 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_295 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: desktop_name - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - name: desktopName - description: The name of the desktop within the specified desktop group - cliKey: desktopName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_293 - - *ref_294 - - *ref_295 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: get - description: Get a desktop. - cli: - name: Get - description: Get a desktop. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_307 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_308 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_309 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: desktop_name - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - name: desktopName - description: The name of the desktop within the specified desktop group - cliKey: desktopName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_297 - schema: *ref_296 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _desktop - description: Object containing Desktop definitions. - cli: - name: _desktop - description: Object containing Desktop definitions. - cliKey: desktop - protocol: - http: - in: body - style: json - - &ref_304 - schema: *ref_39 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_298 - language: - default: - name: tags - description: tags to be updated - cli: *ref_299 - protocol: {} - - &ref_305 - schema: *ref_108 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_300 - language: - default: - name: description - description: Description of Desktop. - cli: *ref_301 - protocol: {} - - &ref_306 - schema: *ref_109 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_302 - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: *ref_303 - protocol: {} - signatureParameters: - - *ref_304 - - *ref_305 - - *ref_306 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_307 - - *ref_308 - - *ref_309 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktop: - properties: - description: des1 - friendlyName: friendly - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: update - description: Update a desktop. - cli: - name: Update - description: Update a desktop. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_310 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_311 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' - method: get - uri: '{$host}' - signatureParameters: - - *ref_310 - - *ref_311 - responses: - - schema: *ref_312 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: list - description: List desktops. - cli: - name: List - description: List desktops. - cliKey: List - protocol: {} - language: - default: - name: Desktop - description: '' - cli: - name: Desktop - description: '' - cliKey: Desktops - hidden: true - protocol: {} - - $key: HostPools - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_313 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_314 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_313 - - *ref_314 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get a host pool. - cli: - name: Get - description: Get a host pool. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_354 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_355 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_315 - schema: *ref_36 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _host_pool - description: Object containing HostPool definitions. - cli: - name: _host_pool - description: Object containing HostPool definitions. - cliKey: hostPool - protocol: - http: - in: body - style: json - - &ref_340 - schema: *ref_37 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_341 - schema: *ref_38 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_342 - schema: *ref_19 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_316 - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: *ref_317 - protocol: {} - - &ref_343 - schema: *ref_20 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_318 - language: - default: - name: description - description: Description of HostPool. - cli: *ref_319 - protocol: {} - - &ref_344 - schema: *ref_21 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_320 - language: - default: - name: host_pool_type - description: HostPool type for desktop. - cli: *ref_321 - protocol: {} - - &ref_345 - schema: *ref_22 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_322 - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: *ref_323 - protocol: {} - - &ref_346 - schema: *ref_23 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_324 - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: *ref_325 - protocol: {} - - &ref_347 - schema: *ref_24 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_326 - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: *ref_327 - protocol: {} - - &ref_348 - schema: *ref_25 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_328 - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: *ref_329 - protocol: {} - - &ref_349 - schema: *ref_26 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_330 - language: - default: - name: ring - description: The ring number of HostPool. - cli: *ref_331 - protocol: {} - - &ref_350 - schema: *ref_27 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_332 - language: - default: - name: validation_environment - description: Is validation environment. - cli: *ref_333 - protocol: {} - - &ref_351 - schema: *ref_111 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_334 - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: *ref_335 - protocol: {} - - &ref_352 - schema: *ref_31 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_336 - language: - default: - name: vm_template - description: VM template for sessionhosts configuration within hostpool. - cli: *ref_337 - protocol: {} - - &ref_353 - schema: *ref_33 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_338 - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: *ref_339 - protocol: {} - signatureParameters: - - *ref_340 - - *ref_341 - - *ref_342 - - *ref_343 - - *ref_344 - - *ref_345 - - *ref_346 - - *ref_347 - - *ref_348 - - *ref_349 - - *ref_350 - - *ref_351 - - *ref_352 - - *ref_353 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_354 - - *ref_355 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Create: - parameters: - api-version: 2019-12-10-preview - hostPool: - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '201': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update a host pool. - cli: - name: CreateOrUpdate - description: Create or update a host pool. - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_357 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_358 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_359 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to delete sessionHost. - serializedName: force - cli: - name: force - description: Force flag to delete sessionHost. - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_357 - - *ref_358 - - *ref_359 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove a host pool. - cli: - name: Delete - description: Remove a host pool. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_394 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_395 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_360 - schema: *ref_87 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _host_pool - description: Object containing HostPool definitions. - cli: - name: _host_pool - description: Object containing HostPool definitions. - cliKey: hostPool - protocol: - http: - in: body - style: json - - &ref_383 - schema: *ref_39 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_361 - language: - default: - name: tags - description: tags to be updated - cli: *ref_362 - protocol: {} - - &ref_384 - schema: *ref_61 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_363 - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: *ref_364 - protocol: {} - - &ref_385 - schema: *ref_62 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_365 - language: - default: - name: description - description: Description of HostPool. - cli: *ref_366 - protocol: {} - - &ref_386 - schema: *ref_63 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_367 - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: *ref_368 - protocol: {} - - &ref_387 - schema: *ref_24 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_369 - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: *ref_370 - protocol: {} - - &ref_388 - schema: *ref_22 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_371 - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: *ref_372 - protocol: {} - - &ref_389 - schema: *ref_25 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_373 - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: *ref_374 - protocol: {} - - &ref_390 - schema: *ref_26 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_375 - language: - default: - name: ring - description: The ring number of HostPool. - cli: *ref_376 - protocol: {} - - &ref_391 - schema: *ref_27 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_377 - language: - default: - name: validation_environment - description: Is validation environment. - cli: *ref_378 - protocol: {} - - &ref_392 - schema: *ref_112 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_379 - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: *ref_380 - protocol: {} - - &ref_393 - schema: *ref_64 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_381 - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: *ref_382 - protocol: {} - signatureParameters: - - *ref_383 - - *ref_384 - - *ref_385 - - *ref_386 - - *ref_387 - - *ref_388 - - *ref_389 - - *ref_390 - - *ref_391 - - *ref_392 - - *ref_393 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_394 - - *ref_395 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Update: - parameters: - api-version: 2019-12-10-preview - hostPool: - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-02T14:01:54.9571247Z' - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update a host pool. - cli: - name: Update - description: Update a host pool. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_396 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: - - *ref_396 - responses: - - schema: *ref_397 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List hostPools. - paging: - nextLinkName: nextLink - cli: - name: ListByResourceGroup - description: List hostPools. - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_397 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_List: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List hostPools in subscription. - paging: - nextLinkName: nextLink - cli: - name: List - description: List hostPools in subscription. - cliKey: List - protocol: {} - language: - default: - name: HostPool - description: '' - cli: - name: HostPool - description: '' - cliKey: HostPools - protocol: {} - - $key: UserSessions - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_398 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_399 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_400 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_398 - - *ref_399 - - *ref_400 - responses: - - schema: *ref_401 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_ListByHostPool: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_host_pool - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - name: ListByHostPool - description: List userSessions. - cliKey: ListByHostPool - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_404 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_405 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_406 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_407 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - name: userSessionId - description: The name of the user session within the specified session host - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_404 - - *ref_405 - - *ref_406 - - *ref_407 - responses: - - schema: *ref_88 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - body: - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - language: - default: - name: get - description: Get a userSession. - cli: - name: Get - description: Get a userSession. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_408 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_409 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_410 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_411 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - name: userSessionId - description: The name of the user session within the specified session host - cliKey: userSessionId - protocol: - http: - in: path - - &ref_412 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to login off userSession. - serializedName: force - cli: - name: force - description: Force flag to login off userSession. - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_408 - - *ref_409 - - *ref_410 - - *ref_411 - - *ref_412 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - '204': {} - language: - default: - name: delete - description: Remove a userSession. - cli: - name: Delete - description: Remove a userSession. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_413 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_414 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_415 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_413 - - *ref_414 - - *ref_415 - responses: - - schema: *ref_401 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - name: List - description: List userSessions. - cliKey: List - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_416 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_417 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_418 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_419 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - name: userSessionId - description: The name of the user session within the specified session host - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' - method: post - uri: '{$host}' - signatureParameters: - - *ref_416 - - *ref_417 - - *ref_418 - - *ref_419 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Disconnect_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: disconnect - description: Disconnect a userSession. - cli: - name: Disconnect - description: Disconnect a userSession. - cliKey: Disconnect - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_428 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_429 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_430 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_431 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - name: userSessionId - description: The name of the user session within the specified session host - cliKey: userSessionId - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_421 - schema: *ref_420 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _send_message - description: Object containing message includes title and message body - cli: - name: _send_message - description: Object containing message includes title and message body - cliKey: sendMessage - protocol: - http: - in: body - style: json - - &ref_426 - schema: *ref_116 - implementation: Method - originalParameter: *ref_421 - pathToProperty: [] - targetProperty: *ref_422 - language: - default: - name: message_title - description: Title of message. - cli: *ref_423 - protocol: {} - - &ref_427 - schema: *ref_117 - implementation: Method - originalParameter: *ref_421 - pathToProperty: [] - targetProperty: *ref_424 - language: - default: - name: message_body - description: Body of message. - cli: *ref_425 - protocol: {} - signatureParameters: - - *ref_426 - - *ref_427 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' - method: post - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_428 - - *ref_429 - - *ref_430 - - *ref_431 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_SendMessage_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sendMessage: - messageBody: body - messageTitle: title - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: send_message - description: Send a message to a user. - cli: - name: SendMessage - description: Send a message to a user. - cliKey: SendMessage - protocol: {} - language: - default: - name: UserSession - description: '' - cli: - name: UserSession - description: '' - cliKey: UserSessions - hidden: true - protocol: {} - - $key: SessionHosts - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_432 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_433 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_434 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_432 - - *ref_433 - - *ref_434 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: get - description: Get a session host. - cli: - name: Get - description: Get a session host. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_435 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_436 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_437 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_438 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to force sessionHost deletion even when userSession exists. - serializedName: force - cli: - name: force - description: Force flag to force sessionHost deletion even when userSession exists. - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_435 - - *ref_436 - - *ref_437 - - *ref_438 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - '204': {} - language: - default: - name: delete - description: Remove a SessionHost. - cli: - name: Delete - description: Remove a SessionHost. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_446 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_447 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_448 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_439 - schema: *ref_90 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _session_host - description: Object containing SessionHost definitions. - cli: - name: _session_host - description: Object containing SessionHost definitions. - cliKey: sessionHost - protocol: - http: - in: body - style: json - - &ref_444 - schema: *ref_73 - implementation: Method - originalParameter: *ref_439 - pathToProperty: [] - targetProperty: *ref_440 - language: - default: - name: allow_new_session - description: Allow a new session. - cli: *ref_441 - protocol: {} - - &ref_445 - schema: *ref_82 - implementation: Method - originalParameter: *ref_439 - pathToProperty: [] - targetProperty: *ref_442 - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: *ref_443 - protocol: {} - signatureParameters: - - *ref_444 - - *ref_445 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_446 - - *ref_447 - - *ref_448 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Update: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHost: - properties: - allowNewSession: true - assignedUser: user1@microsoft.com - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2019-01-11T19:27:13.6108027Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2019-01-24T20:00:08.2893033Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: update - description: Update a session host. - cli: - name: Update - description: Update a session host. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_449 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_450 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' - method: get - uri: '{$host}' - signatureParameters: - - *ref_449 - - *ref_450 - responses: - - schema: *ref_451 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - - name: sessionHost2.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user2@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List sessionHosts. - paging: - nextLinkName: nextLink - cli: - name: List - description: List sessionHosts. - cliKey: List - protocol: {} - language: - default: - name: SessionHost - description: '' - cli: - name: SessionHost - description: '' - cliKey: SessionHosts - hidden: true - protocol: {} - - $key: ActiveApplications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_452 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_453 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_454 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_455 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_452 - - *ref_453 - - *ref_454 - - *ref_455 - responses: - - schema: *ref_292 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ActiveApplications_List: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_session_host - description: List applications for the given session host. - paging: - nextLinkName: nextLink - cli: - name: ListBySessionHost - description: List applications for the given session host. - cliKey: ListBySessionHost - protocol: {} - language: - default: - name: ActiveApplication - description: '' - cli: - name: ActiveApplication - description: '' - cliKey: ActiveApplications - hidden: true - protocol: {} -language: - default: - name: DesktopVirtualizationAPIClient - description: '' - cli: - name: DesktopVirtualizationAPIClient - description: '' -protocol: - http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000120-complex-marker-pre-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000120-complex-marker-pre-simplified.yaml deleted file mode 100644 index 893109e1471..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000120-complex-marker-pre-simplified.yaml +++ /dev/null @@ -1,2383 +0,0 @@ -operationGroups: - all: - - operationGroupName: Operation - cli: - cliKey: Operations - operations: - - operationName: list - cli: - name: List - cliKey: List - hidden: true - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - operationGroupName: Workspace - cli: - cliKey: Workspaces - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - name: workspaceName - cliKey: workspaceName - - operationName: create_or_update - cli: - name: CreateOrUpdate - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - name: workspaceName - cliKey: workspaceName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _workspace(Workspace^object) - cli: - cliKey: workspace - x-ms-client-flatten: true - bodySchema: Workspace - - parameterName[0]: tags(TrackedResourceTags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(TrackedResourceLocation^string) - cli: - cliKey: location - - parameterName[0]: description(WorkspacePropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(WorkspacePropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: application_group_references(WorkspacePropertiesApplicationGroupReferences^array) - cli: - name: applicationGroupReferences - cliKey: applicationGroupReferences - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - name: workspaceName - cliKey: workspaceName - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - name: workspaceName - cliKey: workspaceName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _workspace(WorkspacePatch^object) - cli: - cliKey: workspace - x-ms-client-flatten: true - bodySchema: WorkspacePatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(WorkspacePatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(WorkspacePatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: application_group_references(WorkspacePatchPropertiesApplicationGroupReferences^array) - cli: - name: applicationGroupReferences - cliKey: applicationGroupReferences - - operationName: list_by_resource_group - cli: - name: ListByResourceGroup - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - operationName: list_by_subscription - cli: - name: ListBySubscription - cliKey: ListBySubscription - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - operationGroupName: ApplicationGroupAssignment - cli: - cliKey: ApplicationGroupAssignments - hidden: true - operations: - - operationName: workspace_level_list - cli: - name: WorkspaceLevelList - cliKey: WorkspaceLevelList - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - name: workspaceName - cliKey: workspaceName - - parameterName: filter(String^string) - cli: - cliKey: $filter - - operationGroupName: ApplicationGroup - cli: - cliKey: ApplicationGroups - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - operationName: create_or_update - cli: - name: CreateOrUpdate - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _application_group(ApplicationGroup^object) - cli: - cliKey: applicationGroup - x-ms-client-flatten: true - bodySchema: ApplicationGroup - - parameterName[0]: tags(TrackedResourceTags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(TrackedResourceLocation^string) - cli: - cliKey: location - - parameterName[0]: description(ApplicationGroupPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(ApplicationGroupPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: host_pool_arm_path(ApplicationGroupPropertiesHostPoolArmPath^string) - cli: - name: hostPoolArmPath - cliKey: hostPoolArmPath - - parameterName[0]: application_group_type(ApplicationGroupType^choice) - cli: - name: applicationGroupType - cliKey: applicationGroupType - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _application_group(ApplicationGroupPatch^object) - cli: - cliKey: applicationGroup - x-ms-client-flatten: true - bodySchema: ApplicationGroupPatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(ApplicationGroupPatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(ApplicationGroupPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - operationName: list_by_resource_group - cli: - name: ListByResourceGroup - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: filter(String^string) - cli: - cliKey: $filter - - operationName: list_by_subscription - cli: - name: ListBySubscription - cliKey: ListBySubscription - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: filter(String^string) - cli: - cliKey: $filter - - operationGroupName: StartMenuItem - cli: - cliKey: StartMenuItems - hidden: true - operations: - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - operationGroupName: Application - cli: - cliKey: Applications - hidden: true - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: application_name(String^string) - cli: - name: applicationName - cliKey: applicationName - - operationName: create_or_update - cli: - name: CreateOrUpdate - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: application_name(String^string) - cli: - name: applicationName - cliKey: applicationName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _application(Application^object) - cli: - cliKey: application - x-ms-client-flatten: true - bodySchema: Application - - parameterName[0]: description(ApplicationPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(ApplicationPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: file_path(ApplicationPropertiesFilePath^string) - cli: - name: filePath - cliKey: filePath - - parameterName[0]: command_line_setting(CommandLineSetting^choice) - cli: - name: commandLineSetting - cliKey: commandLineSetting - - parameterName[0]: command_line_arguments(ApplicationPropertiesCommandLineArguments^string) - cli: - name: commandLineArguments - cliKey: commandLineArguments - - parameterName[0]: show_in_portal(boolean^boolean) - cli: - name: showInPortal - cliKey: showInPortal - - parameterName[0]: icon_path(ApplicationPropertiesIconPath^string) - cli: - name: iconPath - cliKey: iconPath - - parameterName[0]: icon_index(Integer^integer) - cli: - name: iconIndex - cliKey: iconIndex - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: application_name(String^string) - cli: - name: applicationName - cliKey: applicationName - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: application_name(String^string) - cli: - name: applicationName - cliKey: applicationName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _application(ApplicationPatch^object) - cli: - cliKey: application - x-ms-client-flatten: true - bodySchema: ApplicationPatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(ApplicationPatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(ApplicationPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: file_path(ApplicationPatchPropertiesFilePath^string) - cli: - name: filePath - cliKey: filePath - - parameterName[0]: command_line_setting(CommandLineSetting^choice) - cli: - name: commandLineSetting - cliKey: commandLineSetting - - parameterName[0]: command_line_arguments(ApplicationPatchPropertiesCommandLineArguments^string) - cli: - name: commandLineArguments - cliKey: commandLineArguments - - parameterName[0]: show_in_portal(boolean^boolean) - cli: - name: showInPortal - cliKey: showInPortal - - parameterName[0]: icon_path(ApplicationPatchPropertiesIconPath^string) - cli: - name: iconPath - cliKey: iconPath - - parameterName[0]: icon_index(Integer^integer) - cli: - name: iconIndex - cliKey: iconIndex - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - operationGroupName: Desktop - cli: - cliKey: Desktops - hidden: true - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: desktop_name(String^string) - cli: - name: desktopName - cliKey: desktopName - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: desktop_name(String^string) - cli: - name: desktopName - cliKey: desktopName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _desktop(DesktopPatch^object) - cli: - cliKey: desktop - x-ms-client-flatten: true - bodySchema: DesktopPatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(DesktopPatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(DesktopPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - operationGroupName: HostPool - cli: - cliKey: HostPools - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - operationName: create_or_update - cli: - name: CreateOrUpdate - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _host_pool(HostPool^object) - cli: - cliKey: hostPool - x-ms-client-flatten: true - bodySchema: HostPool - - parameterName[0]: tags(TrackedResourceTags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(TrackedResourceLocation^string) - cli: - cliKey: location - - parameterName[0]: friendly_name(HostPoolPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: description(HostPoolPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: host_pool_type(HostPoolType^choice) - cli: - name: hostPoolType - cliKey: hostPoolType - - parameterName[0]: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) - cli: - name: personalDesktopAssignmentType - cliKey: personalDesktopAssignmentType - - parameterName[0]: custom_rdp_property(HostPoolPropertiesCustomRdpProperty^string) - cli: - name: customRdpProperty - cliKey: customRdpProperty - - parameterName[0]: max_session_limit(Integer^integer) - cli: - name: maxSessionLimit - cliKey: maxSessionLimit - - parameterName[0]: load_balancer_type(LoadBalancerType^choice) - cli: - name: loadBalancerType - cliKey: loadBalancerType - - parameterName[0]: ring(Integer^integer) - cli: - cliKey: ring - - parameterName[0]: validation_environment(boolean^boolean) - cli: - name: validationEnvironment - cliKey: validationEnvironment - - parameterName[0]: registration_info(RegistrationInfo^object) - cli: - name: registrationInfo - cliKey: registrationInfo - - parameterName[0]: vm_template(HostPoolPropertiesVmTemplate^string) - cli: - name: vmTemplate - cliKey: vmTemplate - - parameterName[0]: sso_context(HostPoolPropertiesSsoContext^string) - cli: - name: ssoContext - cliKey: ssoContext - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _host_pool(HostPoolPatch^object) - cli: - cliKey: hostPool - x-ms-client-flatten: true - bodySchema: HostPoolPatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: friendly_name(HostPoolPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: description(HostPoolPatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: custom_rdp_property(HostPoolPatchPropertiesCustomRdpProperty^string) - cli: - name: customRdpProperty - cliKey: customRdpProperty - - parameterName[0]: max_session_limit(Integer^integer) - cli: - name: maxSessionLimit - cliKey: maxSessionLimit - - parameterName[0]: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) - cli: - name: personalDesktopAssignmentType - cliKey: personalDesktopAssignmentType - - parameterName[0]: load_balancer_type(LoadBalancerType^choice) - cli: - name: loadBalancerType - cliKey: loadBalancerType - - parameterName[0]: ring(Integer^integer) - cli: - cliKey: ring - - parameterName[0]: validation_environment(boolean^boolean) - cli: - name: validationEnvironment - cliKey: validationEnvironment - - parameterName[0]: registration_info(RegistrationInfoPatch^object) - cli: - name: registrationInfo - cliKey: registrationInfo - - parameterName[0]: sso_context(HostPoolPatchPropertiesSsoContext^string) - cli: - name: ssoContext - cliKey: ssoContext - - operationName: list_by_resource_group - cli: - name: ListByResourceGroup - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - operationGroupName: UserSession - cli: - cliKey: UserSessions - hidden: true - operations: - - operationName: list_by_host_pool - cli: - name: ListByHostPool - cliKey: ListByHostPool - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: filter(String^string) - cli: - cliKey: $filter - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: user_session_id(String^string) - cli: - name: userSessionId - cliKey: userSessionId - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: user_session_id(String^string) - cli: - name: userSessionId - cliKey: userSessionId - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - operationName: disconnect - cli: - name: Disconnect - cliKey: Disconnect - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: user_session_id(String^string) - cli: - name: userSessionId - cliKey: userSessionId - - operationName: send_message - cli: - name: SendMessage - cliKey: SendMessage - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: user_session_id(String^string) - cli: - name: userSessionId - cliKey: userSessionId - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _send_message(SendMessage^object) - cli: - cliKey: sendMessage - x-ms-client-flatten: true - bodySchema: SendMessage - - parameterName[0]: message_title(SendMessageTitle^string) - cli: - name: messageTitle - cliKey: messageTitle - - parameterName[0]: message_body(SendMessageBody^string) - cli: - name: messageBody - cliKey: messageBody - - operationGroupName: SessionHost - cli: - cliKey: SessionHosts - hidden: true - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _session_host(SessionHostPatch^object) - cli: - cliKey: sessionHost - x-ms-client-flatten: true - bodySchema: SessionHostPatch - - parameterName[0]: allow_new_session(boolean^boolean) - cli: - name: allowNewSession - cliKey: allowNewSession - - parameterName[0]: assigned_user(SessionHostPatchPropertiesAssignedUser^string) - cli: - name: assignedUser - cliKey: assignedUser - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - operationGroupName: ActiveApplication - cli: - cliKey: ActiveApplications - hidden: true - operations: - - operationName: list_by_session_host - cli: - name: ListBySessionHost - cliKey: ListBySessionHost - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: filter(String^string) - cli: - cliKey: $filter -schemas: - objects: - all: - - schemaName: ResourceProviderOperationList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ResourceProviderOperationList - properties: - - propertyName: value(ResourceProviderOperationListValue^array) - cli: - cliKey: value - - schemaName: ResourceProviderOperation - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ResourceProviderOperation - properties: - - propertyName: name(ResourceProviderOperationName^string) - cli: - cliKey: name - - propertyName: display(ResourceProviderOperationDisplay^object) - cli: - cliKey: display - - schemaName: ResourceProviderOperationDisplay - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ResourceProviderOperation-display - properties: - - propertyName: provider(ResourceProviderOperationDisplayProvider^string) - cli: - cliKey: provider - - propertyName: resource(ResourceProviderOperationDisplayResource^string) - cli: - cliKey: resource - - propertyName: operation(ResourceProviderOperationDisplayOperation^string) - cli: - cliKey: operation - - propertyName: description(ResourceProviderOperationDisplayDescription^string) - cli: - cliKey: description - - schemaName: Resource - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 0 - propertyCountIfSimplifyWithoutSimpleObject: 0 - simplifiable: true - cliKey: Resource - properties: - - propertyName: id(ResourceId^string) - cli: - cliKey: id - readOnly: true - - propertyName: name(ResourceName^string) - cli: - cliKey: name - readOnly: true - - propertyName: type(ResourceType^string) - cli: - cliKey: type - readOnly: true - - schemaName: TrackedResource - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: TrackedResource - properties: - - propertyName: tags(TrackedResourceTags^dictionary) - cli: - cliKey: tags - - propertyName: location(TrackedResourceLocation^string) - cli: - cliKey: location - - schemaName: Workspace - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: Workspace - properties: - - propertyName: description(WorkspacePropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(WorkspacePropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: application_group_references(WorkspacePropertiesApplicationGroupReferences^array) - cli: - name: applicationGroupReferences - cliKey: applicationGroupReferences - - schemaName: CloudError - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: CloudError - properties: - - propertyName: code(CloudErrorCode^string) - cli: - cliKey: code - - propertyName: message(CloudErrorMessage^string) - cli: - cliKey: message - - schemaName: WorkspacePatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(WorkspacePatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(WorkspacePatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: application_group_references(WorkspacePatchPropertiesApplicationGroupReferences^array) - cli: - name: applicationGroupReferences - cliKey: applicationGroupReferences - - schemaName: WorkspaceList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceList - properties: - - propertyName: value(WorkspaceListValue^array) - cli: - cliKey: value - - propertyName: next_link(WorkspaceListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: ApplicationGroupList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupList - properties: - - propertyName: value(ApplicationGroupListValue^array) - cli: - cliKey: value - - propertyName: next_link(ApplicationGroupListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: ApplicationGroup - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroup - properties: - - propertyName: description(ApplicationGroupPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(ApplicationGroupPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: host_pool_arm_path(ApplicationGroupPropertiesHostPoolArmPath^string) - cli: - name: hostPoolArmPath - cliKey: hostPoolArmPath - - propertyName: workspace_arm_path(ApplicationGroupPropertiesWorkspaceArmPath^string) - cli: - name: workspaceArmPath - cliKey: workspaceArmPath - readOnly: true - - propertyName: application_group_type(ApplicationGroupType^choice) - cli: - name: applicationGroupType - cliKey: applicationGroupType - - schemaName: ApplicationGroupPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(ApplicationGroupPatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(ApplicationGroupPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - schemaName: StartMenuItemList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: StartMenuItemList - properties: - - propertyName: value(StartMenuItemListValue^array) - cli: - cliKey: value - - propertyName: next_link(StartMenuItemListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: StartMenuItem - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: StartMenuItem - properties: - - propertyName: app_alias(StartMenuItemPropertiesAppAlias^string) - cli: - name: appAlias - cliKey: appAlias - - propertyName: friendly_name(StartMenuItemPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: file_path(StartMenuItemPropertiesFilePath^string) - cli: - name: filePath - cliKey: filePath - - propertyName: command_line_arguments(StartMenuItemPropertiesCommandLineArguments^string) - cli: - name: commandLineArguments - cliKey: commandLineArguments - - propertyName: icon_path(StartMenuItemPropertiesIconPath^string) - cli: - name: iconPath - cliKey: iconPath - - propertyName: icon_index(Integer^integer) - cli: - name: iconIndex - cliKey: iconIndex - - schemaName: Application - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Application - properties: - - propertyName: description(ApplicationPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(ApplicationPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: file_path(ApplicationPropertiesFilePath^string) - cli: - name: filePath - cliKey: filePath - - propertyName: command_line_setting(CommandLineSetting^choice) - cli: - name: commandLineSetting - cliKey: commandLineSetting - - propertyName: command_line_arguments(ApplicationPropertiesCommandLineArguments^string) - cli: - name: commandLineArguments - cliKey: commandLineArguments - - propertyName: show_in_portal(boolean^boolean) - cli: - name: showInPortal - cliKey: showInPortal - - propertyName: icon_path(ApplicationPropertiesIconPath^string) - cli: - name: iconPath - cliKey: iconPath - - propertyName: icon_index(Integer^integer) - cli: - name: iconIndex - cliKey: iconIndex - - propertyName: icon_hash(ApplicationPropertiesIconHash^string) - cli: - name: iconHash - cliKey: iconHash - readOnly: true - - propertyName: icon_content(application_properties_icon_content^byte-array) - cli: - name: iconContent - cliKey: iconContent - readOnly: true - - schemaName: ApplicationPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(ApplicationPatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(ApplicationPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: file_path(ApplicationPatchPropertiesFilePath^string) - cli: - name: filePath - cliKey: filePath - - propertyName: command_line_setting(CommandLineSetting^choice) - cli: - name: commandLineSetting - cliKey: commandLineSetting - - propertyName: command_line_arguments(ApplicationPatchPropertiesCommandLineArguments^string) - cli: - name: commandLineArguments - cliKey: commandLineArguments - - propertyName: show_in_portal(boolean^boolean) - cli: - name: showInPortal - cliKey: showInPortal - - propertyName: icon_path(ApplicationPatchPropertiesIconPath^string) - cli: - name: iconPath - cliKey: iconPath - - propertyName: icon_index(Integer^integer) - cli: - name: iconIndex - cliKey: iconIndex - - schemaName: ApplicationList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationList - properties: - - propertyName: value(ApplicationListValue^array) - cli: - cliKey: value - - propertyName: next_link(ApplicationListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: Desktop - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Desktop - properties: - - propertyName: description(DesktopPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(DesktopPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: icon_hash(DesktopPropertiesIconHash^string) - cli: - name: iconHash - cliKey: iconHash - readOnly: true - - propertyName: icon_content(desktop_properties_icon_content^byte-array) - cli: - name: iconContent - cliKey: iconContent - readOnly: true - - schemaName: DesktopPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(DesktopPatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(DesktopPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - schemaName: DesktopList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopList - properties: - - propertyName: value(DesktopListValue^array) - cli: - cliKey: value - - propertyName: next_link(DesktopListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: HostPool - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPool - properties: - - propertyName: friendly_name(HostPoolPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: description(HostPoolPropertiesDescription^string) - cli: - cliKey: description - - propertyName: host_pool_type(HostPoolType^choice) - cli: - name: hostPoolType - cliKey: hostPoolType - - propertyName: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) - cli: - name: personalDesktopAssignmentType - cliKey: personalDesktopAssignmentType - - propertyName: custom_rdp_property(HostPoolPropertiesCustomRdpProperty^string) - cli: - name: customRdpProperty - cliKey: customRdpProperty - - propertyName: max_session_limit(Integer^integer) - cli: - name: maxSessionLimit - cliKey: maxSessionLimit - - propertyName: load_balancer_type(LoadBalancerType^choice) - cli: - name: loadBalancerType - cliKey: loadBalancerType - - propertyName: ring(Integer^integer) - cli: - cliKey: ring - - propertyName: validation_environment(boolean^boolean) - cli: - name: validationEnvironment - cliKey: validationEnvironment - - propertyName: registration_info(RegistrationInfo^object) - cli: - name: registrationInfo - cliKey: registrationInfo - - propertyName: vm_template(HostPoolPropertiesVmTemplate^string) - cli: - name: vmTemplate - cliKey: vmTemplate - - propertyName: application_group_references(HostPoolPropertiesApplicationGroupReferences^array) - cli: - name: applicationGroupReferences - cliKey: applicationGroupReferences - readOnly: true - - propertyName: sso_context(HostPoolPropertiesSsoContext^string) - cli: - name: ssoContext - cliKey: ssoContext - - schemaName: RegistrationInfo - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 3 - propertyCountIfSimplifyWithoutSimpleObject: 3 - simplifiable: true - cliKey: RegistrationInfo - properties: - - propertyName: expiration_time(registration_info_expiration_time^date-time) - cli: - name: expirationTime - cliKey: expirationTime - - propertyName: token(RegistrationInfoToken^string) - cli: - cliKey: token - - propertyName: registration_token_operation(RegistrationTokenOperation^choice) - cli: - name: registrationTokenOperation - cliKey: registrationTokenOperation - - schemaName: HostPoolPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolPatch - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: friendly_name(HostPoolPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: description(HostPoolPatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: custom_rdp_property(HostPoolPatchPropertiesCustomRdpProperty^string) - cli: - name: customRdpProperty - cliKey: customRdpProperty - - propertyName: max_session_limit(Integer^integer) - cli: - name: maxSessionLimit - cliKey: maxSessionLimit - - propertyName: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) - cli: - name: personalDesktopAssignmentType - cliKey: personalDesktopAssignmentType - - propertyName: load_balancer_type(LoadBalancerType^choice) - cli: - name: loadBalancerType - cliKey: loadBalancerType - - propertyName: ring(Integer^integer) - cli: - cliKey: ring - - propertyName: validation_environment(boolean^boolean) - cli: - name: validationEnvironment - cliKey: validationEnvironment - - propertyName: registration_info(RegistrationInfoPatch^object) - cli: - name: registrationInfo - cliKey: registrationInfo - - propertyName: sso_context(HostPoolPatchPropertiesSsoContext^string) - cli: - name: ssoContext - cliKey: ssoContext - - schemaName: RegistrationInfoPatch - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 1 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: RegistrationInfoPatch - properties: - - propertyName: registration_token_operation(RegistrationTokenOperation^choice) - cli: - name: registrationTokenOperation - cliKey: registrationTokenOperation - - schemaName: HostPoolList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolList - properties: - - propertyName: value(HostPoolListValue^array) - cli: - cliKey: value - - propertyName: next_link(HostPoolListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: UserSessionList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: UserSessionList - properties: - - propertyName: value(UserSessionListValue^array) - cli: - cliKey: value - - propertyName: next_link(UserSessionListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: UserSession - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: UserSession - properties: - - propertyName: user_principal_name(UserSessionPropertiesUserPrincipalName^string) - cli: - name: userPrincipalName - cliKey: userPrincipalName - - propertyName: application_type(ApplicationType^choice) - cli: - name: applicationType - cliKey: applicationType - - propertyName: session_state(SessionState^choice) - cli: - name: sessionState - cliKey: sessionState - - propertyName: active_directory_user_name(UserSessionPropertiesActiveDirectoryUserName^string) - cli: - name: activeDirectoryUserName - cliKey: activeDirectoryUserName - - propertyName: create_time(user_session_properties_create_time^date-time) - cli: - name: createTime - cliKey: createTime - - schemaName: SessionHost - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHost - properties: - - propertyName: last_heart_beat(session_host_properties_last_heart_beat^date-time) - cli: - name: lastHeartBeat - cliKey: lastHeartBeat - - propertyName: sessions(Integer^integer) - cli: - cliKey: sessions - - propertyName: agent_version(SessionHostPropertiesAgentVersion^string) - cli: - name: agentVersion - cliKey: agentVersion - - propertyName: allow_new_session(boolean^boolean) - cli: - name: allowNewSession - cliKey: allowNewSession - - propertyName: assigned_user(SessionHostPropertiesAssignedUser^string) - cli: - name: assignedUser - cliKey: assignedUser - - propertyName: status(Status^choice) - cli: - cliKey: status - - propertyName: status_timestamp(session_host_properties_status_timestamp^date-time) - cli: - name: statusTimestamp - cliKey: statusTimestamp - readOnly: true - - propertyName: os_version(SessionHostPropertiesOsVersion^string) - cli: - name: osVersion - cliKey: osVersion - - propertyName: sx_s_stack_version(SessionHostPropertiesSxSStackVersion^string) - cli: - name: sxSStackVersion - cliKey: sxSStackVersion - - propertyName: update_state(UpdateState^choice) - cli: - name: updateState - cliKey: updateState - - propertyName: last_update_time(session_host_properties_last_update_time^date-time) - cli: - name: lastUpdateTime - cliKey: lastUpdateTime - readOnly: true - - propertyName: update_error_message(SessionHostPropertiesUpdateErrorMessage^string) - cli: - name: updateErrorMessage - cliKey: updateErrorMessage - - schemaName: SessionHostPatch - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHostPatch - properties: - - propertyName: allow_new_session(boolean^boolean) - cli: - name: allowNewSession - cliKey: allowNewSession - - propertyName: assigned_user(SessionHostPatchPropertiesAssignedUser^string) - cli: - name: assignedUser - cliKey: assignedUser - - schemaName: SessionHostList - cli: - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: SessionHostList - properties: - - propertyName: value(SessionHostListValue^array) - cli: - cliKey: value - - propertyName: next_link(SessionHostListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: SendMessage - cli: - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SendMessage - properties: - - propertyName: message_title(SendMessageTitle^string) - cli: - name: messageTitle - cliKey: messageTitle - - propertyName: message_body(SendMessageBody^string) - cli: - name: messageBody - cliKey: messageBody - choices: - all: - - choiceName: ApplicationGroupType - cli: - cliKey: ApplicationGroupType - choiceValues: - - choiceValue: remote_app - cli: - name: RemoteApp - cliKey: RemoteApp - - choiceValue: desktop - cli: - name: Desktop - cliKey: Desktop - - choiceName: CommandLineSetting - cli: - cliKey: CommandLineSetting - choiceValues: - - choiceValue: do_not_allow - cli: - name: DoNotAllow - cliKey: DoNotAllow - - choiceValue: allow - cli: - name: Allow - cliKey: Allow - - choiceValue: require - cli: - name: Require - cliKey: Require - - choiceName: HostPoolType - cli: - cliKey: HostPoolType - choiceValues: - - choiceValue: personal - cli: - name: Personal - cliKey: Personal - - choiceValue: pooled - cli: - name: Pooled - cliKey: Pooled - - choiceName: PersonalDesktopAssignmentType - cli: - cliKey: PersonalDesktopAssignmentType - choiceValues: - - choiceValue: automatic - cli: - name: Automatic - cliKey: Automatic - - choiceValue: direct - cli: - name: Direct - cliKey: Direct - - choiceName: LoadBalancerType - cli: - cliKey: LoadBalancerType - choiceValues: - - choiceValue: breadth_first - cli: - name: BreadthFirst - cliKey: BreadthFirst - - choiceValue: depth_first - cli: - name: DepthFirst - cliKey: DepthFirst - - choiceValue: persistent - cli: - name: Persistent - cliKey: Persistent - - choiceName: RegistrationTokenOperation - cli: - cliKey: RegistrationTokenOperation - choiceValues: - - choiceValue: delete - cli: - name: Delete - cliKey: Delete - - choiceValue: none - cli: - name: None - cliKey: None - - choiceValue: update - cli: - name: Update - cliKey: Update - - choiceName: ApplicationType - cli: - cliKey: ApplicationType - choiceValues: - - choiceValue: remote_app - cli: - name: RemoteApp - cliKey: RemoteApp - - choiceValue: desktop - cli: - name: Desktop - cliKey: Desktop - - choiceName: SessionState - cli: - cliKey: SessionState - choiceValues: - - choiceValue: unknown - cli: - name: Unknown - cliKey: Unknown - - choiceValue: active - cli: - name: Active - cliKey: Active - - choiceValue: disconnected - cli: - name: Disconnected - cliKey: Disconnected - - choiceValue: pending - cli: - name: Pending - cliKey: Pending - - choiceValue: log_off - cli: - name: LogOff - cliKey: LogOff - - choiceValue: user_profile_disk_mounted - cli: - name: UserProfileDiskMounted - cliKey: UserProfileDiskMounted - - choiceName: Status - cli: - cliKey: Status - choiceValues: - - choiceValue: available - cli: - name: Available - cliKey: Available - - choiceValue: unavailable - cli: - name: Unavailable - cliKey: Unavailable - - choiceValue: shutdown - cli: - name: Shutdown - cliKey: Shutdown - - choiceValue: disconnected - cli: - name: Disconnected - cliKey: Disconnected - - choiceValue: upgrading - cli: - name: Upgrading - cliKey: Upgrading - - choiceValue: upgrade_failed - cli: - name: UpgradeFailed - cliKey: UpgradeFailed - - choiceName: UpdateState - cli: - cliKey: UpdateState - choiceValues: - - choiceValue: initial - cli: - name: Initial - cliKey: Initial - - choiceValue: pending - cli: - name: Pending - cliKey: Pending - - choiceValue: started - cli: - name: Started - cliKey: Started - - choiceValue: succeeded - cli: - name: Succeeded - cliKey: Succeeded - - choiceValue: failed - cli: - name: Failed - cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000120-complex-marker-pre.yaml b/src/desktopvirtualization/_az_debug/clicommon-000120-complex-marker-pre.yaml deleted file mode 100644 index fcddf16f6e2..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000120-complex-marker-pre.yaml +++ /dev/null @@ -1,11138 +0,0 @@ -info: - title: Desktop Virtualization API Client - extensions: - cli-dump-index: 120 -schemas: - booleans: - - &ref_53 - type: boolean - language: - default: - name: boolean - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - protocol: {} - - &ref_27 - type: boolean - language: - default: - name: boolean - description: Is validation environment. - protocol: {} - - &ref_356 - type: boolean - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: boolean - description: '' - protocol: {} - - &ref_73 - type: boolean - language: - default: - name: boolean - description: Allow a new session. - protocol: {} - numbers: - - &ref_47 - type: integer - precision: 32 - language: - default: - name: Integer - description: Index of the icon. - cli: - name: Integer - description: Index of the icon. - protocol: {} - - &ref_24 - type: integer - precision: 32 - language: - default: - name: Integer - description: The max session limit of HostPool. - cli: - name: Integer - description: The max session limit of HostPool. - protocol: {} - - &ref_26 - type: integer - precision: 32 - language: - default: - name: Integer - description: The ring number of HostPool. - cli: - name: Integer - description: The ring number of HostPool. - protocol: {} - - &ref_71 - type: integer - precision: 32 - language: - default: - name: Integer - description: Number of sessions on SessionHost. - cli: - name: Integer - description: Number of sessions on SessionHost. - protocol: {} - strings: - - &ref_0 - type: string - language: - default: - name: String - description: simple string - cli: - name: String - description: simple string - protocol: {} - - &ref_2 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationName - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cli: - name: ResourceProviderOperationName - description: 'Operation name, in format of {provider}/{resource}/{operation}' - protocol: {} - - &ref_3 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationDisplayProvider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cli: - name: ResourceProviderOperationDisplayProvider - description: 'Resource provider: Microsoft Desktop Virtualization.' - protocol: {} - - &ref_4 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationDisplayResource - description: Resource on which the operation is performed. - cli: - name: ResourceProviderOperationDisplayResource - description: Resource on which the operation is performed. - protocol: {} - - &ref_5 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationDisplayOperation - description: 'Type of operation: get, read, delete, etc.' - cli: - name: ResourceProviderOperationDisplayOperation - description: 'Type of operation: get, read, delete, etc.' - protocol: {} - - &ref_6 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationDisplayDescription - description: Description of this operation. - cli: - name: ResourceProviderOperationDisplayDescription - description: Description of this operation. - protocol: {} - - &ref_130 - type: string - apiVersions: - - version: '1.0' - minLength: 1 - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_136 - type: string - apiVersions: - - version: '1.0' - maxLength: 90 - minLength: 1 - pattern: '^[-\w\._\(\)]+$' - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_137 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 3 - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_91 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: ResourceId - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cli: - name: ResourceId - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - protocol: {} - - &ref_92 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: ResourceName - description: The name of the resource - cli: - name: ResourceName - description: The name of the resource - protocol: {} - - &ref_93 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: ResourceType - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cli: - name: ResourceType - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - protocol: {} - - &ref_1 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_38 - type: string - apiVersions: - - version: '1.0' - extensions: - x-ms-mutability: - - read - - create - language: - default: - name: TrackedResourceLocation - description: The geo-location where the resource lives - cli: - name: TrackedResourceLocation - description: The geo-location where the resource lives - protocol: {} - - &ref_11 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePropertiesDescription - description: Description of Workspace. - cli: - name: WorkspacePropertiesDescription - description: Description of Workspace. - protocol: {} - - &ref_12 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePropertiesFriendlyName - description: Friendly name of Workspace. - cli: - name: WorkspacePropertiesFriendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_13 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePropertiesApplicationGroupReferencesItem - description: '' - cli: - name: WorkspacePropertiesApplicationGroupReferencesItem - description: '' - protocol: {} - - &ref_94 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudErrorCode - description: Error code - cli: - name: CloudErrorCode - description: Error code - protocol: {} - - &ref_95 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudErrorMessage - description: Error message indicating why the operation failed. - cli: - name: CloudErrorMessage - description: Error message indicating why the operation failed. - protocol: {} - - &ref_96 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchPropertiesDescription - description: Description of Workspace. - cli: - name: WorkspacePatchPropertiesDescription - description: Description of Workspace. - protocol: {} - - &ref_97 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchPropertiesFriendlyName - description: Friendly name of Workspace. - cli: - name: WorkspacePatchPropertiesFriendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_98 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchPropertiesApplicationGroupReferencesItem - description: '' - cli: - name: WorkspacePatchPropertiesApplicationGroupReferencesItem - description: '' - protocol: {} - - &ref_99 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceListNextLink - description: Link to the next page of results. - cli: - name: WorkspaceListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_180 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_14 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPropertiesDescription - description: Description of ApplicationGroup. - cli: - name: ApplicationGroupPropertiesDescription - description: Description of ApplicationGroup. - protocol: {} - - &ref_15 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPropertiesFriendlyName - description: Friendly name of ApplicationGroup. - cli: - name: ApplicationGroupPropertiesFriendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_16 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPropertiesHostPoolArmPath - description: HostPool arm path of ApplicationGroup. - cli: - name: ApplicationGroupPropertiesHostPoolArmPath - description: HostPool arm path of ApplicationGroup. - protocol: {} - - &ref_17 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPropertiesWorkspaceArmPath - description: Workspace arm path of ApplicationGroup. - cli: - name: ApplicationGroupPropertiesWorkspaceArmPath - description: Workspace arm path of ApplicationGroup. - protocol: {} - - &ref_100 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupListNextLink - description: Link to the next page of results. - cli: - name: ApplicationGroupListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_40 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchPropertiesDescription - description: Description of ApplicationGroup. - cli: - name: ApplicationGroupPatchPropertiesDescription - description: Description of ApplicationGroup. - protocol: {} - - &ref_41 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchPropertiesFriendlyName - description: Friendly name of ApplicationGroup. - cli: - name: ApplicationGroupPatchPropertiesFriendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_42 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesAppAlias - description: Alias of StartMenuItem. - cli: - name: StartMenuItemPropertiesAppAlias - description: Alias of StartMenuItem. - protocol: {} - - &ref_43 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesFriendlyName - description: Friendly name of StartMenuItem. - cli: - name: StartMenuItemPropertiesFriendlyName - description: Friendly name of StartMenuItem. - protocol: {} - - &ref_44 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesFilePath - description: Path to the file of StartMenuItem. - cli: - name: StartMenuItemPropertiesFilePath - description: Path to the file of StartMenuItem. - protocol: {} - - &ref_45 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesCommandLineArguments - description: Command line arguments for StartMenuItem. - cli: - name: StartMenuItemPropertiesCommandLineArguments - description: Command line arguments for StartMenuItem. - protocol: {} - - &ref_46 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesIconPath - description: Path to the icon. - cli: - name: StartMenuItemPropertiesIconPath - description: Path to the icon. - protocol: {} - - &ref_101 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemListNextLink - description: Link to the next page of results. - cli: - name: StartMenuItemListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_48 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesDescription - description: Description of Application. - cli: - name: ApplicationPropertiesDescription - description: Description of Application. - protocol: {} - - &ref_49 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesFriendlyName - description: Friendly name of Application. - cli: - name: ApplicationPropertiesFriendlyName - description: Friendly name of Application. - protocol: {} - - &ref_50 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesFilePath - description: Specifies a path for the executable file for the application. - cli: - name: ApplicationPropertiesFilePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_52 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesCommandLineArguments - description: Command Line Arguments for Application. - cli: - name: ApplicationPropertiesCommandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_54 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesIconPath - description: Path to icon. - cli: - name: ApplicationPropertiesIconPath - description: Path to icon. - protocol: {} - - &ref_55 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesIconHash - description: Hash of the icon. - cli: - name: ApplicationPropertiesIconHash - description: Hash of the icon. - protocol: {} - - &ref_102 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesDescription - description: Description of Application. - cli: - name: ApplicationPatchPropertiesDescription - description: Description of Application. - protocol: {} - - &ref_103 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesFriendlyName - description: Friendly name of Application. - cli: - name: ApplicationPatchPropertiesFriendlyName - description: Friendly name of Application. - protocol: {} - - &ref_104 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesFilePath - description: Specifies a path for the executable file for the application. - cli: - name: ApplicationPatchPropertiesFilePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_105 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesCommandLineArguments - description: Command Line Arguments for Application. - cli: - name: ApplicationPatchPropertiesCommandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_106 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesIconPath - description: Path to icon. - cli: - name: ApplicationPatchPropertiesIconPath - description: Path to icon. - protocol: {} - - &ref_107 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationListNextLink - description: Link to the next page of results. - cli: - name: ApplicationListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_57 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPropertiesDescription - description: Description of Desktop. - cli: - name: DesktopPropertiesDescription - description: Description of Desktop. - protocol: {} - - &ref_58 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPropertiesFriendlyName - description: Friendly name of Desktop. - cli: - name: DesktopPropertiesFriendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_59 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPropertiesIconHash - description: Hash of the icon. - cli: - name: DesktopPropertiesIconHash - description: Hash of the icon. - protocol: {} - - &ref_108 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchPropertiesDescription - description: Description of Desktop. - cli: - name: DesktopPatchPropertiesDescription - description: Description of Desktop. - protocol: {} - - &ref_109 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchPropertiesFriendlyName - description: Friendly name of Desktop. - cli: - name: DesktopPatchPropertiesFriendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_110 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopListNextLink - description: Link to the next page of results. - cli: - name: DesktopListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_19 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesFriendlyName - description: Friendly name of HostPool. - cli: - name: HostPoolPropertiesFriendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_20 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesDescription - description: Description of HostPool. - cli: - name: HostPoolPropertiesDescription - description: Description of HostPool. - protocol: {} - - &ref_23 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesCustomRdpProperty - description: Custom rdp property of HostPool. - cli: - name: HostPoolPropertiesCustomRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_29 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: RegistrationInfoToken - description: The registration token base64 encoded string. - cli: - name: RegistrationInfoToken - description: The registration token base64 encoded string. - protocol: {} - - &ref_31 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesVmTemplate - description: VM template for sessionhosts configuration within hostpool. - cli: - name: HostPoolPropertiesVmTemplate - description: VM template for sessionhosts configuration within hostpool. - protocol: {} - - &ref_32 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesApplicationGroupReferencesItem - description: '' - cli: - name: HostPoolPropertiesApplicationGroupReferencesItem - description: '' - protocol: {} - - &ref_33 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesSsoContext - description: Path to keyvault containing ssoContext secret. - cli: - name: HostPoolPropertiesSsoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_61 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchPropertiesFriendlyName - description: Friendly name of HostPool. - cli: - name: HostPoolPatchPropertiesFriendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_62 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchPropertiesDescription - description: Description of HostPool. - cli: - name: HostPoolPatchPropertiesDescription - description: Description of HostPool. - protocol: {} - - &ref_63 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchPropertiesCustomRdpProperty - description: Custom rdp property of HostPool. - cli: - name: HostPoolPatchPropertiesCustomRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_64 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchPropertiesSsoContext - description: Path to keyvault containing ssoContext secret. - cli: - name: HostPoolPatchPropertiesSsoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_113 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolListNextLink - description: Link to the next page of results. - cli: - name: HostPoolListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_65 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionPropertiesUserPrincipalName - description: The user principal name. - cli: - name: UserSessionPropertiesUserPrincipalName - description: The user principal name. - protocol: {} - - &ref_68 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionPropertiesActiveDirectoryUserName - description: The active directory user name. - cli: - name: UserSessionPropertiesActiveDirectoryUserName - description: The active directory user name. - protocol: {} - - &ref_114 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionListNextLink - description: Link to the next page of results. - cli: - name: UserSessionListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_402 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 48 - minLength: 3 - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_72 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesAgentVersion - description: Version of agent on SessionHost. - cli: - name: SessionHostPropertiesAgentVersion - description: Version of agent on SessionHost. - protocol: {} - - &ref_74 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesAssignedUser - description: User assigned to SessionHost. - cli: - name: SessionHostPropertiesAssignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_77 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesOsVersion - description: The version of the OS on the session host. - cli: - name: SessionHostPropertiesOsVersion - description: The version of the OS on the session host. - protocol: {} - - &ref_78 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesSxSStackVersion - description: The version of the side by side stack on the session host. - cli: - name: SessionHostPropertiesSxSStackVersion - description: The version of the side by side stack on the session host. - protocol: {} - - &ref_81 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesUpdateErrorMessage - description: The error message. - cli: - name: SessionHostPropertiesUpdateErrorMessage - description: The error message. - protocol: {} - - &ref_82 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPatchPropertiesAssignedUser - description: User assigned to SessionHost. - cli: - name: SessionHostPatchPropertiesAssignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_115 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostListNextLink - description: Link to the next page of results. - cli: - name: SessionHostListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_403 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 1 - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_116 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessageTitle - description: Title of message. - cli: - name: SendMessageTitle - description: Title of message. - protocol: {} - - &ref_117 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessageBody - description: Body of message. - cli: - name: SendMessageBody - description: Body of message. - protocol: {} - choices: - - &ref_18 - choices: - - value: RemoteApp - language: - default: - name: remote_app - description: '' - cli: - name: RemoteApp - description: '' - cliKey: RemoteApp - - value: Desktop - language: - default: - name: desktop - description: '' - cli: - name: Desktop - description: '' - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationGroupType - description: Resource Type of ApplicationGroup. - cli: - name: ApplicationGroupType - description: Resource Type of ApplicationGroup. - cliKey: ApplicationGroupType - protocol: {} - - &ref_51 - choices: - - value: DoNotAllow - language: - default: - name: do_not_allow - description: '' - cli: - name: DoNotAllow - description: '' - cliKey: DoNotAllow - - value: Allow - language: - default: - name: allow - description: '' - cli: - name: Allow - description: '' - cliKey: Allow - - value: Require - language: - default: - name: require - description: '' - cli: - name: Require - description: '' - cliKey: Require - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: CommandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - name: CommandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cliKey: CommandLineSetting - protocol: {} - - &ref_21 - choices: - - value: Personal - language: - default: - name: personal - description: '' - cli: - name: Personal - description: '' - cliKey: Personal - - value: Pooled - language: - default: - name: pooled - description: '' - cli: - name: Pooled - description: '' - cliKey: Pooled - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: HostPoolType - description: HostPool type for desktop. - cli: - name: HostPoolType - description: HostPool type for desktop. - cliKey: HostPoolType - protocol: {} - - &ref_22 - choices: - - value: Automatic - language: - default: - name: automatic - description: '' - cli: - name: Automatic - description: '' - cliKey: Automatic - - value: Direct - language: - default: - name: direct - description: '' - cli: - name: Direct - description: '' - cliKey: Direct - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: PersonalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cli: - name: PersonalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cliKey: PersonalDesktopAssignmentType - protocol: {} - - &ref_25 - choices: - - value: BreadthFirst - language: - default: - name: breadth_first - description: '' - cli: - name: BreadthFirst - description: '' - cliKey: BreadthFirst - - value: DepthFirst - language: - default: - name: depth_first - description: '' - cli: - name: DepthFirst - description: '' - cliKey: DepthFirst - - value: Persistent - language: - default: - name: persistent - description: '' - cli: - name: Persistent - description: '' - cliKey: Persistent - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: LoadBalancerType - description: The type of the load balancer. - cli: - name: LoadBalancerType - description: The type of the load balancer. - cliKey: LoadBalancerType - protocol: {} - - &ref_30 - choices: - - value: Delete - language: - default: - name: delete - description: '' - cli: - name: Delete - description: '' - cliKey: Delete - - value: None - language: - default: - name: none - description: '' - cli: - name: None - description: '' - cliKey: None - - value: Update - language: - default: - name: update - description: '' - cli: - name: Update - description: '' - cliKey: Update - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: RegistrationTokenOperation - description: The type of resetting the token. - cli: - name: RegistrationTokenOperation - description: The type of resetting the token. - cliKey: RegistrationTokenOperation - protocol: {} - - &ref_66 - choices: - - value: RemoteApp - language: - default: - name: remote_app - description: '' - cli: - name: RemoteApp - description: '' - cliKey: RemoteApp - - value: Desktop - language: - default: - name: desktop - description: '' - cli: - name: Desktop - description: '' - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationType - description: Application type of application. - cli: - name: ApplicationType - description: Application type of application. - cliKey: ApplicationType - protocol: {} - - &ref_67 - choices: - - value: Unknown - language: - default: - name: unknown - description: '' - cli: - name: Unknown - description: '' - cliKey: Unknown - - value: Active - language: - default: - name: active - description: '' - cli: - name: Active - description: '' - cliKey: Active - - value: Disconnected - language: - default: - name: disconnected - description: '' - cli: - name: Disconnected - description: '' - cliKey: Disconnected - - value: Pending - language: - default: - name: pending - description: '' - cli: - name: Pending - description: '' - cliKey: Pending - - value: LogOff - language: - default: - name: log_off - description: '' - cli: - name: LogOff - description: '' - cliKey: LogOff - - value: UserProfileDiskMounted - language: - default: - name: user_profile_disk_mounted - description: '' - cli: - name: UserProfileDiskMounted - description: '' - cliKey: UserProfileDiskMounted - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: SessionState - description: State of user session. - cli: - name: SessionState - description: State of user session. - cliKey: SessionState - protocol: {} - - &ref_75 - choices: - - value: Available - language: - default: - name: available - description: '' - cli: - name: Available - description: '' - cliKey: Available - - value: Unavailable - language: - default: - name: unavailable - description: '' - cli: - name: Unavailable - description: '' - cliKey: Unavailable - - value: Shutdown - language: - default: - name: shutdown - description: '' - cli: - name: Shutdown - description: '' - cliKey: Shutdown - - value: Disconnected - language: - default: - name: disconnected - description: '' - cli: - name: Disconnected - description: '' - cliKey: Disconnected - - value: Upgrading - language: - default: - name: upgrading - description: '' - cli: - name: Upgrading - description: '' - cliKey: Upgrading - - value: UpgradeFailed - language: - default: - name: upgrade_failed - description: '' - cli: - name: UpgradeFailed - description: '' - cliKey: UpgradeFailed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: Status - description: Status for a SessionHost. - cli: - name: Status - description: Status for a SessionHost. - cliKey: Status - protocol: {} - - &ref_79 - choices: - - value: Initial - language: - default: - name: initial - description: '' - cli: - name: Initial - description: '' - cliKey: Initial - - value: Pending - language: - default: - name: pending - description: '' - cli: - name: Pending - description: '' - cliKey: Pending - - value: Started - language: - default: - name: started - description: '' - cli: - name: Started - description: '' - cliKey: Started - - value: Succeeded - language: - default: - name: succeeded - description: '' - cli: - name: Succeeded - description: '' - cliKey: Succeeded - - value: Failed - language: - default: - name: failed - description: '' - cli: - name: Failed - description: '' - cliKey: Failed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: UpdateState - description: Update state of a SessionHost. - cli: - name: UpdateState - description: Update state of a SessionHost. - cliKey: UpdateState - protocol: {} - constants: - - &ref_131 - type: constant - value: - value: 2019-12-10-preview - valueType: *ref_0 - language: - default: - name: api_version2019_12_10_preview - description: Api Version (2019-12-10-preview) - cli: - name: ApiVersion20191210Preview - description: Api Version (2019-12-10-preview) - protocol: {} - - &ref_141 - type: constant - value: - value: application/json - valueType: *ref_0 - language: - default: - name: application_json - description: Content Type 'application/json' - cli: - name: ApplicationJson - description: Content Type 'application/json' - protocol: {} - dictionaries: - - &ref_37 - type: dictionary - elementType: *ref_1 - language: - default: - name: TrackedResourceTags - description: Resource tags. - cli: - name: TrackedResourceTags - description: Resource tags. - cli-complexity: dictionary_simple - cli-mark: checked - protocol: {} - any: - - &ref_39 - type: any - language: - default: - name: any - description: Any object - protocol: {} - byteArrays: - - &ref_56 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_properties_icon_content - description: the icon a 64 bit string as a byte array. - protocol: {} - - &ref_60 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: desktop_properties_icon_content - description: The icon a 64 bit string as a byte array. - protocol: {} - dateTimes: - - &ref_28 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: registration_info_expiration_time - description: Expiration time of registration token. - protocol: {} - - &ref_69 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: user_session_properties_create_time - description: The timestamp of the user session create. - protocol: {} - - &ref_70 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_last_heart_beat - description: Last heart beat from SessionHost. - protocol: {} - - &ref_76 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_status_timestamp - description: The timestamp of the status. - protocol: {} - - &ref_80 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_last_update_time - description: The timestamp of the last update. - protocol: {} - objects: - - &ref_134 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_118 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: &ref_7 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_2 - serializedName: name - language: - default: - name: name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cli: - name: name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cliKey: name - protocol: {} - - schema: &ref_8 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_3 - serializedName: provider - language: - default: - name: provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cli: - name: provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cliKey: provider - protocol: {} - - schema: *ref_4 - serializedName: resource - language: - default: - name: resource - description: Resource on which the operation is performed. - cli: - name: resource - description: Resource on which the operation is performed. - cliKey: resource - protocol: {} - - schema: *ref_5 - serializedName: operation - language: - default: - name: operation - description: 'Type of operation: get, read, delete, etc.' - cli: - name: operation - description: 'Type of operation: get, read, delete, etc.' - cliKey: operation - protocol: {} - - schema: *ref_6 - serializedName: description - language: - default: - name: description - description: Description of this operation. - cli: - name: description - description: Description of this operation. - cliKey: description - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperationDisplay - description: Display metadata associated with the operation. - namespace: '' - cli: - name: ResourceProviderOperationDisplay - description: Display metadata associated with the operation. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ResourceProviderOperation-display - protocol: {} - serializedName: display - language: - default: - name: display - description: Display metadata associated with the operation. - cli: - name: display - description: Display metadata associated with the operation. - cliKey: display - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperation - description: Supported operation of this resource provider. - namespace: '' - cli: - name: ResourceProviderOperation - description: Supported operation of this resource provider. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ResourceProviderOperation - protocol: {} - language: - default: - name: ResourceProviderOperationListValue - description: List of operations supported by this resource provider. - cli: - name: ResourceProviderOperationListValue - description: List of operations supported by this resource provider. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of operations supported by this resource provider. - cli: - name: value - description: List of operations supported by this resource provider. - cliKey: value - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperationList - description: Result of the request to list operations. - namespace: '' - cli: - name: ResourceProviderOperationList - description: Result of the request to list operations. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ResourceProviderOperationList - protocol: {} - - *ref_7 - - *ref_8 - - &ref_10 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_9 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_34 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_147 - schema: *ref_11 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: &ref_148 - name: description - description: Description of Workspace. - cliKey: description - protocol: {} - - &ref_149 - schema: *ref_12 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: &ref_150 - name: friendlyName - description: Friendly name of Workspace. - cliKey: friendlyName - protocol: {} - - &ref_151 - schema: &ref_119 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_13 - language: - default: - name: WorkspacePropertiesApplicationGroupReferences - description: List of applicationGroup resource Ids. - cli: - name: WorkspacePropertiesApplicationGroupReferences - description: List of applicationGroup resource Ids. - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup resource Ids. - cli: &ref_152 - name: applicationGroupReferences - description: List of applicationGroup resource Ids. - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Workspace - description: Represents a Workspace definition. - namespace: '' - cli: - name: Workspace - description: Represents a Workspace definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: Workspace - protocol: {} - - &ref_35 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_188 - schema: *ref_14 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: &ref_189 - name: description - description: Description of ApplicationGroup. - cliKey: description - protocol: {} - - &ref_190 - schema: *ref_15 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: &ref_191 - name: friendlyName - description: Friendly name of ApplicationGroup. - cliKey: friendlyName - protocol: {} - - &ref_192 - schema: *ref_16 - flattenedNames: - - properties - - hostPoolArmPath - required: true - serializedName: hostPoolArmPath - language: - default: - name: host_pool_arm_path - description: HostPool arm path of ApplicationGroup. - cli: &ref_193 - name: hostPoolArmPath - description: HostPool arm path of ApplicationGroup. - cliKey: hostPoolArmPath - protocol: {} - - schema: *ref_17 - flattenedNames: - - properties - - workspaceArmPath - readOnly: true - required: false - serializedName: workspaceArmPath - language: - default: - name: workspace_arm_path - description: Workspace arm path of ApplicationGroup. - cli: - name: workspaceArmPath - description: Workspace arm path of ApplicationGroup. - cliKey: workspaceArmPath - protocol: {} - - &ref_194 - schema: *ref_18 - flattenedNames: - - properties - - applicationGroupType - required: true - serializedName: applicationGroupType - language: - default: - name: application_group_type - description: Resource Type of ApplicationGroup. - cli: &ref_195 - name: applicationGroupType - description: Resource Type of ApplicationGroup. - cliKey: applicationGroupType - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationGroup - description: Represents a ApplicationGroup definition. - namespace: '' - cli: - name: ApplicationGroup - description: Represents a ApplicationGroup definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroup - protocol: {} - - &ref_36 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_316 - schema: *ref_19 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: &ref_317 - name: friendlyName - description: Friendly name of HostPool. - cliKey: friendlyName - protocol: {} - - &ref_318 - schema: *ref_20 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: &ref_319 - name: description - description: Description of HostPool. - cliKey: description - protocol: {} - - &ref_320 - schema: *ref_21 - flattenedNames: - - properties - - hostPoolType - required: true - serializedName: hostPoolType - language: - default: - name: host_pool_type - description: HostPool type for desktop. - cli: &ref_321 - name: hostPoolType - description: HostPool type for desktop. - cliKey: hostPoolType - protocol: {} - - &ref_322 - schema: *ref_22 - flattenedNames: - - properties - - personalDesktopAssignmentType - required: true - serializedName: personalDesktopAssignmentType - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: &ref_323 - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cliKey: personalDesktopAssignmentType - protocol: {} - - &ref_324 - schema: *ref_23 - flattenedNames: - - properties - - customRdpProperty - required: false - serializedName: customRdpProperty - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: &ref_325 - name: customRdpProperty - description: Custom rdp property of HostPool. - cliKey: customRdpProperty - protocol: {} - - &ref_326 - schema: *ref_24 - flattenedNames: - - properties - - maxSessionLimit - required: false - serializedName: maxSessionLimit - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: &ref_327 - name: maxSessionLimit - description: The max session limit of HostPool. - cliKey: maxSessionLimit - protocol: {} - - &ref_328 - schema: *ref_25 - flattenedNames: - - properties - - loadBalancerType - required: true - serializedName: loadBalancerType - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: &ref_329 - name: loadBalancerType - description: The type of the load balancer. - cliKey: loadBalancerType - protocol: {} - - &ref_330 - schema: *ref_26 - flattenedNames: - - properties - - ring - required: false - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: &ref_331 - name: ring - description: The ring number of HostPool. - cliKey: ring - protocol: {} - - &ref_332 - schema: *ref_27 - flattenedNames: - - properties - - validationEnvironment - required: false - serializedName: validationEnvironment - language: - default: - name: validation_environment - description: Is validation environment. - cli: &ref_333 - name: validationEnvironment - description: Is validation environment. - cliKey: validationEnvironment - protocol: {} - - &ref_334 - schema: &ref_111 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_28 - serializedName: expirationTime - language: - default: - name: expiration_time - description: Expiration time of registration token. - cli: - name: expirationTime - description: Expiration time of registration token. - cliKey: expirationTime - protocol: {} - - schema: *ref_29 - serializedName: token - language: - default: - name: token - description: The registration token base64 encoded string. - cli: - name: token - description: The registration token base64 encoded string. - cliKey: token - protocol: {} - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registration_token_operation - description: The type of resetting the token. - cli: - name: registrationTokenOperation - description: The type of resetting the token. - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: RegistrationInfo - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - name: RegistrationInfo - description: Represents a RegistrationInfo definition. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 3 - propertyCountIfSimplifyWithoutSimpleObject: 3 - simplifiable: true - cliKey: RegistrationInfo - protocol: {} - flattenedNames: - - properties - - registrationInfo - required: false - serializedName: registrationInfo - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: &ref_335 - name: registrationInfo - description: The registration info of HostPool. - cliKey: registrationInfo - protocol: {} - - &ref_336 - schema: *ref_31 - flattenedNames: - - properties - - vmTemplate - required: false - serializedName: vmTemplate - language: - default: - name: vm_template - description: VM template for sessionhosts configuration within hostpool. - cli: &ref_337 - name: vmTemplate - description: VM template for sessionhosts configuration within hostpool. - cliKey: vmTemplate - protocol: {} - - schema: &ref_126 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_32 - language: - default: - name: HostPoolPropertiesApplicationGroupReferences - description: List of applicationGroup links. - cli: - name: HostPoolPropertiesApplicationGroupReferences - description: List of applicationGroup links. - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - readOnly: true - required: false - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: - name: applicationGroupReferences - description: List of applicationGroup links. - cliKey: applicationGroupReferences - protocol: {} - - &ref_338 - schema: *ref_33 - flattenedNames: - - properties - - ssoContext - required: false - serializedName: ssoContext - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: &ref_339 - name: ssoContext - description: Path to keyvault containing ssoContext secret. - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: HostPool - description: Represents a HostPool definition. - namespace: '' - cli: - name: HostPool - description: Represents a HostPool definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPool - protocol: {} - immediate: - - *ref_34 - - *ref_35 - - *ref_36 - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_143 - schema: *ref_37 - required: false - serializedName: tags - language: - default: - name: tags - description: Resource tags. - cli: &ref_144 - name: tags - description: Resource tags. - cliKey: tags - protocol: {} - - &ref_145 - schema: *ref_38 - required: true - serializedName: location - language: - default: - name: location - description: The geo-location where the resource lives - cli: &ref_146 - name: location - description: The geo-location where the resource lives - cliKey: location - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: TrackedResource - description: The resource model definition for a ARM tracked top level resource - namespace: '' - cli: - name: TrackedResource - description: The resource model definition for a ARM tracked top level resource - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: TrackedResource - protocol: {} - - *ref_34 - - *ref_35 - - &ref_83 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_207 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_208 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_209 - schema: *ref_40 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: &ref_210 - name: description - description: Description of ApplicationGroup. - cliKey: description - protocol: {} - - &ref_211 - schema: *ref_41 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: &ref_212 - name: friendlyName - description: Friendly name of ApplicationGroup. - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: ApplicationGroupPatch - description: ApplicationGroup properties that can be patched. - namespace: '' - cli: - name: ApplicationGroupPatch - description: ApplicationGroup properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupPatch - protocol: {} - - &ref_84 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_42 - flattenedNames: - - properties - - appAlias - serializedName: appAlias - language: - default: - name: app_alias - description: Alias of StartMenuItem. - cli: - name: appAlias - description: Alias of StartMenuItem. - cliKey: appAlias - protocol: {} - - schema: *ref_43 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of StartMenuItem. - cli: - name: friendlyName - description: Friendly name of StartMenuItem. - cliKey: friendlyName - protocol: {} - - schema: *ref_44 - flattenedNames: - - properties - - filePath - serializedName: filePath - language: - default: - name: file_path - description: Path to the file of StartMenuItem. - cli: - name: filePath - description: Path to the file of StartMenuItem. - cliKey: filePath - protocol: {} - - schema: *ref_45 - flattenedNames: - - properties - - commandLineArguments - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command line arguments for StartMenuItem. - cli: - name: commandLineArguments - description: Command line arguments for StartMenuItem. - cliKey: commandLineArguments - protocol: {} - - schema: *ref_46 - flattenedNames: - - properties - - iconPath - serializedName: iconPath - language: - default: - name: icon_path - description: Path to the icon. - cli: - name: iconPath - description: Path to the icon. - cliKey: iconPath - protocol: {} - - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: - name: iconIndex - description: Index of the icon. - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: StartMenuItem - description: Represents a StartMenuItem definition. - namespace: '' - cli: - name: StartMenuItem - description: Represents a StartMenuItem definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: StartMenuItem - protocol: {} - - &ref_85 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_228 - schema: *ref_48 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: &ref_229 - name: description - description: Description of Application. - cliKey: description - protocol: {} - - &ref_230 - schema: *ref_49 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: &ref_231 - name: friendlyName - description: Friendly name of Application. - cliKey: friendlyName - protocol: {} - - &ref_232 - schema: *ref_50 - flattenedNames: - - properties - - filePath - required: false - serializedName: filePath - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: &ref_233 - name: filePath - description: Specifies a path for the executable file for the application. - cliKey: filePath - protocol: {} - - &ref_234 - schema: *ref_51 - flattenedNames: - - properties - - commandLineSetting - required: true - serializedName: commandLineSetting - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: &ref_235 - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cliKey: commandLineSetting - protocol: {} - - &ref_236 - schema: *ref_52 - flattenedNames: - - properties - - commandLineArguments - required: false - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: &ref_237 - name: commandLineArguments - description: Command Line Arguments for Application. - cliKey: commandLineArguments - protocol: {} - - &ref_238 - schema: *ref_53 - flattenedNames: - - properties - - showInPortal - required: false - serializedName: showInPortal - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: &ref_239 - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cliKey: showInPortal - protocol: {} - - &ref_240 - schema: *ref_54 - flattenedNames: - - properties - - iconPath - required: false - serializedName: iconPath - language: - default: - name: icon_path - description: Path to icon. - cli: &ref_241 - name: iconPath - description: Path to icon. - cliKey: iconPath - protocol: {} - - &ref_242 - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - required: false - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: &ref_243 - name: iconIndex - description: Index of the icon. - cliKey: iconIndex - protocol: {} - - schema: *ref_55 - flattenedNames: - - properties - - iconHash - readOnly: true - required: false - serializedName: iconHash - language: - default: - name: icon_hash - description: Hash of the icon. - cli: - name: iconHash - description: Hash of the icon. - cliKey: iconHash - protocol: {} - - schema: *ref_56 - flattenedNames: - - properties - - iconContent - readOnly: true - required: false - serializedName: iconContent - language: - default: - name: icon_content - description: the icon a 64 bit string as a byte array. - cli: - name: iconContent - description: the icon a 64 bit string as a byte array. - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Application - description: Schema for Application properties. - namespace: '' - cli: - name: Application - description: Schema for Application properties. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Application - protocol: {} - - &ref_86 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_57 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: - name: description - description: Description of Desktop. - cliKey: description - protocol: {} - - schema: *ref_58 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: - name: friendlyName - description: Friendly name of Desktop. - cliKey: friendlyName - protocol: {} - - schema: *ref_59 - flattenedNames: - - properties - - iconHash - readOnly: true - serializedName: iconHash - language: - default: - name: icon_hash - description: Hash of the icon. - cli: - name: iconHash - description: Hash of the icon. - cliKey: iconHash - protocol: {} - - schema: *ref_60 - flattenedNames: - - properties - - iconContent - readOnly: true - serializedName: iconContent - language: - default: - name: icon_content - description: The icon a 64 bit string as a byte array. - cli: - name: iconContent - description: The icon a 64 bit string as a byte array. - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Desktop - description: Schema for Desktop properties. - namespace: '' - cli: - name: Desktop - description: Schema for Desktop properties. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: Desktop - protocol: {} - - *ref_36 - - &ref_87 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_361 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_362 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_363 - schema: *ref_61 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: &ref_364 - name: friendlyName - description: Friendly name of HostPool. - cliKey: friendlyName - protocol: {} - - &ref_365 - schema: *ref_62 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: &ref_366 - name: description - description: Description of HostPool. - cliKey: description - protocol: {} - - &ref_367 - schema: *ref_63 - flattenedNames: - - properties - - customRdpProperty - serializedName: customRdpProperty - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: &ref_368 - name: customRdpProperty - description: Custom rdp property of HostPool. - cliKey: customRdpProperty - protocol: {} - - &ref_369 - schema: *ref_24 - flattenedNames: - - properties - - maxSessionLimit - serializedName: maxSessionLimit - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: &ref_370 - name: maxSessionLimit - description: The max session limit of HostPool. - cliKey: maxSessionLimit - protocol: {} - - &ref_371 - schema: *ref_22 - flattenedNames: - - properties - - personalDesktopAssignmentType - serializedName: personalDesktopAssignmentType - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: &ref_372 - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cliKey: personalDesktopAssignmentType - protocol: {} - - &ref_373 - schema: *ref_25 - flattenedNames: - - properties - - loadBalancerType - serializedName: loadBalancerType - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: &ref_374 - name: loadBalancerType - description: The type of the load balancer. - cliKey: loadBalancerType - protocol: {} - - &ref_375 - schema: *ref_26 - flattenedNames: - - properties - - ring - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: &ref_376 - name: ring - description: The ring number of HostPool. - cliKey: ring - protocol: {} - - &ref_377 - schema: *ref_27 - flattenedNames: - - properties - - validationEnvironment - serializedName: validationEnvironment - language: - default: - name: validation_environment - description: Is validation environment. - cli: &ref_378 - name: validationEnvironment - description: Is validation environment. - cliKey: validationEnvironment - protocol: {} - - &ref_379 - schema: &ref_112 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registration_token_operation - description: The type of resetting the token. - cli: - name: registrationTokenOperation - description: The type of resetting the token. - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: RegistrationInfoPatch - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - name: RegistrationInfoPatch - description: Represents a RegistrationInfo definition. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 1 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: RegistrationInfoPatch - protocol: {} - flattenedNames: - - properties - - registrationInfo - serializedName: registrationInfo - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: &ref_380 - name: registrationInfo - description: The registration info of HostPool. - cliKey: registrationInfo - protocol: {} - - &ref_381 - schema: *ref_64 - flattenedNames: - - properties - - ssoContext - serializedName: ssoContext - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: &ref_382 - name: ssoContext - description: Path to keyvault containing ssoContext secret. - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: HostPoolPatch - description: HostPool properties that can be patched. - namespace: '' - cli: - name: HostPoolPatch - description: HostPool properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolPatch - protocol: {} - - &ref_88 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_65 - flattenedNames: - - properties - - userPrincipalName - serializedName: userPrincipalName - language: - default: - name: user_principal_name - description: The user principal name. - cli: - name: userPrincipalName - description: The user principal name. - cliKey: userPrincipalName - protocol: {} - - schema: *ref_66 - flattenedNames: - - properties - - applicationType - serializedName: applicationType - language: - default: - name: application_type - description: Application type of application. - cli: - name: applicationType - description: Application type of application. - cliKey: applicationType - protocol: {} - - schema: *ref_67 - flattenedNames: - - properties - - sessionState - serializedName: sessionState - language: - default: - name: session_state - description: State of user session. - cli: - name: sessionState - description: State of user session. - cliKey: sessionState - protocol: {} - - schema: *ref_68 - flattenedNames: - - properties - - activeDirectoryUserName - serializedName: activeDirectoryUserName - language: - default: - name: active_directory_user_name - description: The active directory user name. - cli: - name: activeDirectoryUserName - description: The active directory user name. - cliKey: activeDirectoryUserName - protocol: {} - - schema: *ref_69 - flattenedNames: - - properties - - createTime - serializedName: createTime - language: - default: - name: create_time - description: The timestamp of the user session create. - cli: - name: createTime - description: The timestamp of the user session create. - cliKey: createTime - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: UserSession - description: Represents a UserSession definition. - namespace: '' - cli: - name: UserSession - description: Represents a UserSession definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: UserSession - protocol: {} - - &ref_89 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_70 - flattenedNames: - - properties - - lastHeartBeat - serializedName: lastHeartBeat - language: - default: - name: last_heart_beat - description: Last heart beat from SessionHost. - cli: - name: lastHeartBeat - description: Last heart beat from SessionHost. - cliKey: lastHeartBeat - protocol: {} - - schema: *ref_71 - flattenedNames: - - properties - - sessions - serializedName: sessions - language: - default: - name: sessions - description: Number of sessions on SessionHost. - cli: - name: sessions - description: Number of sessions on SessionHost. - cliKey: sessions - protocol: {} - - schema: *ref_72 - flattenedNames: - - properties - - agentVersion - serializedName: agentVersion - language: - default: - name: agent_version - description: Version of agent on SessionHost. - cli: - name: agentVersion - description: Version of agent on SessionHost. - cliKey: agentVersion - protocol: {} - - schema: *ref_73 - flattenedNames: - - properties - - allowNewSession - serializedName: allowNewSession - language: - default: - name: allow_new_session - description: Allow a new session. - cli: - name: allowNewSession - description: Allow a new session. - cliKey: allowNewSession - protocol: {} - - schema: *ref_74 - flattenedNames: - - properties - - assignedUser - serializedName: assignedUser - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: - name: assignedUser - description: User assigned to SessionHost. - cliKey: assignedUser - protocol: {} - - schema: *ref_75 - flattenedNames: - - properties - - status - serializedName: status - language: - default: - name: status - description: Status for a SessionHost. - cli: - name: status - description: Status for a SessionHost. - cliKey: status - protocol: {} - - schema: *ref_76 - flattenedNames: - - properties - - statusTimestamp - readOnly: true - serializedName: statusTimestamp - language: - default: - name: status_timestamp - description: The timestamp of the status. - cli: - name: statusTimestamp - description: The timestamp of the status. - cliKey: statusTimestamp - protocol: {} - - schema: *ref_77 - flattenedNames: - - properties - - osVersion - serializedName: osVersion - language: - default: - name: os_version - description: The version of the OS on the session host. - cli: - name: osVersion - description: The version of the OS on the session host. - cliKey: osVersion - protocol: {} - - schema: *ref_78 - flattenedNames: - - properties - - sxSStackVersion - serializedName: sxSStackVersion - language: - default: - name: sx_s_stack_version - description: The version of the side by side stack on the session host. - cli: - name: sxSStackVersion - description: The version of the side by side stack on the session host. - cliKey: sxSStackVersion - protocol: {} - - schema: *ref_79 - flattenedNames: - - properties - - updateState - serializedName: updateState - language: - default: - name: update_state - description: Update state of a SessionHost. - cli: - name: updateState - description: Update state of a SessionHost. - cliKey: updateState - protocol: {} - - schema: *ref_80 - flattenedNames: - - properties - - lastUpdateTime - readOnly: true - serializedName: lastUpdateTime - language: - default: - name: last_update_time - description: The timestamp of the last update. - cli: - name: lastUpdateTime - description: The timestamp of the last update. - cliKey: lastUpdateTime - protocol: {} - - schema: *ref_81 - flattenedNames: - - properties - - updateErrorMessage - serializedName: updateErrorMessage - language: - default: - name: update_error_message - description: The error message. - cli: - name: updateErrorMessage - description: The error message. - cliKey: updateErrorMessage - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: SessionHost - description: Represents a SessionHost definition. - namespace: '' - cli: - name: SessionHost - description: Represents a SessionHost definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHost - protocol: {} - - &ref_90 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_440 - schema: *ref_73 - flattenedNames: - - properties - - allowNewSession - serializedName: allowNewSession - language: - default: - name: allow_new_session - description: Allow a new session. - cli: &ref_441 - name: allowNewSession - description: Allow a new session. - cliKey: allowNewSession - protocol: {} - - &ref_442 - schema: *ref_82 - flattenedNames: - - properties - - assignedUser - serializedName: assignedUser - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: &ref_443 - name: assignedUser - description: User assigned to SessionHost. - cliKey: assignedUser - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: SessionHostPatch - description: SessionHost properties that can be patched. - namespace: '' - cli: - name: SessionHostPatch - description: SessionHost properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: SessionHostPatch - protocol: {} - immediate: - - *ref_9 - - *ref_83 - - *ref_84 - - *ref_85 - - *ref_86 - - *ref_87 - - *ref_88 - - *ref_89 - - *ref_90 - properties: - - schema: *ref_91 - readOnly: true - serializedName: id - language: - default: - name: id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cli: - name: id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cliKey: id - protocol: {} - - schema: *ref_92 - readOnly: true - serializedName: name - language: - default: - name: name - description: The name of the resource - cli: - name: name - description: The name of the resource - cliKey: name - protocol: {} - - schema: *ref_93 - readOnly: true - serializedName: type - language: - default: - name: type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cli: - name: type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cliKey: type - protocol: {} - serializationFormats: - - json - usage: - - output - - input - extensions: - x-ms-azure-resource: true - language: - default: - name: Resource - description: '' - namespace: '' - cli: - name: Resource - description: '' - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 0 - propertyCountIfSimplifyWithoutSimpleObject: 0 - simplifiable: true - cliKey: Resource - protocol: {} - - *ref_9 - - *ref_34 - - &ref_140 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_94 - serializedName: code - language: - default: - name: code - description: Error code - cli: - name: code - description: Error code - cliKey: code - protocol: {} - - schema: *ref_95 - serializedName: message - language: - default: - name: message - description: Error message indicating why the operation failed. - cli: - name: message - description: Error message indicating why the operation failed. - cliKey: message - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: CloudError - description: Error response of an operation failure - namespace: '' - cli: - name: CloudError - description: Error response of an operation failure - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: CloudError - protocol: {} - - &ref_162 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_164 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_165 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_166 - schema: *ref_96 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: &ref_167 - name: description - description: Description of Workspace. - cliKey: description - protocol: {} - - &ref_168 - schema: *ref_97 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: &ref_169 - name: friendlyName - description: Friendly name of Workspace. - cliKey: friendlyName - protocol: {} - - &ref_170 - schema: &ref_120 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_98 - language: - default: - name: WorkspacePatchPropertiesApplicationGroupReferences - description: List of applicationGroup links. - cli: - name: WorkspacePatchPropertiesApplicationGroupReferences - description: List of applicationGroup links. - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: &ref_171 - name: applicationGroupReferences - description: List of applicationGroup links. - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: WorkspacePatch - description: Workspace properties that can be patched. - namespace: '' - cli: - name: WorkspacePatch - description: Workspace properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatch - protocol: {} - - &ref_179 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_121 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_34 - language: - default: - name: WorkspaceListValue - description: List of Workspace definitions. - cli: - name: WorkspaceListValue - description: List of Workspace definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Workspace definitions. - cli: - name: value - description: List of Workspace definitions. - cliKey: value - protocol: {} - - schema: *ref_99 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: WorkspaceList - usage: - - output - language: - default: - name: WorkspaceList - description: List of Workspace definitions. - namespace: '' - summary: WorkspaceList - cli: - name: WorkspaceList - description: List of Workspace definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceList - protocol: {} - - &ref_184 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_122 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_35 - language: - default: - name: ApplicationGroupListValue - description: List of ApplicationGroup definitions. - cli: - name: ApplicationGroupListValue - description: List of ApplicationGroup definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of ApplicationGroup definitions. - cli: - name: value - description: List of ApplicationGroup definitions. - cliKey: value - protocol: {} - - schema: *ref_100 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationGroupList - usage: - - output - language: - default: - name: ApplicationGroupList - description: List of ApplicationGroup definitions. - namespace: '' - summary: ApplicationGroupList - cli: - name: ApplicationGroupList - description: List of ApplicationGroup definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupList - protocol: {} - - *ref_35 - - *ref_83 - - &ref_223 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_123 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_84 - language: - default: - name: StartMenuItemListValue - description: List of StartMenuItem definitions. - cli: - name: StartMenuItemListValue - description: List of StartMenuItem definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of StartMenuItem definitions. - cli: - name: value - description: List of StartMenuItem definitions. - cliKey: value - protocol: {} - - schema: *ref_101 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: StartMenuItemList - usage: - - output - language: - default: - name: StartMenuItemList - description: List of StartMenuItem definitions. - namespace: '' - summary: StartMenuItemList - cli: - name: StartMenuItemList - description: List of StartMenuItem definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: StartMenuItemList - protocol: {} - - *ref_84 - - *ref_85 - - &ref_258 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_260 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_261 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_262 - schema: *ref_102 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: &ref_263 - name: description - description: Description of Application. - cliKey: description - protocol: {} - - &ref_264 - schema: *ref_103 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: &ref_265 - name: friendlyName - description: Friendly name of Application. - cliKey: friendlyName - protocol: {} - - &ref_266 - schema: *ref_104 - flattenedNames: - - properties - - filePath - serializedName: filePath - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: &ref_267 - name: filePath - description: Specifies a path for the executable file for the application. - cliKey: filePath - protocol: {} - - &ref_268 - schema: *ref_51 - flattenedNames: - - properties - - commandLineSetting - serializedName: commandLineSetting - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: &ref_269 - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cliKey: commandLineSetting - protocol: {} - - &ref_270 - schema: *ref_105 - flattenedNames: - - properties - - commandLineArguments - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: &ref_271 - name: commandLineArguments - description: Command Line Arguments for Application. - cliKey: commandLineArguments - protocol: {} - - &ref_272 - schema: *ref_53 - flattenedNames: - - properties - - showInPortal - serializedName: showInPortal - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: &ref_273 - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cliKey: showInPortal - protocol: {} - - &ref_274 - schema: *ref_106 - flattenedNames: - - properties - - iconPath - serializedName: iconPath - language: - default: - name: icon_path - description: Path to icon. - cli: &ref_275 - name: iconPath - description: Path to icon. - cliKey: iconPath - protocol: {} - - &ref_276 - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: &ref_277 - name: iconIndex - description: Index of the icon. - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: ApplicationPatch - description: Application properties that can be patched. - namespace: '' - cli: - name: ApplicationPatch - description: Application properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationPatch - protocol: {} - - &ref_292 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_124 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_85 - language: - default: - name: ApplicationListValue - description: List of Application definitions. - cli: - name: ApplicationListValue - description: List of Application definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Application definitions. - cli: - name: value - description: List of Application definitions. - cliKey: value - protocol: {} - - schema: *ref_107 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationList - usage: - - output - language: - default: - name: ApplicationList - description: List of Application definitions. - namespace: '' - summary: ApplicationList - cli: - name: ApplicationList - description: List of Application definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationList - protocol: {} - - *ref_86 - - &ref_296 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_298 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_299 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_300 - schema: *ref_108 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: &ref_301 - name: description - description: Description of Desktop. - cliKey: description - protocol: {} - - &ref_302 - schema: *ref_109 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: &ref_303 - name: friendlyName - description: Friendly name of Desktop. - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: DesktopPatch - description: Desktop properties that can be patched. - namespace: '' - cli: - name: DesktopPatch - description: Desktop properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopPatch - protocol: {} - - &ref_312 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_125 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_86 - language: - default: - name: DesktopListValue - description: List of Desktop definitions. - cli: - name: DesktopListValue - description: List of Desktop definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Desktop definitions. - cli: - name: value - description: List of Desktop definitions. - cliKey: value - protocol: {} - - schema: *ref_110 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: DesktopList - usage: - - output - language: - default: - name: DesktopList - description: List of Desktop definitions. - namespace: '' - summary: DesktopList - cli: - name: DesktopList - description: List of Desktop definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopList - protocol: {} - - *ref_36 - - *ref_111 - - *ref_87 - - *ref_112 - - &ref_397 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_127 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_36 - language: - default: - name: HostPoolListValue - description: List of HostPool definitions. - cli: - name: HostPoolListValue - description: List of HostPool definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of HostPool definitions. - cli: - name: value - description: List of HostPool definitions. - cliKey: value - protocol: {} - - schema: *ref_113 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: HostPoolList - usage: - - output - language: - default: - name: HostPoolList - description: List of HostPool definitions. - namespace: '' - summary: HostPoolList - cli: - name: HostPoolList - description: List of HostPool definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolList - protocol: {} - - &ref_401 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_128 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_88 - language: - default: - name: UserSessionListValue - description: List of UserSession definitions. - cli: - name: UserSessionListValue - description: List of UserSession definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of UserSession definitions. - cli: - name: value - description: List of UserSession definitions. - cliKey: value - protocol: {} - - schema: *ref_114 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: UserSessionList - usage: - - output - language: - default: - name: UserSessionList - description: List of UserSession definitions. - namespace: '' - summary: UserSessionList - cli: - name: UserSessionList - description: List of UserSession definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: UserSessionList - protocol: {} - - *ref_88 - - *ref_89 - - *ref_90 - - &ref_451 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_129 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_89 - language: - default: - name: SessionHostListValue - description: List of SessionHost definitions. - cli: - name: SessionHostListValue - description: List of SessionHost definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of SessionHost definitions. - cli: - name: value - description: List of SessionHost definitions. - cliKey: value - protocol: {} - - schema: *ref_115 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: SessionHostList - usage: - - output - language: - default: - name: SessionHostList - description: List of SessionHost definitions. - namespace: '' - summary: SessionHostList - cli: - name: SessionHostList - description: List of SessionHost definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: SessionHostList - protocol: {} - - &ref_420 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_422 - schema: *ref_116 - serializedName: messageTitle - language: - default: - name: message_title - description: Title of message. - cli: &ref_423 - name: messageTitle - description: Title of message. - cliKey: messageTitle - protocol: {} - - &ref_424 - schema: *ref_117 - serializedName: messageBody - language: - default: - name: message_body - description: Body of message. - cli: &ref_425 - name: messageBody - description: Body of message. - cliKey: messageBody - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: SendMessage - description: Represents message sent to a UserSession. - namespace: '' - cli: - name: SendMessage - description: Represents message sent to a UserSession. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SendMessage - protocol: {} - arrays: - - *ref_118 - - *ref_119 - - *ref_120 - - *ref_121 - - *ref_122 - - *ref_123 - - *ref_124 - - *ref_125 - - *ref_126 - - *ref_127 - - *ref_128 - - *ref_129 -globalParameters: - - &ref_135 - schema: *ref_130 - implementation: Client - required: true - extensions: - x-ms-priority: 0 - language: - default: - name: subscription_id - description: The ID of the target subscription. - serializedName: subscriptionId - cli: - name: subscriptionId - description: The ID of the target subscription. - cliKey: subscriptionId - protocol: - http: - in: path - - &ref_132 - schema: *ref_0 - clientDefaultValue: 'https://management.azure.com' - implementation: Client - origin: 'modelerfour:synthesized/host' - required: true - extensions: - x-ms-skip-url-encoding: true - language: - default: - name: $host - description: server parameter - serializedName: $host - cli: - name: $host - description: server parameter - cliKey: $host - protocol: - http: - in: uri - - &ref_133 - schema: *ref_131 - implementation: Client - origin: 'modelerfour:synthesized/api-version' - required: true - language: - default: - name: api_version - description: Api Version - serializedName: api-version - cli: - name: ApiVersion - description: Api Version - cliKey: ApiVersion - protocol: - http: - in: query -operationGroups: - - $key: Operations - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: /providers/Microsoft.DesktopVirtualization/operations - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_134 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - extensions: - x-ms-examples: - OperationDescription_List: - parameters: - api-version: 2019-12-10-preview - responses: - '200': - body: - value: - - name: Microsoft.DesktopVirtualization/ssocontext/read - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - - name: Microsoft.DesktopVirtualization/ssocontext/write - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - language: - default: - name: list - description: List all of the available operations the Desktop Virtualization resource provider supports. - cli: - name: List - description: List all of the available operations the Desktop Virtualization resource provider supports. - cliKey: List - hidden: true - protocol: {} - language: - default: - name: Operation - description: '' - cli: - name: Operation - description: '' - cliKey: Operations - protocol: {} - - $key: Workspaces - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_138 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_139 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_138 - - *ref_139 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Get: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get a workspace. - cli: - name: Get - description: Get a workspace. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_158 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_159 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_142 - schema: *ref_34 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _workspace - description: Object containing Workspace definitions. - cli: - name: _workspace - description: Object containing Workspace definitions. - cliKey: workspace - protocol: - http: - in: body - style: json - - &ref_153 - schema: *ref_37 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_154 - schema: *ref_38 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_155 - schema: *ref_11 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_147 - language: - default: - name: description - description: Description of Workspace. - cli: *ref_148 - protocol: {} - - &ref_156 - schema: *ref_12 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_149 - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: *ref_150 - protocol: {} - - &ref_157 - schema: *ref_119 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_151 - language: - default: - name: application_group_references - description: List of applicationGroup resource Ids. - cli: *ref_152 - protocol: {} - signatureParameters: - - *ref_153 - - *ref_154 - - *ref_155 - - *ref_156 - - *ref_157 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_158 - - *ref_159 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Create: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '201': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update a workspace. - cli: - name: CreateOrUpdate - description: Create or update a workspace. - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_160 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_161 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_160 - - *ref_161 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Delete: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove a workspace. - cli: - name: Delete - description: Remove a workspace. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_176 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_177 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_163 - schema: *ref_162 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _workspace - description: Object containing Workspace definitions. - cli: - name: _workspace - description: Object containing Workspace definitions. - cliKey: workspace - protocol: - http: - in: body - style: json - - &ref_172 - schema: *ref_39 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_164 - language: - default: - name: tags - description: tags to be updated - cli: *ref_165 - protocol: {} - - &ref_173 - schema: *ref_96 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_166 - language: - default: - name: description - description: Description of Workspace. - cli: *ref_167 - protocol: {} - - &ref_174 - schema: *ref_97 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_168 - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: *ref_169 - protocol: {} - - &ref_175 - schema: *ref_120 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_170 - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: *ref_171 - protocol: {} - signatureParameters: - - *ref_172 - - *ref_173 - - *ref_174 - - *ref_175 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_176 - - *ref_177 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Update: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update a workspace. - cli: - name: Update - description: Update a workspace. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_178 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: - - *ref_178 - responses: - - schema: *ref_179 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List workspaces. - paging: - nextLinkName: nextLink - cli: - name: ListByResourceGroup - description: List workspaces. - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_179 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListBySubscription: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_subscription - description: List workspaces in subscription. - paging: - nextLinkName: nextLink - cli: - name: ListBySubscription - description: List workspaces in subscription. - cliKey: ListBySubscription - protocol: {} - language: - default: - name: Workspace - description: '' - cli: - name: Workspace - description: '' - cliKey: Workspaces - protocol: {} - - $key: ApplicationGroupAssignments - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_181 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_182 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - - &ref_183 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' - method: get - uri: '{$host}' - signatureParameters: - - *ref_181 - - *ref_182 - - *ref_183 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroupAssignment_WorkspaceLevelList: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: workspace_level_list - description: List application group that user can use. - paging: - nextLinkName: nextLink - cli: - name: WorkspaceLevelList - description: List application group that user can use. - cliKey: WorkspaceLevelList - protocol: {} - language: - default: - name: ApplicationGroupAssignment - description: '' - cli: - name: ApplicationGroupAssignment - description: '' - cliKey: ApplicationGroupAssignments - hidden: true - protocol: {} - - $key: ApplicationGroups - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_185 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_186 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_185 - - *ref_186 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get an application group. - cli: - name: Get - description: Get an application group. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_202 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_203 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_187 - schema: *ref_35 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _application_group - description: Object containing ApplicationGroup definitions. - cli: - name: _application_group - description: Object containing ApplicationGroup definitions. - cliKey: applicationGroup - protocol: - http: - in: body - style: json - - &ref_196 - schema: *ref_37 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_197 - schema: *ref_38 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_198 - schema: *ref_14 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_188 - language: - default: - name: description - description: Description of ApplicationGroup. - cli: *ref_189 - protocol: {} - - &ref_199 - schema: *ref_15 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_190 - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: *ref_191 - protocol: {} - - &ref_200 - schema: *ref_16 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_192 - language: - default: - name: host_pool_arm_path - description: HostPool arm path of ApplicationGroup. - cli: *ref_193 - protocol: {} - - &ref_201 - schema: *ref_18 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_194 - language: - default: - name: application_group_type - description: Resource Type of ApplicationGroup. - cli: *ref_195 - protocol: {} - signatureParameters: - - *ref_196 - - *ref_197 - - *ref_198 - - *ref_199 - - *ref_200 - - *ref_201 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_202 - - *ref_203 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Create: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '201': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update an applicationGroup. - cli: - name: CreateOrUpdate - description: Create or update an applicationGroup. - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_204 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_205 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_204 - - *ref_205 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove an applicationGroup. - cli: - name: Delete - description: Remove an applicationGroup. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_216 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_217 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_206 - schema: *ref_83 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _application_group - description: Object containing ApplicationGroup definitions. - cli: - name: _application_group - description: Object containing ApplicationGroup definitions. - cliKey: applicationGroup - protocol: - http: - in: body - style: json - - &ref_213 - schema: *ref_39 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_207 - language: - default: - name: tags - description: tags to be updated - cli: *ref_208 - protocol: {} - - &ref_214 - schema: *ref_40 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_209 - language: - default: - name: description - description: Description of ApplicationGroup. - cli: *ref_210 - protocol: {} - - &ref_215 - schema: *ref_41 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_211 - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: *ref_212 - protocol: {} - signatureParameters: - - *ref_213 - - *ref_214 - - *ref_215 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_216 - - *ref_217 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroups_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update an applicationGroup. - cli: - name: Update - description: Update an applicationGroup. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_218 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_219 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_218 - - *ref_219 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_ListByResourceGroup: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List applicationGroups. - paging: - nextLinkName: nextLink - cli: - name: ListByResourceGroup - description: List applicationGroups. - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_220 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_220 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_List: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_subscription - description: List applicationGroups in subscription. - paging: - nextLinkName: nextLink - cli: - name: ListBySubscription - description: List applicationGroups in subscription. - cliKey: ListBySubscription - protocol: {} - language: - default: - name: ApplicationGroup - description: '' - cli: - name: ApplicationGroup - description: '' - cliKey: ApplicationGroups - protocol: {} - - $key: StartMenuItems - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_221 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_222 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' - method: get - uri: '{$host}' - signatureParameters: - - *ref_221 - - *ref_222 - responses: - - schema: *ref_223 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - StartMenuItem_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: application1 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 - properties: - appAlias: word - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - - name: application2 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 - properties: - appAlias: excel - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List start menu items in the given application group. - paging: - nextLinkName: nextLink - cli: - name: List - description: List start menu items in the given application group. - cliKey: List - protocol: {} - language: - default: - name: StartMenuItem - description: '' - cli: - name: StartMenuItem - description: '' - cliKey: StartMenuItems - hidden: true - protocol: {} - - $key: Applications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_224 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_225 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_226 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - name: applicationName - description: The name of the application within the specified application group - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_224 - - *ref_225 - - *ref_226 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: get - description: Get an application. - cli: - name: Get - description: Get an application. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_252 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_253 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_254 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - name: applicationName - description: The name of the application within the specified application group - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_227 - schema: *ref_85 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _application - description: Object containing Application definitions. - cli: - name: _application - description: Object containing Application definitions. - cliKey: application - protocol: - http: - in: body - style: json - - &ref_244 - schema: *ref_48 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_228 - language: - default: - name: description - description: Description of Application. - cli: *ref_229 - protocol: {} - - &ref_245 - schema: *ref_49 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_230 - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: *ref_231 - protocol: {} - - &ref_246 - schema: *ref_50 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_232 - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: *ref_233 - protocol: {} - - &ref_247 - schema: *ref_51 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: true - targetProperty: *ref_234 - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: *ref_235 - protocol: {} - - &ref_248 - schema: *ref_52 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_236 - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: *ref_237 - protocol: {} - - &ref_249 - schema: *ref_53 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_238 - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: *ref_239 - protocol: {} - - &ref_250 - schema: *ref_54 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_240 - language: - default: - name: icon_path - description: Path to icon. - cli: *ref_241 - protocol: {} - - &ref_251 - schema: *ref_47 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_242 - language: - default: - name: icon_index - description: Index of the icon. - cli: *ref_243 - protocol: {} - signatureParameters: - - *ref_244 - - *ref_245 - - *ref_246 - - *ref_247 - - *ref_248 - - *ref_249 - - *ref_250 - - *ref_251 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_252 - - *ref_253 - - *ref_254 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Create: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '201': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: create_or_update - description: Create or update an application. - cli: - name: CreateOrUpdate - description: Create or update an application. - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_255 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_256 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_257 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - name: applicationName - description: The name of the application within the specified application group - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_255 - - *ref_256 - - *ref_257 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '204': {} - language: - default: - name: delete - description: Remove an application. - cli: - name: Delete - description: Remove an application. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_287 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_288 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_289 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - name: applicationName - description: The name of the application within the specified application group - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_259 - schema: *ref_258 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _application - description: Object containing Application definitions. - cli: - name: _application - description: Object containing Application definitions. - cliKey: application - protocol: - http: - in: body - style: json - - &ref_278 - schema: *ref_39 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_260 - language: - default: - name: tags - description: tags to be updated - cli: *ref_261 - protocol: {} - - &ref_279 - schema: *ref_102 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_262 - language: - default: - name: description - description: Description of Application. - cli: *ref_263 - protocol: {} - - &ref_280 - schema: *ref_103 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_264 - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: *ref_265 - protocol: {} - - &ref_281 - schema: *ref_104 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_266 - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: *ref_267 - protocol: {} - - &ref_282 - schema: *ref_51 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_268 - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: *ref_269 - protocol: {} - - &ref_283 - schema: *ref_105 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_270 - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: *ref_271 - protocol: {} - - &ref_284 - schema: *ref_53 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_272 - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: *ref_273 - protocol: {} - - &ref_285 - schema: *ref_106 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_274 - language: - default: - name: icon_path - description: Path to icon. - cli: *ref_275 - protocol: {} - - &ref_286 - schema: *ref_47 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_276 - language: - default: - name: icon_index - description: Index of the icon. - cli: *ref_277 - protocol: {} - signatureParameters: - - *ref_278 - - *ref_279 - - *ref_280 - - *ref_281 - - *ref_282 - - *ref_283 - - *ref_284 - - *ref_285 - - *ref_286 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_287 - - *ref_288 - - *ref_289 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Update: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: update - description: Update an application. - cli: - name: Update - description: Update an application. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_290 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_291 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_290 - - *ref_291 - responses: - - schema: *ref_292 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Applications_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List applications. - paging: - nextLinkName: nextLink - cli: - name: List - description: List applications. - cliKey: List - protocol: {} - language: - default: - name: Application - description: '' - cli: - name: Application - description: '' - cliKey: Applications - hidden: true - protocol: {} - - $key: Desktops - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_293 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_294 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_295 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: desktop_name - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - name: desktopName - description: The name of the desktop within the specified desktop group - cliKey: desktopName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_293 - - *ref_294 - - *ref_295 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: get - description: Get a desktop. - cli: - name: Get - description: Get a desktop. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_307 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_308 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_309 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: desktop_name - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - name: desktopName - description: The name of the desktop within the specified desktop group - cliKey: desktopName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_297 - schema: *ref_296 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _desktop - description: Object containing Desktop definitions. - cli: - name: _desktop - description: Object containing Desktop definitions. - cliKey: desktop - protocol: - http: - in: body - style: json - - &ref_304 - schema: *ref_39 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_298 - language: - default: - name: tags - description: tags to be updated - cli: *ref_299 - protocol: {} - - &ref_305 - schema: *ref_108 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_300 - language: - default: - name: description - description: Description of Desktop. - cli: *ref_301 - protocol: {} - - &ref_306 - schema: *ref_109 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_302 - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: *ref_303 - protocol: {} - signatureParameters: - - *ref_304 - - *ref_305 - - *ref_306 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_307 - - *ref_308 - - *ref_309 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktop: - properties: - description: des1 - friendlyName: friendly - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: update - description: Update a desktop. - cli: - name: Update - description: Update a desktop. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_310 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_311 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' - method: get - uri: '{$host}' - signatureParameters: - - *ref_310 - - *ref_311 - responses: - - schema: *ref_312 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: list - description: List desktops. - cli: - name: List - description: List desktops. - cliKey: List - protocol: {} - language: - default: - name: Desktop - description: '' - cli: - name: Desktop - description: '' - cliKey: Desktops - hidden: true - protocol: {} - - $key: HostPools - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_313 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_314 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_313 - - *ref_314 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get a host pool. - cli: - name: Get - description: Get a host pool. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_354 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_355 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_315 - schema: *ref_36 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _host_pool - description: Object containing HostPool definitions. - cli: - name: _host_pool - description: Object containing HostPool definitions. - cliKey: hostPool - protocol: - http: - in: body - style: json - - &ref_340 - schema: *ref_37 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_341 - schema: *ref_38 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_342 - schema: *ref_19 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_316 - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: *ref_317 - protocol: {} - - &ref_343 - schema: *ref_20 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_318 - language: - default: - name: description - description: Description of HostPool. - cli: *ref_319 - protocol: {} - - &ref_344 - schema: *ref_21 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_320 - language: - default: - name: host_pool_type - description: HostPool type for desktop. - cli: *ref_321 - protocol: {} - - &ref_345 - schema: *ref_22 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_322 - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: *ref_323 - protocol: {} - - &ref_346 - schema: *ref_23 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_324 - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: *ref_325 - protocol: {} - - &ref_347 - schema: *ref_24 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_326 - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: *ref_327 - protocol: {} - - &ref_348 - schema: *ref_25 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_328 - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: *ref_329 - protocol: {} - - &ref_349 - schema: *ref_26 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_330 - language: - default: - name: ring - description: The ring number of HostPool. - cli: *ref_331 - protocol: {} - - &ref_350 - schema: *ref_27 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_332 - language: - default: - name: validation_environment - description: Is validation environment. - cli: *ref_333 - protocol: {} - - &ref_351 - schema: *ref_111 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_334 - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: *ref_335 - protocol: {} - - &ref_352 - schema: *ref_31 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_336 - language: - default: - name: vm_template - description: VM template for sessionhosts configuration within hostpool. - cli: *ref_337 - protocol: {} - - &ref_353 - schema: *ref_33 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_338 - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: *ref_339 - protocol: {} - signatureParameters: - - *ref_340 - - *ref_341 - - *ref_342 - - *ref_343 - - *ref_344 - - *ref_345 - - *ref_346 - - *ref_347 - - *ref_348 - - *ref_349 - - *ref_350 - - *ref_351 - - *ref_352 - - *ref_353 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_354 - - *ref_355 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Create: - parameters: - api-version: 2019-12-10-preview - hostPool: - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '201': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update a host pool. - cli: - name: CreateOrUpdate - description: Create or update a host pool. - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_357 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_358 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_359 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to delete sessionHost. - serializedName: force - cli: - name: force - description: Force flag to delete sessionHost. - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_357 - - *ref_358 - - *ref_359 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove a host pool. - cli: - name: Delete - description: Remove a host pool. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_394 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_395 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_360 - schema: *ref_87 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _host_pool - description: Object containing HostPool definitions. - cli: - name: _host_pool - description: Object containing HostPool definitions. - cliKey: hostPool - protocol: - http: - in: body - style: json - - &ref_383 - schema: *ref_39 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_361 - language: - default: - name: tags - description: tags to be updated - cli: *ref_362 - protocol: {} - - &ref_384 - schema: *ref_61 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_363 - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: *ref_364 - protocol: {} - - &ref_385 - schema: *ref_62 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_365 - language: - default: - name: description - description: Description of HostPool. - cli: *ref_366 - protocol: {} - - &ref_386 - schema: *ref_63 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_367 - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: *ref_368 - protocol: {} - - &ref_387 - schema: *ref_24 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_369 - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: *ref_370 - protocol: {} - - &ref_388 - schema: *ref_22 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_371 - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: *ref_372 - protocol: {} - - &ref_389 - schema: *ref_25 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_373 - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: *ref_374 - protocol: {} - - &ref_390 - schema: *ref_26 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_375 - language: - default: - name: ring - description: The ring number of HostPool. - cli: *ref_376 - protocol: {} - - &ref_391 - schema: *ref_27 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_377 - language: - default: - name: validation_environment - description: Is validation environment. - cli: *ref_378 - protocol: {} - - &ref_392 - schema: *ref_112 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_379 - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: *ref_380 - protocol: {} - - &ref_393 - schema: *ref_64 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_381 - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: *ref_382 - protocol: {} - signatureParameters: - - *ref_383 - - *ref_384 - - *ref_385 - - *ref_386 - - *ref_387 - - *ref_388 - - *ref_389 - - *ref_390 - - *ref_391 - - *ref_392 - - *ref_393 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_394 - - *ref_395 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Update: - parameters: - api-version: 2019-12-10-preview - hostPool: - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-02T14:01:54.9571247Z' - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update a host pool. - cli: - name: Update - description: Update a host pool. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_396 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: - - *ref_396 - responses: - - schema: *ref_397 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List hostPools. - paging: - nextLinkName: nextLink - cli: - name: ListByResourceGroup - description: List hostPools. - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_397 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_List: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List hostPools in subscription. - paging: - nextLinkName: nextLink - cli: - name: List - description: List hostPools in subscription. - cliKey: List - protocol: {} - language: - default: - name: HostPool - description: '' - cli: - name: HostPool - description: '' - cliKey: HostPools - protocol: {} - - $key: UserSessions - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_398 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_399 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_400 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_398 - - *ref_399 - - *ref_400 - responses: - - schema: *ref_401 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_ListByHostPool: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_host_pool - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - name: ListByHostPool - description: List userSessions. - cliKey: ListByHostPool - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_404 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_405 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_406 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_407 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - name: userSessionId - description: The name of the user session within the specified session host - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_404 - - *ref_405 - - *ref_406 - - *ref_407 - responses: - - schema: *ref_88 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - body: - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - language: - default: - name: get - description: Get a userSession. - cli: - name: Get - description: Get a userSession. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_408 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_409 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_410 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_411 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - name: userSessionId - description: The name of the user session within the specified session host - cliKey: userSessionId - protocol: - http: - in: path - - &ref_412 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to login off userSession. - serializedName: force - cli: - name: force - description: Force flag to login off userSession. - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_408 - - *ref_409 - - *ref_410 - - *ref_411 - - *ref_412 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - '204': {} - language: - default: - name: delete - description: Remove a userSession. - cli: - name: Delete - description: Remove a userSession. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_413 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_414 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_415 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_413 - - *ref_414 - - *ref_415 - responses: - - schema: *ref_401 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - name: List - description: List userSessions. - cliKey: List - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_416 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_417 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_418 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_419 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - name: userSessionId - description: The name of the user session within the specified session host - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' - method: post - uri: '{$host}' - signatureParameters: - - *ref_416 - - *ref_417 - - *ref_418 - - *ref_419 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Disconnect_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: disconnect - description: Disconnect a userSession. - cli: - name: Disconnect - description: Disconnect a userSession. - cliKey: Disconnect - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_428 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_429 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_430 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_431 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - name: userSessionId - description: The name of the user session within the specified session host - cliKey: userSessionId - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_421 - schema: *ref_420 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _send_message - description: Object containing message includes title and message body - cli: - name: _send_message - description: Object containing message includes title and message body - cliKey: sendMessage - protocol: - http: - in: body - style: json - - &ref_426 - schema: *ref_116 - implementation: Method - originalParameter: *ref_421 - pathToProperty: [] - targetProperty: *ref_422 - language: - default: - name: message_title - description: Title of message. - cli: *ref_423 - protocol: {} - - &ref_427 - schema: *ref_117 - implementation: Method - originalParameter: *ref_421 - pathToProperty: [] - targetProperty: *ref_424 - language: - default: - name: message_body - description: Body of message. - cli: *ref_425 - protocol: {} - signatureParameters: - - *ref_426 - - *ref_427 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' - method: post - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_428 - - *ref_429 - - *ref_430 - - *ref_431 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_SendMessage_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sendMessage: - messageBody: body - messageTitle: title - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: send_message - description: Send a message to a user. - cli: - name: SendMessage - description: Send a message to a user. - cliKey: SendMessage - protocol: {} - language: - default: - name: UserSession - description: '' - cli: - name: UserSession - description: '' - cliKey: UserSessions - hidden: true - protocol: {} - - $key: SessionHosts - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_432 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_433 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_434 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_432 - - *ref_433 - - *ref_434 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: get - description: Get a session host. - cli: - name: Get - description: Get a session host. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_435 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_436 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_437 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_438 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to force sessionHost deletion even when userSession exists. - serializedName: force - cli: - name: force - description: Force flag to force sessionHost deletion even when userSession exists. - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_435 - - *ref_436 - - *ref_437 - - *ref_438 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - '204': {} - language: - default: - name: delete - description: Remove a SessionHost. - cli: - name: Delete - description: Remove a SessionHost. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_446 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_447 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_448 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_439 - schema: *ref_90 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _session_host - description: Object containing SessionHost definitions. - cli: - name: _session_host - description: Object containing SessionHost definitions. - cliKey: sessionHost - protocol: - http: - in: body - style: json - - &ref_444 - schema: *ref_73 - implementation: Method - originalParameter: *ref_439 - pathToProperty: [] - targetProperty: *ref_440 - language: - default: - name: allow_new_session - description: Allow a new session. - cli: *ref_441 - protocol: {} - - &ref_445 - schema: *ref_82 - implementation: Method - originalParameter: *ref_439 - pathToProperty: [] - targetProperty: *ref_442 - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: *ref_443 - protocol: {} - signatureParameters: - - *ref_444 - - *ref_445 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_446 - - *ref_447 - - *ref_448 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Update: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHost: - properties: - allowNewSession: true - assignedUser: user1@microsoft.com - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2019-01-11T19:27:13.6108027Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2019-01-24T20:00:08.2893033Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: update - description: Update a session host. - cli: - name: Update - description: Update a session host. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_449 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_450 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' - method: get - uri: '{$host}' - signatureParameters: - - *ref_449 - - *ref_450 - responses: - - schema: *ref_451 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - - name: sessionHost2.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user2@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List sessionHosts. - paging: - nextLinkName: nextLink - cli: - name: List - description: List sessionHosts. - cliKey: List - protocol: {} - language: - default: - name: SessionHost - description: '' - cli: - name: SessionHost - description: '' - cliKey: SessionHosts - hidden: true - protocol: {} - - $key: ActiveApplications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_452 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_453 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_454 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_455 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_452 - - *ref_453 - - *ref_454 - - *ref_455 - responses: - - schema: *ref_292 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ActiveApplications_List: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_session_host - description: List applications for the given session host. - paging: - nextLinkName: nextLink - cli: - name: ListBySessionHost - description: List applications for the given session host. - cliKey: ListBySessionHost - protocol: {} - language: - default: - name: ActiveApplication - description: '' - cli: - name: ActiveApplication - description: '' - cliKey: ActiveApplications - hidden: true - protocol: {} -language: - default: - name: DesktopVirtualizationAPIClient - description: '' - cli: - name: DesktopVirtualizationAPIClient - description: '' -protocol: - http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-000130-complex-marker-post-simplified.yaml b/src/desktopvirtualization/_az_debug/clicommon-000130-complex-marker-post-simplified.yaml deleted file mode 100644 index 64c46f93a8e..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000130-complex-marker-post-simplified.yaml +++ /dev/null @@ -1,2383 +0,0 @@ -operationGroups: - all: - - operationGroupName: Operation - cli: - cliKey: Operations - operations: - - operationName: list - cli: - name: List - cliKey: List - hidden: true - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - operationGroupName: Workspace - cli: - cliKey: Workspaces - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - name: workspaceName - cliKey: workspaceName - - operationName: create_or_update - cli: - name: CreateOrUpdate - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - name: workspaceName - cliKey: workspaceName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _workspace(Workspace^object) - cli: - cliKey: workspace - x-ms-client-flatten: true - bodySchema: Workspace - - parameterName[0]: tags(TrackedResourceTags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(TrackedResourceLocation^string) - cli: - cliKey: location - - parameterName[0]: description(WorkspacePropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(WorkspacePropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: application_group_references(WorkspacePropertiesApplicationGroupReferences^array) - cli: - name: applicationGroupReferences - cliKey: applicationGroupReferences - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - name: workspaceName - cliKey: workspaceName - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - name: workspaceName - cliKey: workspaceName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _workspace(WorkspacePatch^object) - cli: - cliKey: workspace - x-ms-client-flatten: true - bodySchema: WorkspacePatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(WorkspacePatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(WorkspacePatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: application_group_references(WorkspacePatchPropertiesApplicationGroupReferences^array) - cli: - name: applicationGroupReferences - cliKey: applicationGroupReferences - - operationName: list_by_resource_group - cli: - name: ListByResourceGroup - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - operationName: list_by_subscription - cli: - name: ListBySubscription - cliKey: ListBySubscription - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - operationGroupName: ApplicationGroupAssignment - cli: - cliKey: ApplicationGroupAssignments - hidden: true - operations: - - operationName: workspace_level_list - cli: - name: WorkspaceLevelList - cliKey: WorkspaceLevelList - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: workspace_name(String^string) - cli: - name: workspaceName - cliKey: workspaceName - - parameterName: filter(String^string) - cli: - cliKey: $filter - - operationGroupName: ApplicationGroup - cli: - cliKey: ApplicationGroups - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - operationName: create_or_update - cli: - name: CreateOrUpdate - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _application_group(ApplicationGroup^object) - cli: - cliKey: applicationGroup - x-ms-client-flatten: true - bodySchema: ApplicationGroup - - parameterName[0]: tags(TrackedResourceTags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(TrackedResourceLocation^string) - cli: - cliKey: location - - parameterName[0]: description(ApplicationGroupPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(ApplicationGroupPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: host_pool_arm_path(ApplicationGroupPropertiesHostPoolArmPath^string) - cli: - name: hostPoolArmPath - cliKey: hostPoolArmPath - - parameterName[0]: application_group_type(ApplicationGroupType^choice) - cli: - name: applicationGroupType - cliKey: applicationGroupType - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _application_group(ApplicationGroupPatch^object) - cli: - cliKey: applicationGroup - x-ms-client-flatten: true - bodySchema: ApplicationGroupPatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(ApplicationGroupPatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(ApplicationGroupPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - operationName: list_by_resource_group - cli: - name: ListByResourceGroup - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: filter(String^string) - cli: - cliKey: $filter - - operationName: list_by_subscription - cli: - name: ListBySubscription - cliKey: ListBySubscription - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: filter(String^string) - cli: - cliKey: $filter - - operationGroupName: StartMenuItem - cli: - cliKey: StartMenuItems - hidden: true - operations: - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - operationGroupName: Application - cli: - cliKey: Applications - hidden: true - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: application_name(String^string) - cli: - name: applicationName - cliKey: applicationName - - operationName: create_or_update - cli: - name: CreateOrUpdate - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: application_name(String^string) - cli: - name: applicationName - cliKey: applicationName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _application(Application^object) - cli: - cliKey: application - x-ms-client-flatten: true - bodySchema: Application - - parameterName[0]: description(ApplicationPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(ApplicationPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: file_path(ApplicationPropertiesFilePath^string) - cli: - name: filePath - cliKey: filePath - - parameterName[0]: command_line_setting(CommandLineSetting^choice) - cli: - name: commandLineSetting - cliKey: commandLineSetting - - parameterName[0]: command_line_arguments(ApplicationPropertiesCommandLineArguments^string) - cli: - name: commandLineArguments - cliKey: commandLineArguments - - parameterName[0]: show_in_portal(boolean^boolean) - cli: - name: showInPortal - cliKey: showInPortal - - parameterName[0]: icon_path(ApplicationPropertiesIconPath^string) - cli: - name: iconPath - cliKey: iconPath - - parameterName[0]: icon_index(Integer^integer) - cli: - name: iconIndex - cliKey: iconIndex - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: application_name(String^string) - cli: - name: applicationName - cliKey: applicationName - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: application_name(String^string) - cli: - name: applicationName - cliKey: applicationName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _application(ApplicationPatch^object) - cli: - cliKey: application - x-ms-client-flatten: true - bodySchema: ApplicationPatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(ApplicationPatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(ApplicationPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: file_path(ApplicationPatchPropertiesFilePath^string) - cli: - name: filePath - cliKey: filePath - - parameterName[0]: command_line_setting(CommandLineSetting^choice) - cli: - name: commandLineSetting - cliKey: commandLineSetting - - parameterName[0]: command_line_arguments(ApplicationPatchPropertiesCommandLineArguments^string) - cli: - name: commandLineArguments - cliKey: commandLineArguments - - parameterName[0]: show_in_portal(boolean^boolean) - cli: - name: showInPortal - cliKey: showInPortal - - parameterName[0]: icon_path(ApplicationPatchPropertiesIconPath^string) - cli: - name: iconPath - cliKey: iconPath - - parameterName[0]: icon_index(Integer^integer) - cli: - name: iconIndex - cliKey: iconIndex - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - operationGroupName: Desktop - cli: - cliKey: Desktops - hidden: true - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: desktop_name(String^string) - cli: - name: desktopName - cliKey: desktopName - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - parameterName: desktop_name(String^string) - cli: - name: desktopName - cliKey: desktopName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _desktop(DesktopPatch^object) - cli: - cliKey: desktop - x-ms-client-flatten: true - bodySchema: DesktopPatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: description(DesktopPatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: friendly_name(DesktopPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: application_group_name(String^string) - cli: - name: applicationGroupName - cliKey: applicationGroupName - - operationGroupName: HostPool - cli: - cliKey: HostPools - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - operationName: create_or_update - cli: - name: CreateOrUpdate - cliKey: CreateOrUpdate - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _host_pool(HostPool^object) - cli: - cliKey: hostPool - x-ms-client-flatten: true - bodySchema: HostPool - - parameterName[0]: tags(TrackedResourceTags^dictionary) - cli: - cliKey: tags - - parameterName[0]: location(TrackedResourceLocation^string) - cli: - cliKey: location - - parameterName[0]: friendly_name(HostPoolPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: description(HostPoolPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: host_pool_type(HostPoolType^choice) - cli: - name: hostPoolType - cliKey: hostPoolType - - parameterName[0]: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) - cli: - name: personalDesktopAssignmentType - cliKey: personalDesktopAssignmentType - - parameterName[0]: custom_rdp_property(HostPoolPropertiesCustomRdpProperty^string) - cli: - name: customRdpProperty - cliKey: customRdpProperty - - parameterName[0]: max_session_limit(Integer^integer) - cli: - name: maxSessionLimit - cliKey: maxSessionLimit - - parameterName[0]: load_balancer_type(LoadBalancerType^choice) - cli: - name: loadBalancerType - cliKey: loadBalancerType - - parameterName[0]: ring(Integer^integer) - cli: - cliKey: ring - - parameterName[0]: validation_environment(boolean^boolean) - cli: - name: validationEnvironment - cliKey: validationEnvironment - - parameterName[0]: registration_info(RegistrationInfo^object) - cli: - name: registrationInfo - cliKey: registrationInfo - - parameterName[0]: vm_template(HostPoolPropertiesVmTemplate^string) - cli: - name: vmTemplate - cliKey: vmTemplate - - parameterName[0]: sso_context(HostPoolPropertiesSsoContext^string) - cli: - name: ssoContext - cliKey: ssoContext - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _host_pool(HostPoolPatch^object) - cli: - cliKey: hostPool - x-ms-client-flatten: true - bodySchema: HostPoolPatch - - parameterName[0]: tags(any^any) - cli: - cliKey: tags - - parameterName[0]: friendly_name(HostPoolPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - parameterName[0]: description(HostPoolPatchPropertiesDescription^string) - cli: - cliKey: description - - parameterName[0]: custom_rdp_property(HostPoolPatchPropertiesCustomRdpProperty^string) - cli: - name: customRdpProperty - cliKey: customRdpProperty - - parameterName[0]: max_session_limit(Integer^integer) - cli: - name: maxSessionLimit - cliKey: maxSessionLimit - - parameterName[0]: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) - cli: - name: personalDesktopAssignmentType - cliKey: personalDesktopAssignmentType - - parameterName[0]: load_balancer_type(LoadBalancerType^choice) - cli: - name: loadBalancerType - cliKey: loadBalancerType - - parameterName[0]: ring(Integer^integer) - cli: - cliKey: ring - - parameterName[0]: validation_environment(boolean^boolean) - cli: - name: validationEnvironment - cliKey: validationEnvironment - - parameterName[0]: registration_info(RegistrationInfoPatch^object) - cli: - name: registrationInfo - cliKey: registrationInfo - - parameterName[0]: sso_context(HostPoolPatchPropertiesSsoContext^string) - cli: - name: ssoContext - cliKey: ssoContext - - operationName: list_by_resource_group - cli: - name: ListByResourceGroup - cliKey: ListByResourceGroup - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - operationGroupName: UserSession - cli: - cliKey: UserSessions - hidden: true - operations: - - operationName: list_by_host_pool - cli: - name: ListByHostPool - cliKey: ListByHostPool - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: filter(String^string) - cli: - cliKey: $filter - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: user_session_id(String^string) - cli: - name: userSessionId - cliKey: userSessionId - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: user_session_id(String^string) - cli: - name: userSessionId - cliKey: userSessionId - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - operationName: disconnect - cli: - name: Disconnect - cliKey: Disconnect - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: user_session_id(String^string) - cli: - name: userSessionId - cliKey: userSessionId - - operationName: send_message - cli: - name: SendMessage - cliKey: SendMessage - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: user_session_id(String^string) - cli: - name: userSessionId - cliKey: userSessionId - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _send_message(SendMessage^object) - cli: - cliKey: sendMessage - x-ms-client-flatten: true - bodySchema: SendMessage - - parameterName[0]: message_title(SendMessageTitle^string) - cli: - name: messageTitle - cliKey: messageTitle - - parameterName[0]: message_body(SendMessageBody^string) - cli: - name: messageBody - cliKey: messageBody - - operationGroupName: SessionHost - cli: - cliKey: SessionHosts - hidden: true - operations: - - operationName: get - cli: - name: Get - cliKey: Get - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - operationName: delete - cli: - name: Delete - cliKey: Delete - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: force(boolean^boolean) - cli: - cliKey: force - - operationName: update - cli: - name: Update - cliKey: Update - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName[0]: content_type(application_json^constant) - cli: - name: ContentType - cliKey: content-type - - parameterName[0]: _session_host(SessionHostPatch^object) - cli: - cliKey: sessionHost - x-ms-client-flatten: true - bodySchema: SessionHostPatch - - parameterName[0]: allow_new_session(boolean^boolean) - cli: - name: allowNewSession - cliKey: allowNewSession - - parameterName[0]: assigned_user(SessionHostPatchPropertiesAssignedUser^string) - cli: - name: assignedUser - cliKey: assignedUser - - operationName: list - cli: - name: List - cliKey: List - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - operationGroupName: ActiveApplication - cli: - cliKey: ActiveApplications - hidden: true - operations: - - operationName: list_by_session_host - cli: - name: ListBySessionHost - cliKey: ListBySessionHost - parameters: - - parameterName: $host(String^string) - cli: - cliKey: $host - - parameterName: api_version(api_version2019_12_10_preview^constant) - cli: - name: ApiVersion - cliKey: ApiVersion - - parameterName: subscription_id(String^string) - cli: - name: subscriptionId - cliKey: subscriptionId - - parameterName: resource_group_name(String^string) - cli: - name: resourceGroupName - cliKey: resourceGroupName - - parameterName: host_pool_name(String^string) - cli: - name: hostPoolName - cliKey: hostPoolName - - parameterName: session_host_name(String^string) - cli: - name: sessionHostName - cliKey: sessionHostName - - parameterName: filter(String^string) - cli: - cliKey: $filter -schemas: - objects: - all: - - schemaName: ResourceProviderOperationList - cli: - cliKey: ResourceProviderOperationList - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: value(ResourceProviderOperationListValue^array) - cli: - cliKey: value - - schemaName: ResourceProviderOperation - cli: - cliKey: ResourceProviderOperation - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 2 - cli-mark: checked - properties: - - propertyName: name(ResourceProviderOperationName^string) - cli: - cliKey: name - - propertyName: display(ResourceProviderOperationDisplay^object) - cli: - cliKey: display - - schemaName: ResourceProviderOperationDisplay - cli: - cliKey: ResourceProviderOperation-display - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - cli-mark: checked - properties: - - propertyName: provider(ResourceProviderOperationDisplayProvider^string) - cli: - cliKey: provider - - propertyName: resource(ResourceProviderOperationDisplayResource^string) - cli: - cliKey: resource - - propertyName: operation(ResourceProviderOperationDisplayOperation^string) - cli: - cliKey: operation - - propertyName: description(ResourceProviderOperationDisplayDescription^string) - cli: - cliKey: description - - schemaName: Resource - cli: - cliKey: Resource - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 0 - propertyCountIfSimplifyWithoutSimpleObject: 0 - cli-mark: checked - properties: - - propertyName: id(ResourceId^string) - cli: - cliKey: id - readOnly: true - - propertyName: name(ResourceName^string) - cli: - cliKey: name - readOnly: true - - propertyName: type(ResourceType^string) - cli: - cliKey: type - readOnly: true - - schemaName: TrackedResource - cli: - cliKey: TrackedResource - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: tags(TrackedResourceTags^dictionary) - cli: - cliKey: tags - - propertyName: location(TrackedResourceLocation^string) - cli: - cliKey: location - - schemaName: Workspace - cli: - cliKey: Workspace - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: description(WorkspacePropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(WorkspacePropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: application_group_references(WorkspacePropertiesApplicationGroupReferences^array) - cli: - name: applicationGroupReferences - cliKey: applicationGroupReferences - - schemaName: CloudError - cli: - cliKey: CloudError - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - cli-mark: checked - properties: - - propertyName: code(CloudErrorCode^string) - cli: - cliKey: code - - propertyName: message(CloudErrorMessage^string) - cli: - cliKey: message - - schemaName: WorkspacePatch - cli: - cliKey: WorkspacePatch - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(WorkspacePatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(WorkspacePatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: application_group_references(WorkspacePatchPropertiesApplicationGroupReferences^array) - cli: - name: applicationGroupReferences - cliKey: applicationGroupReferences - - schemaName: WorkspaceList - cli: - cliKey: WorkspaceList - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: value(WorkspaceListValue^array) - cli: - cliKey: value - - propertyName: next_link(WorkspaceListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: ApplicationGroupList - cli: - cliKey: ApplicationGroupList - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: value(ApplicationGroupListValue^array) - cli: - cliKey: value - - propertyName: next_link(ApplicationGroupListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: ApplicationGroup - cli: - cliKey: ApplicationGroup - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: description(ApplicationGroupPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(ApplicationGroupPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: host_pool_arm_path(ApplicationGroupPropertiesHostPoolArmPath^string) - cli: - name: hostPoolArmPath - cliKey: hostPoolArmPath - - propertyName: workspace_arm_path(ApplicationGroupPropertiesWorkspaceArmPath^string) - cli: - name: workspaceArmPath - cliKey: workspaceArmPath - readOnly: true - - propertyName: application_group_type(ApplicationGroupType^choice) - cli: - name: applicationGroupType - cliKey: applicationGroupType - - schemaName: ApplicationGroupPatch - cli: - cliKey: ApplicationGroupPatch - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(ApplicationGroupPatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(ApplicationGroupPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - schemaName: StartMenuItemList - cli: - cliKey: StartMenuItemList - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: value(StartMenuItemListValue^array) - cli: - cliKey: value - - propertyName: next_link(StartMenuItemListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: StartMenuItem - cli: - cliKey: StartMenuItem - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 6 - cli-mark: checked - properties: - - propertyName: app_alias(StartMenuItemPropertiesAppAlias^string) - cli: - name: appAlias - cliKey: appAlias - - propertyName: friendly_name(StartMenuItemPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: file_path(StartMenuItemPropertiesFilePath^string) - cli: - name: filePath - cliKey: filePath - - propertyName: command_line_arguments(StartMenuItemPropertiesCommandLineArguments^string) - cli: - name: commandLineArguments - cliKey: commandLineArguments - - propertyName: icon_path(StartMenuItemPropertiesIconPath^string) - cli: - name: iconPath - cliKey: iconPath - - propertyName: icon_index(Integer^integer) - cli: - name: iconIndex - cliKey: iconIndex - - schemaName: Application - cli: - cliKey: Application - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 8 - cli-mark: checked - properties: - - propertyName: description(ApplicationPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(ApplicationPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: file_path(ApplicationPropertiesFilePath^string) - cli: - name: filePath - cliKey: filePath - - propertyName: command_line_setting(CommandLineSetting^choice) - cli: - name: commandLineSetting - cliKey: commandLineSetting - - propertyName: command_line_arguments(ApplicationPropertiesCommandLineArguments^string) - cli: - name: commandLineArguments - cliKey: commandLineArguments - - propertyName: show_in_portal(boolean^boolean) - cli: - name: showInPortal - cliKey: showInPortal - - propertyName: icon_path(ApplicationPropertiesIconPath^string) - cli: - name: iconPath - cliKey: iconPath - - propertyName: icon_index(Integer^integer) - cli: - name: iconIndex - cliKey: iconIndex - - propertyName: icon_hash(ApplicationPropertiesIconHash^string) - cli: - name: iconHash - cliKey: iconHash - readOnly: true - - propertyName: icon_content(application_properties_icon_content^byte-array) - cli: - name: iconContent - cliKey: iconContent - readOnly: true - - schemaName: ApplicationPatch - cli: - cliKey: ApplicationPatch - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(ApplicationPatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(ApplicationPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: file_path(ApplicationPatchPropertiesFilePath^string) - cli: - name: filePath - cliKey: filePath - - propertyName: command_line_setting(CommandLineSetting^choice) - cli: - name: commandLineSetting - cliKey: commandLineSetting - - propertyName: command_line_arguments(ApplicationPatchPropertiesCommandLineArguments^string) - cli: - name: commandLineArguments - cliKey: commandLineArguments - - propertyName: show_in_portal(boolean^boolean) - cli: - name: showInPortal - cliKey: showInPortal - - propertyName: icon_path(ApplicationPatchPropertiesIconPath^string) - cli: - name: iconPath - cliKey: iconPath - - propertyName: icon_index(Integer^integer) - cli: - name: iconIndex - cliKey: iconIndex - - schemaName: ApplicationList - cli: - cliKey: ApplicationList - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: value(ApplicationListValue^array) - cli: - cliKey: value - - propertyName: next_link(ApplicationListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: Desktop - cli: - cliKey: Desktop - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - cli-mark: checked - properties: - - propertyName: description(DesktopPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(DesktopPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: icon_hash(DesktopPropertiesIconHash^string) - cli: - name: iconHash - cliKey: iconHash - readOnly: true - - propertyName: icon_content(desktop_properties_icon_content^byte-array) - cli: - name: iconContent - cliKey: iconContent - readOnly: true - - schemaName: DesktopPatch - cli: - cliKey: DesktopPatch - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: description(DesktopPatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: friendly_name(DesktopPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - schemaName: DesktopList - cli: - cliKey: DesktopList - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: value(DesktopListValue^array) - cli: - cliKey: value - - propertyName: next_link(DesktopListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: HostPool - cli: - cliKey: HostPool - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: friendly_name(HostPoolPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: description(HostPoolPropertiesDescription^string) - cli: - cliKey: description - - propertyName: host_pool_type(HostPoolType^choice) - cli: - name: hostPoolType - cliKey: hostPoolType - - propertyName: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) - cli: - name: personalDesktopAssignmentType - cliKey: personalDesktopAssignmentType - - propertyName: custom_rdp_property(HostPoolPropertiesCustomRdpProperty^string) - cli: - name: customRdpProperty - cliKey: customRdpProperty - - propertyName: max_session_limit(Integer^integer) - cli: - name: maxSessionLimit - cliKey: maxSessionLimit - - propertyName: load_balancer_type(LoadBalancerType^choice) - cli: - name: loadBalancerType - cliKey: loadBalancerType - - propertyName: ring(Integer^integer) - cli: - cliKey: ring - - propertyName: validation_environment(boolean^boolean) - cli: - name: validationEnvironment - cliKey: validationEnvironment - - propertyName: registration_info(RegistrationInfo^object) - cli: - name: registrationInfo - cliKey: registrationInfo - - propertyName: vm_template(HostPoolPropertiesVmTemplate^string) - cli: - name: vmTemplate - cliKey: vmTemplate - - propertyName: application_group_references(HostPoolPropertiesApplicationGroupReferences^array) - cli: - name: applicationGroupReferences - cliKey: applicationGroupReferences - readOnly: true - - propertyName: sso_context(HostPoolPropertiesSsoContext^string) - cli: - name: ssoContext - cliKey: ssoContext - - schemaName: RegistrationInfo - cli: - cliKey: RegistrationInfo - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 3 - propertyCountIfSimplifyWithoutSimpleObject: 3 - cli-mark: checked - properties: - - propertyName: expiration_time(registration_info_expiration_time^date-time) - cli: - name: expirationTime - cliKey: expirationTime - - propertyName: token(RegistrationInfoToken^string) - cli: - cliKey: token - - propertyName: registration_token_operation(RegistrationTokenOperation^choice) - cli: - name: registrationTokenOperation - cliKey: registrationTokenOperation - - schemaName: HostPoolPatch - cli: - cliKey: HostPoolPatch - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: tags(any^any) - cli: - cliKey: tags - - propertyName: friendly_name(HostPoolPatchPropertiesFriendlyName^string) - cli: - name: friendlyName - cliKey: friendlyName - - propertyName: description(HostPoolPatchPropertiesDescription^string) - cli: - cliKey: description - - propertyName: custom_rdp_property(HostPoolPatchPropertiesCustomRdpProperty^string) - cli: - name: customRdpProperty - cliKey: customRdpProperty - - propertyName: max_session_limit(Integer^integer) - cli: - name: maxSessionLimit - cliKey: maxSessionLimit - - propertyName: personal_desktop_assignment_type(PersonalDesktopAssignmentType^choice) - cli: - name: personalDesktopAssignmentType - cliKey: personalDesktopAssignmentType - - propertyName: load_balancer_type(LoadBalancerType^choice) - cli: - name: loadBalancerType - cliKey: loadBalancerType - - propertyName: ring(Integer^integer) - cli: - cliKey: ring - - propertyName: validation_environment(boolean^boolean) - cli: - name: validationEnvironment - cliKey: validationEnvironment - - propertyName: registration_info(RegistrationInfoPatch^object) - cli: - name: registrationInfo - cliKey: registrationInfo - - propertyName: sso_context(HostPoolPatchPropertiesSsoContext^string) - cli: - name: ssoContext - cliKey: ssoContext - - schemaName: RegistrationInfoPatch - cli: - cliKey: RegistrationInfoPatch - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 1 - propertyCountIfSimplifyWithoutSimpleObject: 1 - cli-mark: checked - properties: - - propertyName: registration_token_operation(RegistrationTokenOperation^choice) - cli: - name: registrationTokenOperation - cliKey: registrationTokenOperation - - schemaName: HostPoolList - cli: - cliKey: HostPoolList - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: value(HostPoolListValue^array) - cli: - cliKey: value - - propertyName: next_link(HostPoolListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: UserSessionList - cli: - cliKey: UserSessionList - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: value(UserSessionListValue^array) - cli: - cliKey: value - - propertyName: next_link(UserSessionListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: UserSession - cli: - cliKey: UserSession - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 5 - cli-mark: checked - properties: - - propertyName: user_principal_name(UserSessionPropertiesUserPrincipalName^string) - cli: - name: userPrincipalName - cliKey: userPrincipalName - - propertyName: application_type(ApplicationType^choice) - cli: - name: applicationType - cliKey: applicationType - - propertyName: session_state(SessionState^choice) - cli: - name: sessionState - cliKey: sessionState - - propertyName: active_directory_user_name(UserSessionPropertiesActiveDirectoryUserName^string) - cli: - name: activeDirectoryUserName - cliKey: activeDirectoryUserName - - propertyName: create_time(user_session_properties_create_time^date-time) - cli: - name: createTime - cliKey: createTime - - schemaName: SessionHost - cli: - cliKey: SessionHost - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 10 - cli-mark: checked - properties: - - propertyName: last_heart_beat(session_host_properties_last_heart_beat^date-time) - cli: - name: lastHeartBeat - cliKey: lastHeartBeat - - propertyName: sessions(Integer^integer) - cli: - cliKey: sessions - - propertyName: agent_version(SessionHostPropertiesAgentVersion^string) - cli: - name: agentVersion - cliKey: agentVersion - - propertyName: allow_new_session(boolean^boolean) - cli: - name: allowNewSession - cliKey: allowNewSession - - propertyName: assigned_user(SessionHostPropertiesAssignedUser^string) - cli: - name: assignedUser - cliKey: assignedUser - - propertyName: status(Status^choice) - cli: - cliKey: status - - propertyName: status_timestamp(session_host_properties_status_timestamp^date-time) - cli: - name: statusTimestamp - cliKey: statusTimestamp - readOnly: true - - propertyName: os_version(SessionHostPropertiesOsVersion^string) - cli: - name: osVersion - cliKey: osVersion - - propertyName: sx_s_stack_version(SessionHostPropertiesSxSStackVersion^string) - cli: - name: sxSStackVersion - cliKey: sxSStackVersion - - propertyName: update_state(UpdateState^choice) - cli: - name: updateState - cliKey: updateState - - propertyName: last_update_time(session_host_properties_last_update_time^date-time) - cli: - name: lastUpdateTime - cliKey: lastUpdateTime - readOnly: true - - propertyName: update_error_message(SessionHostPropertiesUpdateErrorMessage^string) - cli: - name: updateErrorMessage - cliKey: updateErrorMessage - - schemaName: SessionHostPatch - cli: - cliKey: SessionHostPatch - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - cli-mark: checked - properties: - - propertyName: allow_new_session(boolean^boolean) - cli: - name: allowNewSession - cliKey: allowNewSession - - propertyName: assigned_user(SessionHostPatchPropertiesAssignedUser^string) - cli: - name: assignedUser - cliKey: assignedUser - - schemaName: SessionHostList - cli: - cliKey: SessionHostList - cli-complexity: object_complex - cli-simplify-indicator: - simplifiable: false - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - cli-mark: checked - properties: - - propertyName: value(SessionHostListValue^array) - cli: - cliKey: value - - propertyName: next_link(SessionHostListNextLink^string) - cli: - name: nextLink - cliKey: nextLink - readOnly: true - - schemaName: SendMessage - cli: - cliKey: SendMessage - cli-complexity: object_simple - cli-simplify-indicator: - simplifiable: true - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - cli-mark: checked - properties: - - propertyName: message_title(SendMessageTitle^string) - cli: - name: messageTitle - cliKey: messageTitle - - propertyName: message_body(SendMessageBody^string) - cli: - name: messageBody - cliKey: messageBody - choices: - all: - - choiceName: ApplicationGroupType - cli: - cliKey: ApplicationGroupType - choiceValues: - - choiceValue: remote_app - cli: - name: RemoteApp - cliKey: RemoteApp - - choiceValue: desktop - cli: - name: Desktop - cliKey: Desktop - - choiceName: CommandLineSetting - cli: - cliKey: CommandLineSetting - choiceValues: - - choiceValue: do_not_allow - cli: - name: DoNotAllow - cliKey: DoNotAllow - - choiceValue: allow - cli: - name: Allow - cliKey: Allow - - choiceValue: require - cli: - name: Require - cliKey: Require - - choiceName: HostPoolType - cli: - cliKey: HostPoolType - choiceValues: - - choiceValue: personal - cli: - name: Personal - cliKey: Personal - - choiceValue: pooled - cli: - name: Pooled - cliKey: Pooled - - choiceName: PersonalDesktopAssignmentType - cli: - cliKey: PersonalDesktopAssignmentType - choiceValues: - - choiceValue: automatic - cli: - name: Automatic - cliKey: Automatic - - choiceValue: direct - cli: - name: Direct - cliKey: Direct - - choiceName: LoadBalancerType - cli: - cliKey: LoadBalancerType - choiceValues: - - choiceValue: breadth_first - cli: - name: BreadthFirst - cliKey: BreadthFirst - - choiceValue: depth_first - cli: - name: DepthFirst - cliKey: DepthFirst - - choiceValue: persistent - cli: - name: Persistent - cliKey: Persistent - - choiceName: RegistrationTokenOperation - cli: - cliKey: RegistrationTokenOperation - choiceValues: - - choiceValue: delete - cli: - name: Delete - cliKey: Delete - - choiceValue: none - cli: - name: None - cliKey: None - - choiceValue: update - cli: - name: Update - cliKey: Update - - choiceName: ApplicationType - cli: - cliKey: ApplicationType - choiceValues: - - choiceValue: remote_app - cli: - name: RemoteApp - cliKey: RemoteApp - - choiceValue: desktop - cli: - name: Desktop - cliKey: Desktop - - choiceName: SessionState - cli: - cliKey: SessionState - choiceValues: - - choiceValue: unknown - cli: - name: Unknown - cliKey: Unknown - - choiceValue: active - cli: - name: Active - cliKey: Active - - choiceValue: disconnected - cli: - name: Disconnected - cliKey: Disconnected - - choiceValue: pending - cli: - name: Pending - cliKey: Pending - - choiceValue: log_off - cli: - name: LogOff - cliKey: LogOff - - choiceValue: user_profile_disk_mounted - cli: - name: UserProfileDiskMounted - cliKey: UserProfileDiskMounted - - choiceName: Status - cli: - cliKey: Status - choiceValues: - - choiceValue: available - cli: - name: Available - cliKey: Available - - choiceValue: unavailable - cli: - name: Unavailable - cliKey: Unavailable - - choiceValue: shutdown - cli: - name: Shutdown - cliKey: Shutdown - - choiceValue: disconnected - cli: - name: Disconnected - cliKey: Disconnected - - choiceValue: upgrading - cli: - name: Upgrading - cliKey: Upgrading - - choiceValue: upgrade_failed - cli: - name: UpgradeFailed - cliKey: UpgradeFailed - - choiceName: UpdateState - cli: - cliKey: UpdateState - choiceValues: - - choiceValue: initial - cli: - name: Initial - cliKey: Initial - - choiceValue: pending - cli: - name: Pending - cliKey: Pending - - choiceValue: started - cli: - name: Started - cliKey: Started - - choiceValue: succeeded - cli: - name: Succeeded - cliKey: Succeeded - - choiceValue: failed - cli: - name: Failed - cliKey: Failed diff --git a/src/desktopvirtualization/_az_debug/clicommon-000130-complex-marker-post.yaml b/src/desktopvirtualization/_az_debug/clicommon-000130-complex-marker-post.yaml deleted file mode 100644 index ab5555106f6..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-000130-complex-marker-post.yaml +++ /dev/null @@ -1,11138 +0,0 @@ -info: - title: Desktop Virtualization API Client - extensions: - cli-dump-index: 130 -schemas: - booleans: - - &ref_53 - type: boolean - language: - default: - name: boolean - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - protocol: {} - - &ref_27 - type: boolean - language: - default: - name: boolean - description: Is validation environment. - protocol: {} - - &ref_356 - type: boolean - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: boolean - description: '' - protocol: {} - - &ref_73 - type: boolean - language: - default: - name: boolean - description: Allow a new session. - protocol: {} - numbers: - - &ref_47 - type: integer - precision: 32 - language: - default: - name: Integer - description: Index of the icon. - cli: - name: Integer - description: Index of the icon. - protocol: {} - - &ref_24 - type: integer - precision: 32 - language: - default: - name: Integer - description: The max session limit of HostPool. - cli: - name: Integer - description: The max session limit of HostPool. - protocol: {} - - &ref_26 - type: integer - precision: 32 - language: - default: - name: Integer - description: The ring number of HostPool. - cli: - name: Integer - description: The ring number of HostPool. - protocol: {} - - &ref_71 - type: integer - precision: 32 - language: - default: - name: Integer - description: Number of sessions on SessionHost. - cli: - name: Integer - description: Number of sessions on SessionHost. - protocol: {} - strings: - - &ref_0 - type: string - language: - default: - name: String - description: simple string - cli: - name: String - description: simple string - protocol: {} - - &ref_2 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationName - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cli: - name: ResourceProviderOperationName - description: 'Operation name, in format of {provider}/{resource}/{operation}' - protocol: {} - - &ref_3 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationDisplayProvider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cli: - name: ResourceProviderOperationDisplayProvider - description: 'Resource provider: Microsoft Desktop Virtualization.' - protocol: {} - - &ref_4 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationDisplayResource - description: Resource on which the operation is performed. - cli: - name: ResourceProviderOperationDisplayResource - description: Resource on which the operation is performed. - protocol: {} - - &ref_5 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationDisplayOperation - description: 'Type of operation: get, read, delete, etc.' - cli: - name: ResourceProviderOperationDisplayOperation - description: 'Type of operation: get, read, delete, etc.' - protocol: {} - - &ref_6 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ResourceProviderOperationDisplayDescription - description: Description of this operation. - cli: - name: ResourceProviderOperationDisplayDescription - description: Description of this operation. - protocol: {} - - &ref_130 - type: string - apiVersions: - - version: '1.0' - minLength: 1 - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_136 - type: string - apiVersions: - - version: '1.0' - maxLength: 90 - minLength: 1 - pattern: '^[-\w\._\(\)]+$' - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_137 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 3 - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_91 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: ResourceId - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cli: - name: ResourceId - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - protocol: {} - - &ref_92 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: ResourceName - description: The name of the resource - cli: - name: ResourceName - description: The name of the resource - protocol: {} - - &ref_93 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: ResourceType - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cli: - name: ResourceType - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - protocol: {} - - &ref_1 - type: string - apiVersions: - - version: '1.0' - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_38 - type: string - apiVersions: - - version: '1.0' - extensions: - x-ms-mutability: - - read - - create - language: - default: - name: TrackedResourceLocation - description: The geo-location where the resource lives - cli: - name: TrackedResourceLocation - description: The geo-location where the resource lives - protocol: {} - - &ref_11 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePropertiesDescription - description: Description of Workspace. - cli: - name: WorkspacePropertiesDescription - description: Description of Workspace. - protocol: {} - - &ref_12 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePropertiesFriendlyName - description: Friendly name of Workspace. - cli: - name: WorkspacePropertiesFriendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_13 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePropertiesApplicationGroupReferencesItem - description: '' - cli: - name: WorkspacePropertiesApplicationGroupReferencesItem - description: '' - protocol: {} - - &ref_94 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudErrorCode - description: Error code - cli: - name: CloudErrorCode - description: Error code - protocol: {} - - &ref_95 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: CloudErrorMessage - description: Error message indicating why the operation failed. - cli: - name: CloudErrorMessage - description: Error message indicating why the operation failed. - protocol: {} - - &ref_96 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchPropertiesDescription - description: Description of Workspace. - cli: - name: WorkspacePatchPropertiesDescription - description: Description of Workspace. - protocol: {} - - &ref_97 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchPropertiesFriendlyName - description: Friendly name of Workspace. - cli: - name: WorkspacePatchPropertiesFriendlyName - description: Friendly name of Workspace. - protocol: {} - - &ref_98 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspacePatchPropertiesApplicationGroupReferencesItem - description: '' - cli: - name: WorkspacePatchPropertiesApplicationGroupReferencesItem - description: '' - protocol: {} - - &ref_99 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: WorkspaceListNextLink - description: Link to the next page of results. - cli: - name: WorkspaceListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_180 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_14 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPropertiesDescription - description: Description of ApplicationGroup. - cli: - name: ApplicationGroupPropertiesDescription - description: Description of ApplicationGroup. - protocol: {} - - &ref_15 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPropertiesFriendlyName - description: Friendly name of ApplicationGroup. - cli: - name: ApplicationGroupPropertiesFriendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_16 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPropertiesHostPoolArmPath - description: HostPool arm path of ApplicationGroup. - cli: - name: ApplicationGroupPropertiesHostPoolArmPath - description: HostPool arm path of ApplicationGroup. - protocol: {} - - &ref_17 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPropertiesWorkspaceArmPath - description: Workspace arm path of ApplicationGroup. - cli: - name: ApplicationGroupPropertiesWorkspaceArmPath - description: Workspace arm path of ApplicationGroup. - protocol: {} - - &ref_100 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupListNextLink - description: Link to the next page of results. - cli: - name: ApplicationGroupListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_40 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchPropertiesDescription - description: Description of ApplicationGroup. - cli: - name: ApplicationGroupPatchPropertiesDescription - description: Description of ApplicationGroup. - protocol: {} - - &ref_41 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationGroupPatchPropertiesFriendlyName - description: Friendly name of ApplicationGroup. - cli: - name: ApplicationGroupPatchPropertiesFriendlyName - description: Friendly name of ApplicationGroup. - protocol: {} - - &ref_42 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesAppAlias - description: Alias of StartMenuItem. - cli: - name: StartMenuItemPropertiesAppAlias - description: Alias of StartMenuItem. - protocol: {} - - &ref_43 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesFriendlyName - description: Friendly name of StartMenuItem. - cli: - name: StartMenuItemPropertiesFriendlyName - description: Friendly name of StartMenuItem. - protocol: {} - - &ref_44 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesFilePath - description: Path to the file of StartMenuItem. - cli: - name: StartMenuItemPropertiesFilePath - description: Path to the file of StartMenuItem. - protocol: {} - - &ref_45 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesCommandLineArguments - description: Command line arguments for StartMenuItem. - cli: - name: StartMenuItemPropertiesCommandLineArguments - description: Command line arguments for StartMenuItem. - protocol: {} - - &ref_46 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemPropertiesIconPath - description: Path to the icon. - cli: - name: StartMenuItemPropertiesIconPath - description: Path to the icon. - protocol: {} - - &ref_101 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: StartMenuItemListNextLink - description: Link to the next page of results. - cli: - name: StartMenuItemListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_48 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesDescription - description: Description of Application. - cli: - name: ApplicationPropertiesDescription - description: Description of Application. - protocol: {} - - &ref_49 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesFriendlyName - description: Friendly name of Application. - cli: - name: ApplicationPropertiesFriendlyName - description: Friendly name of Application. - protocol: {} - - &ref_50 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesFilePath - description: Specifies a path for the executable file for the application. - cli: - name: ApplicationPropertiesFilePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_52 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesCommandLineArguments - description: Command Line Arguments for Application. - cli: - name: ApplicationPropertiesCommandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_54 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesIconPath - description: Path to icon. - cli: - name: ApplicationPropertiesIconPath - description: Path to icon. - protocol: {} - - &ref_55 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPropertiesIconHash - description: Hash of the icon. - cli: - name: ApplicationPropertiesIconHash - description: Hash of the icon. - protocol: {} - - &ref_102 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesDescription - description: Description of Application. - cli: - name: ApplicationPatchPropertiesDescription - description: Description of Application. - protocol: {} - - &ref_103 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesFriendlyName - description: Friendly name of Application. - cli: - name: ApplicationPatchPropertiesFriendlyName - description: Friendly name of Application. - protocol: {} - - &ref_104 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesFilePath - description: Specifies a path for the executable file for the application. - cli: - name: ApplicationPatchPropertiesFilePath - description: Specifies a path for the executable file for the application. - protocol: {} - - &ref_105 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesCommandLineArguments - description: Command Line Arguments for Application. - cli: - name: ApplicationPatchPropertiesCommandLineArguments - description: Command Line Arguments for Application. - protocol: {} - - &ref_106 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationPatchPropertiesIconPath - description: Path to icon. - cli: - name: ApplicationPatchPropertiesIconPath - description: Path to icon. - protocol: {} - - &ref_107 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: ApplicationListNextLink - description: Link to the next page of results. - cli: - name: ApplicationListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_57 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPropertiesDescription - description: Description of Desktop. - cli: - name: DesktopPropertiesDescription - description: Description of Desktop. - protocol: {} - - &ref_58 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPropertiesFriendlyName - description: Friendly name of Desktop. - cli: - name: DesktopPropertiesFriendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_59 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPropertiesIconHash - description: Hash of the icon. - cli: - name: DesktopPropertiesIconHash - description: Hash of the icon. - protocol: {} - - &ref_108 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchPropertiesDescription - description: Description of Desktop. - cli: - name: DesktopPatchPropertiesDescription - description: Description of Desktop. - protocol: {} - - &ref_109 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopPatchPropertiesFriendlyName - description: Friendly name of Desktop. - cli: - name: DesktopPatchPropertiesFriendlyName - description: Friendly name of Desktop. - protocol: {} - - &ref_110 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: DesktopListNextLink - description: Link to the next page of results. - cli: - name: DesktopListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_19 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesFriendlyName - description: Friendly name of HostPool. - cli: - name: HostPoolPropertiesFriendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_20 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesDescription - description: Description of HostPool. - cli: - name: HostPoolPropertiesDescription - description: Description of HostPool. - protocol: {} - - &ref_23 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesCustomRdpProperty - description: Custom rdp property of HostPool. - cli: - name: HostPoolPropertiesCustomRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_29 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: RegistrationInfoToken - description: The registration token base64 encoded string. - cli: - name: RegistrationInfoToken - description: The registration token base64 encoded string. - protocol: {} - - &ref_31 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesVmTemplate - description: VM template for sessionhosts configuration within hostpool. - cli: - name: HostPoolPropertiesVmTemplate - description: VM template for sessionhosts configuration within hostpool. - protocol: {} - - &ref_32 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesApplicationGroupReferencesItem - description: '' - cli: - name: HostPoolPropertiesApplicationGroupReferencesItem - description: '' - protocol: {} - - &ref_33 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPropertiesSsoContext - description: Path to keyvault containing ssoContext secret. - cli: - name: HostPoolPropertiesSsoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_61 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchPropertiesFriendlyName - description: Friendly name of HostPool. - cli: - name: HostPoolPatchPropertiesFriendlyName - description: Friendly name of HostPool. - protocol: {} - - &ref_62 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchPropertiesDescription - description: Description of HostPool. - cli: - name: HostPoolPatchPropertiesDescription - description: Description of HostPool. - protocol: {} - - &ref_63 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchPropertiesCustomRdpProperty - description: Custom rdp property of HostPool. - cli: - name: HostPoolPatchPropertiesCustomRdpProperty - description: Custom rdp property of HostPool. - protocol: {} - - &ref_64 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolPatchPropertiesSsoContext - description: Path to keyvault containing ssoContext secret. - cli: - name: HostPoolPatchPropertiesSsoContext - description: Path to keyvault containing ssoContext secret. - protocol: {} - - &ref_113 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: HostPoolListNextLink - description: Link to the next page of results. - cli: - name: HostPoolListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_65 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionPropertiesUserPrincipalName - description: The user principal name. - cli: - name: UserSessionPropertiesUserPrincipalName - description: The user principal name. - protocol: {} - - &ref_68 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionPropertiesActiveDirectoryUserName - description: The active directory user name. - cli: - name: UserSessionPropertiesActiveDirectoryUserName - description: The active directory user name. - protocol: {} - - &ref_114 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: UserSessionListNextLink - description: Link to the next page of results. - cli: - name: UserSessionListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_402 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 48 - minLength: 3 - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_72 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesAgentVersion - description: Version of agent on SessionHost. - cli: - name: SessionHostPropertiesAgentVersion - description: Version of agent on SessionHost. - protocol: {} - - &ref_74 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesAssignedUser - description: User assigned to SessionHost. - cli: - name: SessionHostPropertiesAssignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_77 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesOsVersion - description: The version of the OS on the session host. - cli: - name: SessionHostPropertiesOsVersion - description: The version of the OS on the session host. - protocol: {} - - &ref_78 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesSxSStackVersion - description: The version of the side by side stack on the session host. - cli: - name: SessionHostPropertiesSxSStackVersion - description: The version of the side by side stack on the session host. - protocol: {} - - &ref_81 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPropertiesUpdateErrorMessage - description: The error message. - cli: - name: SessionHostPropertiesUpdateErrorMessage - description: The error message. - protocol: {} - - &ref_82 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostPatchPropertiesAssignedUser - description: User assigned to SessionHost. - cli: - name: SessionHostPatchPropertiesAssignedUser - description: User assigned to SessionHost. - protocol: {} - - &ref_115 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SessionHostListNextLink - description: Link to the next page of results. - cli: - name: SessionHostListNextLink - description: Link to the next page of results. - protocol: {} - - &ref_403 - type: string - apiVersions: - - version: 2019-12-10-preview - maxLength: 24 - minLength: 1 - language: - default: - name: String - description: '' - cli: - name: String - description: '' - protocol: {} - - &ref_116 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessageTitle - description: Title of message. - cli: - name: SendMessageTitle - description: Title of message. - protocol: {} - - &ref_117 - type: string - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: SendMessageBody - description: Body of message. - cli: - name: SendMessageBody - description: Body of message. - protocol: {} - choices: - - &ref_18 - choices: - - value: RemoteApp - language: - default: - name: remote_app - description: '' - cli: - name: RemoteApp - description: '' - cliKey: RemoteApp - - value: Desktop - language: - default: - name: desktop - description: '' - cli: - name: Desktop - description: '' - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationGroupType - description: Resource Type of ApplicationGroup. - cli: - name: ApplicationGroupType - description: Resource Type of ApplicationGroup. - cliKey: ApplicationGroupType - protocol: {} - - &ref_51 - choices: - - value: DoNotAllow - language: - default: - name: do_not_allow - description: '' - cli: - name: DoNotAllow - description: '' - cliKey: DoNotAllow - - value: Allow - language: - default: - name: allow - description: '' - cli: - name: Allow - description: '' - cliKey: Allow - - value: Require - language: - default: - name: require - description: '' - cli: - name: Require - description: '' - cliKey: Require - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: CommandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: - name: CommandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cliKey: CommandLineSetting - protocol: {} - - &ref_21 - choices: - - value: Personal - language: - default: - name: personal - description: '' - cli: - name: Personal - description: '' - cliKey: Personal - - value: Pooled - language: - default: - name: pooled - description: '' - cli: - name: Pooled - description: '' - cliKey: Pooled - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: HostPoolType - description: HostPool type for desktop. - cli: - name: HostPoolType - description: HostPool type for desktop. - cliKey: HostPoolType - protocol: {} - - &ref_22 - choices: - - value: Automatic - language: - default: - name: automatic - description: '' - cli: - name: Automatic - description: '' - cliKey: Automatic - - value: Direct - language: - default: - name: direct - description: '' - cli: - name: Direct - description: '' - cliKey: Direct - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: PersonalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cli: - name: PersonalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cliKey: PersonalDesktopAssignmentType - protocol: {} - - &ref_25 - choices: - - value: BreadthFirst - language: - default: - name: breadth_first - description: '' - cli: - name: BreadthFirst - description: '' - cliKey: BreadthFirst - - value: DepthFirst - language: - default: - name: depth_first - description: '' - cli: - name: DepthFirst - description: '' - cliKey: DepthFirst - - value: Persistent - language: - default: - name: persistent - description: '' - cli: - name: Persistent - description: '' - cliKey: Persistent - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: LoadBalancerType - description: The type of the load balancer. - cli: - name: LoadBalancerType - description: The type of the load balancer. - cliKey: LoadBalancerType - protocol: {} - - &ref_30 - choices: - - value: Delete - language: - default: - name: delete - description: '' - cli: - name: Delete - description: '' - cliKey: Delete - - value: None - language: - default: - name: none - description: '' - cli: - name: None - description: '' - cliKey: None - - value: Update - language: - default: - name: update - description: '' - cli: - name: Update - description: '' - cliKey: Update - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: RegistrationTokenOperation - description: The type of resetting the token. - cli: - name: RegistrationTokenOperation - description: The type of resetting the token. - cliKey: RegistrationTokenOperation - protocol: {} - - &ref_66 - choices: - - value: RemoteApp - language: - default: - name: remote_app - description: '' - cli: - name: RemoteApp - description: '' - cliKey: RemoteApp - - value: Desktop - language: - default: - name: desktop - description: '' - cli: - name: Desktop - description: '' - cliKey: Desktop - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: ApplicationType - description: Application type of application. - cli: - name: ApplicationType - description: Application type of application. - cliKey: ApplicationType - protocol: {} - - &ref_67 - choices: - - value: Unknown - language: - default: - name: unknown - description: '' - cli: - name: Unknown - description: '' - cliKey: Unknown - - value: Active - language: - default: - name: active - description: '' - cli: - name: Active - description: '' - cliKey: Active - - value: Disconnected - language: - default: - name: disconnected - description: '' - cli: - name: Disconnected - description: '' - cliKey: Disconnected - - value: Pending - language: - default: - name: pending - description: '' - cli: - name: Pending - description: '' - cliKey: Pending - - value: LogOff - language: - default: - name: log_off - description: '' - cli: - name: LogOff - description: '' - cliKey: LogOff - - value: UserProfileDiskMounted - language: - default: - name: user_profile_disk_mounted - description: '' - cli: - name: UserProfileDiskMounted - description: '' - cliKey: UserProfileDiskMounted - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: SessionState - description: State of user session. - cli: - name: SessionState - description: State of user session. - cliKey: SessionState - protocol: {} - - &ref_75 - choices: - - value: Available - language: - default: - name: available - description: '' - cli: - name: Available - description: '' - cliKey: Available - - value: Unavailable - language: - default: - name: unavailable - description: '' - cli: - name: Unavailable - description: '' - cliKey: Unavailable - - value: Shutdown - language: - default: - name: shutdown - description: '' - cli: - name: Shutdown - description: '' - cliKey: Shutdown - - value: Disconnected - language: - default: - name: disconnected - description: '' - cli: - name: Disconnected - description: '' - cliKey: Disconnected - - value: Upgrading - language: - default: - name: upgrading - description: '' - cli: - name: Upgrading - description: '' - cliKey: Upgrading - - value: UpgradeFailed - language: - default: - name: upgrade_failed - description: '' - cli: - name: UpgradeFailed - description: '' - cliKey: UpgradeFailed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: Status - description: Status for a SessionHost. - cli: - name: Status - description: Status for a SessionHost. - cliKey: Status - protocol: {} - - &ref_79 - choices: - - value: Initial - language: - default: - name: initial - description: '' - cli: - name: Initial - description: '' - cliKey: Initial - - value: Pending - language: - default: - name: pending - description: '' - cli: - name: Pending - description: '' - cliKey: Pending - - value: Started - language: - default: - name: started - description: '' - cli: - name: Started - description: '' - cliKey: Started - - value: Succeeded - language: - default: - name: succeeded - description: '' - cli: - name: Succeeded - description: '' - cliKey: Succeeded - - value: Failed - language: - default: - name: failed - description: '' - cli: - name: Failed - description: '' - cliKey: Failed - type: choice - apiVersions: - - version: 2019-12-10-preview - choiceType: *ref_0 - language: - default: - name: UpdateState - description: Update state of a SessionHost. - cli: - name: UpdateState - description: Update state of a SessionHost. - cliKey: UpdateState - protocol: {} - constants: - - &ref_131 - type: constant - value: - value: 2019-12-10-preview - valueType: *ref_0 - language: - default: - name: api_version2019_12_10_preview - description: Api Version (2019-12-10-preview) - cli: - name: ApiVersion20191210Preview - description: Api Version (2019-12-10-preview) - protocol: {} - - &ref_141 - type: constant - value: - value: application/json - valueType: *ref_0 - language: - default: - name: application_json - description: Content Type 'application/json' - cli: - name: ApplicationJson - description: Content Type 'application/json' - protocol: {} - dictionaries: - - &ref_37 - type: dictionary - elementType: *ref_1 - language: - default: - name: TrackedResourceTags - description: Resource tags. - cli: - name: TrackedResourceTags - description: Resource tags. - cli-complexity: dictionary_simple - cli-mark: checked - protocol: {} - any: - - &ref_39 - type: any - language: - default: - name: any - description: Any object - protocol: {} - byteArrays: - - &ref_56 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: application_properties_icon_content - description: the icon a 64 bit string as a byte array. - protocol: {} - - &ref_60 - type: byte-array - format: byte - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: desktop_properties_icon_content - description: The icon a 64 bit string as a byte array. - protocol: {} - dateTimes: - - &ref_28 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: registration_info_expiration_time - description: Expiration time of registration token. - protocol: {} - - &ref_69 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: user_session_properties_create_time - description: The timestamp of the user session create. - protocol: {} - - &ref_70 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_last_heart_beat - description: Last heart beat from SessionHost. - protocol: {} - - &ref_76 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_status_timestamp - description: The timestamp of the status. - protocol: {} - - &ref_80 - type: date-time - format: date-time - apiVersions: - - version: 2019-12-10-preview - language: - default: - name: session_host_properties_last_update_time - description: The timestamp of the last update. - protocol: {} - objects: - - &ref_134 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_118 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: &ref_7 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_2 - serializedName: name - language: - default: - name: name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cli: - name: name - description: 'Operation name, in format of {provider}/{resource}/{operation}' - cliKey: name - protocol: {} - - schema: &ref_8 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_3 - serializedName: provider - language: - default: - name: provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cli: - name: provider - description: 'Resource provider: Microsoft Desktop Virtualization.' - cliKey: provider - protocol: {} - - schema: *ref_4 - serializedName: resource - language: - default: - name: resource - description: Resource on which the operation is performed. - cli: - name: resource - description: Resource on which the operation is performed. - cliKey: resource - protocol: {} - - schema: *ref_5 - serializedName: operation - language: - default: - name: operation - description: 'Type of operation: get, read, delete, etc.' - cli: - name: operation - description: 'Type of operation: get, read, delete, etc.' - cliKey: operation - protocol: {} - - schema: *ref_6 - serializedName: description - language: - default: - name: description - description: Description of this operation. - cli: - name: description - description: Description of this operation. - cliKey: description - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperationDisplay - description: Display metadata associated with the operation. - namespace: '' - cli: - name: ResourceProviderOperationDisplay - description: Display metadata associated with the operation. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 4 - propertyCountIfSimplifyWithoutSimpleObject: 4 - simplifiable: true - cliKey: ResourceProviderOperation-display - protocol: {} - serializedName: display - language: - default: - name: display - description: Display metadata associated with the operation. - cli: - name: display - description: Display metadata associated with the operation. - cliKey: display - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperation - description: Supported operation of this resource provider. - namespace: '' - cli: - name: ResourceProviderOperation - description: Supported operation of this resource provider. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: ResourceProviderOperation - protocol: {} - language: - default: - name: ResourceProviderOperationListValue - description: List of operations supported by this resource provider. - cli: - name: ResourceProviderOperationListValue - description: List of operations supported by this resource provider. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of operations supported by this resource provider. - cli: - name: value - description: List of operations supported by this resource provider. - cliKey: value - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: ResourceProviderOperationList - description: Result of the request to list operations. - namespace: '' - cli: - name: ResourceProviderOperationList - description: Result of the request to list operations. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ResourceProviderOperationList - protocol: {} - - *ref_7 - - *ref_8 - - &ref_10 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_9 - type: object - apiVersions: - - version: '1.0' - children: - all: - - &ref_34 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_147 - schema: *ref_11 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: &ref_148 - name: description - description: Description of Workspace. - cliKey: description - protocol: {} - - &ref_149 - schema: *ref_12 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: &ref_150 - name: friendlyName - description: Friendly name of Workspace. - cliKey: friendlyName - protocol: {} - - &ref_151 - schema: &ref_119 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_13 - language: - default: - name: WorkspacePropertiesApplicationGroupReferences - description: List of applicationGroup resource Ids. - cli: - name: WorkspacePropertiesApplicationGroupReferences - description: List of applicationGroup resource Ids. - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup resource Ids. - cli: &ref_152 - name: applicationGroupReferences - description: List of applicationGroup resource Ids. - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Workspace - description: Represents a Workspace definition. - namespace: '' - cli: - name: Workspace - description: Represents a Workspace definition. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: Workspace - protocol: {} - - &ref_35 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_188 - schema: *ref_14 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: &ref_189 - name: description - description: Description of ApplicationGroup. - cliKey: description - protocol: {} - - &ref_190 - schema: *ref_15 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: &ref_191 - name: friendlyName - description: Friendly name of ApplicationGroup. - cliKey: friendlyName - protocol: {} - - &ref_192 - schema: *ref_16 - flattenedNames: - - properties - - hostPoolArmPath - required: true - serializedName: hostPoolArmPath - language: - default: - name: host_pool_arm_path - description: HostPool arm path of ApplicationGroup. - cli: &ref_193 - name: hostPoolArmPath - description: HostPool arm path of ApplicationGroup. - cliKey: hostPoolArmPath - protocol: {} - - schema: *ref_17 - flattenedNames: - - properties - - workspaceArmPath - readOnly: true - required: false - serializedName: workspaceArmPath - language: - default: - name: workspace_arm_path - description: Workspace arm path of ApplicationGroup. - cli: - name: workspaceArmPath - description: Workspace arm path of ApplicationGroup. - cliKey: workspaceArmPath - protocol: {} - - &ref_194 - schema: *ref_18 - flattenedNames: - - properties - - applicationGroupType - required: true - serializedName: applicationGroupType - language: - default: - name: application_group_type - description: Resource Type of ApplicationGroup. - cli: &ref_195 - name: applicationGroupType - description: Resource Type of ApplicationGroup. - cliKey: applicationGroupType - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: ApplicationGroup - description: Represents a ApplicationGroup definition. - namespace: '' - cli: - name: ApplicationGroup - description: Represents a ApplicationGroup definition. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroup - protocol: {} - - &ref_36 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_9 - - *ref_10 - immediate: - - *ref_9 - properties: - - &ref_316 - schema: *ref_19 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: &ref_317 - name: friendlyName - description: Friendly name of HostPool. - cliKey: friendlyName - protocol: {} - - &ref_318 - schema: *ref_20 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: &ref_319 - name: description - description: Description of HostPool. - cliKey: description - protocol: {} - - &ref_320 - schema: *ref_21 - flattenedNames: - - properties - - hostPoolType - required: true - serializedName: hostPoolType - language: - default: - name: host_pool_type - description: HostPool type for desktop. - cli: &ref_321 - name: hostPoolType - description: HostPool type for desktop. - cliKey: hostPoolType - protocol: {} - - &ref_322 - schema: *ref_22 - flattenedNames: - - properties - - personalDesktopAssignmentType - required: true - serializedName: personalDesktopAssignmentType - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: &ref_323 - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cliKey: personalDesktopAssignmentType - protocol: {} - - &ref_324 - schema: *ref_23 - flattenedNames: - - properties - - customRdpProperty - required: false - serializedName: customRdpProperty - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: &ref_325 - name: customRdpProperty - description: Custom rdp property of HostPool. - cliKey: customRdpProperty - protocol: {} - - &ref_326 - schema: *ref_24 - flattenedNames: - - properties - - maxSessionLimit - required: false - serializedName: maxSessionLimit - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: &ref_327 - name: maxSessionLimit - description: The max session limit of HostPool. - cliKey: maxSessionLimit - protocol: {} - - &ref_328 - schema: *ref_25 - flattenedNames: - - properties - - loadBalancerType - required: true - serializedName: loadBalancerType - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: &ref_329 - name: loadBalancerType - description: The type of the load balancer. - cliKey: loadBalancerType - protocol: {} - - &ref_330 - schema: *ref_26 - flattenedNames: - - properties - - ring - required: false - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: &ref_331 - name: ring - description: The ring number of HostPool. - cliKey: ring - protocol: {} - - &ref_332 - schema: *ref_27 - flattenedNames: - - properties - - validationEnvironment - required: false - serializedName: validationEnvironment - language: - default: - name: validation_environment - description: Is validation environment. - cli: &ref_333 - name: validationEnvironment - description: Is validation environment. - cliKey: validationEnvironment - protocol: {} - - &ref_334 - schema: &ref_111 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_28 - serializedName: expirationTime - language: - default: - name: expiration_time - description: Expiration time of registration token. - cli: - name: expirationTime - description: Expiration time of registration token. - cliKey: expirationTime - protocol: {} - - schema: *ref_29 - serializedName: token - language: - default: - name: token - description: The registration token base64 encoded string. - cli: - name: token - description: The registration token base64 encoded string. - cliKey: token - protocol: {} - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registration_token_operation - description: The type of resetting the token. - cli: - name: registrationTokenOperation - description: The type of resetting the token. - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: RegistrationInfo - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - name: RegistrationInfo - description: Represents a RegistrationInfo definition. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 3 - propertyCountIfSimplifyWithoutSimpleObject: 3 - simplifiable: true - cliKey: RegistrationInfo - protocol: {} - flattenedNames: - - properties - - registrationInfo - required: false - serializedName: registrationInfo - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: &ref_335 - name: registrationInfo - description: The registration info of HostPool. - cliKey: registrationInfo - protocol: {} - - &ref_336 - schema: *ref_31 - flattenedNames: - - properties - - vmTemplate - required: false - serializedName: vmTemplate - language: - default: - name: vm_template - description: VM template for sessionhosts configuration within hostpool. - cli: &ref_337 - name: vmTemplate - description: VM template for sessionhosts configuration within hostpool. - cliKey: vmTemplate - protocol: {} - - schema: &ref_126 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_32 - language: - default: - name: HostPoolPropertiesApplicationGroupReferences - description: List of applicationGroup links. - cli: - name: HostPoolPropertiesApplicationGroupReferences - description: List of applicationGroup links. - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - readOnly: true - required: false - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: - name: applicationGroupReferences - description: List of applicationGroup links. - cliKey: applicationGroupReferences - protocol: {} - - &ref_338 - schema: *ref_33 - flattenedNames: - - properties - - ssoContext - required: false - serializedName: ssoContext - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: &ref_339 - name: ssoContext - description: Path to keyvault containing ssoContext secret. - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: HostPool - description: Represents a HostPool definition. - namespace: '' - cli: - name: HostPool - description: Represents a HostPool definition. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPool - protocol: {} - immediate: - - *ref_34 - - *ref_35 - - *ref_36 - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_143 - schema: *ref_37 - required: false - serializedName: tags - language: - default: - name: tags - description: Resource tags. - cli: &ref_144 - name: tags - description: Resource tags. - cliKey: tags - protocol: {} - - &ref_145 - schema: *ref_38 - required: true - serializedName: location - language: - default: - name: location - description: The geo-location where the resource lives - cli: &ref_146 - name: location - description: The geo-location where the resource lives - cliKey: location - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: TrackedResource - description: The resource model definition for a ARM tracked top level resource - namespace: '' - cli: - name: TrackedResource - description: The resource model definition for a ARM tracked top level resource - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: TrackedResource - protocol: {} - - *ref_34 - - *ref_35 - - &ref_83 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_207 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_208 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_209 - schema: *ref_40 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of ApplicationGroup. - cli: &ref_210 - name: description - description: Description of ApplicationGroup. - cliKey: description - protocol: {} - - &ref_211 - schema: *ref_41 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: &ref_212 - name: friendlyName - description: Friendly name of ApplicationGroup. - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: ApplicationGroupPatch - description: ApplicationGroup properties that can be patched. - namespace: '' - cli: - name: ApplicationGroupPatch - description: ApplicationGroup properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupPatch - protocol: {} - - &ref_84 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_42 - flattenedNames: - - properties - - appAlias - serializedName: appAlias - language: - default: - name: app_alias - description: Alias of StartMenuItem. - cli: - name: appAlias - description: Alias of StartMenuItem. - cliKey: appAlias - protocol: {} - - schema: *ref_43 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of StartMenuItem. - cli: - name: friendlyName - description: Friendly name of StartMenuItem. - cliKey: friendlyName - protocol: {} - - schema: *ref_44 - flattenedNames: - - properties - - filePath - serializedName: filePath - language: - default: - name: file_path - description: Path to the file of StartMenuItem. - cli: - name: filePath - description: Path to the file of StartMenuItem. - cliKey: filePath - protocol: {} - - schema: *ref_45 - flattenedNames: - - properties - - commandLineArguments - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command line arguments for StartMenuItem. - cli: - name: commandLineArguments - description: Command line arguments for StartMenuItem. - cliKey: commandLineArguments - protocol: {} - - schema: *ref_46 - flattenedNames: - - properties - - iconPath - serializedName: iconPath - language: - default: - name: icon_path - description: Path to the icon. - cli: - name: iconPath - description: Path to the icon. - cliKey: iconPath - protocol: {} - - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: - name: iconIndex - description: Index of the icon. - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: StartMenuItem - description: Represents a StartMenuItem definition. - namespace: '' - cli: - name: StartMenuItem - description: Represents a StartMenuItem definition. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 6 - propertyCountIfSimplifyWithoutSimpleObject: 6 - simplifiable: true - cliKey: StartMenuItem - protocol: {} - - &ref_85 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_228 - schema: *ref_48 - flattenedNames: - - properties - - description - required: false - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: &ref_229 - name: description - description: Description of Application. - cliKey: description - protocol: {} - - &ref_230 - schema: *ref_49 - flattenedNames: - - properties - - friendlyName - required: false - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: &ref_231 - name: friendlyName - description: Friendly name of Application. - cliKey: friendlyName - protocol: {} - - &ref_232 - schema: *ref_50 - flattenedNames: - - properties - - filePath - required: false - serializedName: filePath - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: &ref_233 - name: filePath - description: Specifies a path for the executable file for the application. - cliKey: filePath - protocol: {} - - &ref_234 - schema: *ref_51 - flattenedNames: - - properties - - commandLineSetting - required: true - serializedName: commandLineSetting - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: &ref_235 - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cliKey: commandLineSetting - protocol: {} - - &ref_236 - schema: *ref_52 - flattenedNames: - - properties - - commandLineArguments - required: false - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: &ref_237 - name: commandLineArguments - description: Command Line Arguments for Application. - cliKey: commandLineArguments - protocol: {} - - &ref_238 - schema: *ref_53 - flattenedNames: - - properties - - showInPortal - required: false - serializedName: showInPortal - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: &ref_239 - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cliKey: showInPortal - protocol: {} - - &ref_240 - schema: *ref_54 - flattenedNames: - - properties - - iconPath - required: false - serializedName: iconPath - language: - default: - name: icon_path - description: Path to icon. - cli: &ref_241 - name: iconPath - description: Path to icon. - cliKey: iconPath - protocol: {} - - &ref_242 - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - required: false - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: &ref_243 - name: iconIndex - description: Index of the icon. - cliKey: iconIndex - protocol: {} - - schema: *ref_55 - flattenedNames: - - properties - - iconHash - readOnly: true - required: false - serializedName: iconHash - language: - default: - name: icon_hash - description: Hash of the icon. - cli: - name: iconHash - description: Hash of the icon. - cliKey: iconHash - protocol: {} - - schema: *ref_56 - flattenedNames: - - properties - - iconContent - readOnly: true - required: false - serializedName: iconContent - language: - default: - name: icon_content - description: the icon a 64 bit string as a byte array. - cli: - name: iconContent - description: the icon a 64 bit string as a byte array. - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Application - description: Schema for Application properties. - namespace: '' - cli: - name: Application - description: Schema for Application properties. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 8 - propertyCountIfSimplifyWithoutSimpleObject: 8 - simplifiable: true - cliKey: Application - protocol: {} - - &ref_86 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_57 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: - name: description - description: Description of Desktop. - cliKey: description - protocol: {} - - schema: *ref_58 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: - name: friendlyName - description: Friendly name of Desktop. - cliKey: friendlyName - protocol: {} - - schema: *ref_59 - flattenedNames: - - properties - - iconHash - readOnly: true - serializedName: iconHash - language: - default: - name: icon_hash - description: Hash of the icon. - cli: - name: iconHash - description: Hash of the icon. - cliKey: iconHash - protocol: {} - - schema: *ref_60 - flattenedNames: - - properties - - iconContent - readOnly: true - serializedName: iconContent - language: - default: - name: icon_content - description: The icon a 64 bit string as a byte array. - cli: - name: iconContent - description: The icon a 64 bit string as a byte array. - cliKey: iconContent - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: Desktop - description: Schema for Desktop properties. - namespace: '' - cli: - name: Desktop - description: Schema for Desktop properties. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: Desktop - protocol: {} - - *ref_36 - - &ref_87 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_361 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_362 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_363 - schema: *ref_61 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: &ref_364 - name: friendlyName - description: Friendly name of HostPool. - cliKey: friendlyName - protocol: {} - - &ref_365 - schema: *ref_62 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of HostPool. - cli: &ref_366 - name: description - description: Description of HostPool. - cliKey: description - protocol: {} - - &ref_367 - schema: *ref_63 - flattenedNames: - - properties - - customRdpProperty - serializedName: customRdpProperty - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: &ref_368 - name: customRdpProperty - description: Custom rdp property of HostPool. - cliKey: customRdpProperty - protocol: {} - - &ref_369 - schema: *ref_24 - flattenedNames: - - properties - - maxSessionLimit - serializedName: maxSessionLimit - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: &ref_370 - name: maxSessionLimit - description: The max session limit of HostPool. - cliKey: maxSessionLimit - protocol: {} - - &ref_371 - schema: *ref_22 - flattenedNames: - - properties - - personalDesktopAssignmentType - serializedName: personalDesktopAssignmentType - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: &ref_372 - name: personalDesktopAssignmentType - description: PersonalDesktopAssignment type for HostPool. - cliKey: personalDesktopAssignmentType - protocol: {} - - &ref_373 - schema: *ref_25 - flattenedNames: - - properties - - loadBalancerType - serializedName: loadBalancerType - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: &ref_374 - name: loadBalancerType - description: The type of the load balancer. - cliKey: loadBalancerType - protocol: {} - - &ref_375 - schema: *ref_26 - flattenedNames: - - properties - - ring - serializedName: ring - language: - default: - name: ring - description: The ring number of HostPool. - cli: &ref_376 - name: ring - description: The ring number of HostPool. - cliKey: ring - protocol: {} - - &ref_377 - schema: *ref_27 - flattenedNames: - - properties - - validationEnvironment - serializedName: validationEnvironment - language: - default: - name: validation_environment - description: Is validation environment. - cli: &ref_378 - name: validationEnvironment - description: Is validation environment. - cliKey: validationEnvironment - protocol: {} - - &ref_379 - schema: &ref_112 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_30 - serializedName: registrationTokenOperation - language: - default: - name: registration_token_operation - description: The type of resetting the token. - cli: - name: registrationTokenOperation - description: The type of resetting the token. - cliKey: registrationTokenOperation - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: RegistrationInfoPatch - description: Represents a RegistrationInfo definition. - namespace: '' - cli: - name: RegistrationInfoPatch - description: Represents a RegistrationInfo definition. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 1 - propertyCountIfSimplifyWithoutSimpleObject: 1 - simplifiable: true - cliKey: RegistrationInfoPatch - protocol: {} - flattenedNames: - - properties - - registrationInfo - serializedName: registrationInfo - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: &ref_380 - name: registrationInfo - description: The registration info of HostPool. - cliKey: registrationInfo - protocol: {} - - &ref_381 - schema: *ref_64 - flattenedNames: - - properties - - ssoContext - serializedName: ssoContext - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: &ref_382 - name: ssoContext - description: Path to keyvault containing ssoContext secret. - cliKey: ssoContext - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: HostPoolPatch - description: HostPool properties that can be patched. - namespace: '' - cli: - name: HostPoolPatch - description: HostPool properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolPatch - protocol: {} - - &ref_88 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_65 - flattenedNames: - - properties - - userPrincipalName - serializedName: userPrincipalName - language: - default: - name: user_principal_name - description: The user principal name. - cli: - name: userPrincipalName - description: The user principal name. - cliKey: userPrincipalName - protocol: {} - - schema: *ref_66 - flattenedNames: - - properties - - applicationType - serializedName: applicationType - language: - default: - name: application_type - description: Application type of application. - cli: - name: applicationType - description: Application type of application. - cliKey: applicationType - protocol: {} - - schema: *ref_67 - flattenedNames: - - properties - - sessionState - serializedName: sessionState - language: - default: - name: session_state - description: State of user session. - cli: - name: sessionState - description: State of user session. - cliKey: sessionState - protocol: {} - - schema: *ref_68 - flattenedNames: - - properties - - activeDirectoryUserName - serializedName: activeDirectoryUserName - language: - default: - name: active_directory_user_name - description: The active directory user name. - cli: - name: activeDirectoryUserName - description: The active directory user name. - cliKey: activeDirectoryUserName - protocol: {} - - schema: *ref_69 - flattenedNames: - - properties - - createTime - serializedName: createTime - language: - default: - name: create_time - description: The timestamp of the user session create. - cli: - name: createTime - description: The timestamp of the user session create. - cliKey: createTime - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: UserSession - description: Represents a UserSession definition. - namespace: '' - cli: - name: UserSession - description: Represents a UserSession definition. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 5 - propertyCountIfSimplifyWithoutSimpleObject: 5 - simplifiable: true - cliKey: UserSession - protocol: {} - - &ref_89 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - schema: *ref_70 - flattenedNames: - - properties - - lastHeartBeat - serializedName: lastHeartBeat - language: - default: - name: last_heart_beat - description: Last heart beat from SessionHost. - cli: - name: lastHeartBeat - description: Last heart beat from SessionHost. - cliKey: lastHeartBeat - protocol: {} - - schema: *ref_71 - flattenedNames: - - properties - - sessions - serializedName: sessions - language: - default: - name: sessions - description: Number of sessions on SessionHost. - cli: - name: sessions - description: Number of sessions on SessionHost. - cliKey: sessions - protocol: {} - - schema: *ref_72 - flattenedNames: - - properties - - agentVersion - serializedName: agentVersion - language: - default: - name: agent_version - description: Version of agent on SessionHost. - cli: - name: agentVersion - description: Version of agent on SessionHost. - cliKey: agentVersion - protocol: {} - - schema: *ref_73 - flattenedNames: - - properties - - allowNewSession - serializedName: allowNewSession - language: - default: - name: allow_new_session - description: Allow a new session. - cli: - name: allowNewSession - description: Allow a new session. - cliKey: allowNewSession - protocol: {} - - schema: *ref_74 - flattenedNames: - - properties - - assignedUser - serializedName: assignedUser - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: - name: assignedUser - description: User assigned to SessionHost. - cliKey: assignedUser - protocol: {} - - schema: *ref_75 - flattenedNames: - - properties - - status - serializedName: status - language: - default: - name: status - description: Status for a SessionHost. - cli: - name: status - description: Status for a SessionHost. - cliKey: status - protocol: {} - - schema: *ref_76 - flattenedNames: - - properties - - statusTimestamp - readOnly: true - serializedName: statusTimestamp - language: - default: - name: status_timestamp - description: The timestamp of the status. - cli: - name: statusTimestamp - description: The timestamp of the status. - cliKey: statusTimestamp - protocol: {} - - schema: *ref_77 - flattenedNames: - - properties - - osVersion - serializedName: osVersion - language: - default: - name: os_version - description: The version of the OS on the session host. - cli: - name: osVersion - description: The version of the OS on the session host. - cliKey: osVersion - protocol: {} - - schema: *ref_78 - flattenedNames: - - properties - - sxSStackVersion - serializedName: sxSStackVersion - language: - default: - name: sx_s_stack_version - description: The version of the side by side stack on the session host. - cli: - name: sxSStackVersion - description: The version of the side by side stack on the session host. - cliKey: sxSStackVersion - protocol: {} - - schema: *ref_79 - flattenedNames: - - properties - - updateState - serializedName: updateState - language: - default: - name: update_state - description: Update state of a SessionHost. - cli: - name: updateState - description: Update state of a SessionHost. - cliKey: updateState - protocol: {} - - schema: *ref_80 - flattenedNames: - - properties - - lastUpdateTime - readOnly: true - serializedName: lastUpdateTime - language: - default: - name: last_update_time - description: The timestamp of the last update. - cli: - name: lastUpdateTime - description: The timestamp of the last update. - cliKey: lastUpdateTime - protocol: {} - - schema: *ref_81 - flattenedNames: - - properties - - updateErrorMessage - serializedName: updateErrorMessage - language: - default: - name: update_error_message - description: The error message. - cli: - name: updateErrorMessage - description: The error message. - cliKey: updateErrorMessage - protocol: {} - serializationFormats: - - json - usage: - - output - - input - language: - default: - name: SessionHost - description: Represents a SessionHost definition. - namespace: '' - cli: - name: SessionHost - description: Represents a SessionHost definition. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10 - propertyCountIfSimplifyWithoutSimpleObject: 10 - simplifiable: true - cliKey: SessionHost - protocol: {} - - &ref_90 - type: object - apiVersions: - - version: 2019-12-10-preview - parents: - all: - - *ref_10 - immediate: - - *ref_10 - properties: - - &ref_440 - schema: *ref_73 - flattenedNames: - - properties - - allowNewSession - serializedName: allowNewSession - language: - default: - name: allow_new_session - description: Allow a new session. - cli: &ref_441 - name: allowNewSession - description: Allow a new session. - cliKey: allowNewSession - protocol: {} - - &ref_442 - schema: *ref_82 - flattenedNames: - - properties - - assignedUser - serializedName: assignedUser - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: &ref_443 - name: assignedUser - description: User assigned to SessionHost. - cliKey: assignedUser - protocol: {} - serializationFormats: - - json - usage: - - input - - output - language: - default: - name: SessionHostPatch - description: SessionHost properties that can be patched. - namespace: '' - cli: - name: SessionHostPatch - description: SessionHost properties that can be patched. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SessionHostPatch - protocol: {} - immediate: - - *ref_9 - - *ref_83 - - *ref_84 - - *ref_85 - - *ref_86 - - *ref_87 - - *ref_88 - - *ref_89 - - *ref_90 - properties: - - schema: *ref_91 - readOnly: true - serializedName: id - language: - default: - name: id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cli: - name: id - description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' - cliKey: id - protocol: {} - - schema: *ref_92 - readOnly: true - serializedName: name - language: - default: - name: name - description: The name of the resource - cli: - name: name - description: The name of the resource - cliKey: name - protocol: {} - - schema: *ref_93 - readOnly: true - serializedName: type - language: - default: - name: type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cli: - name: type - description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. - cliKey: type - protocol: {} - serializationFormats: - - json - usage: - - output - - input - extensions: - x-ms-azure-resource: true - language: - default: - name: Resource - description: '' - namespace: '' - cli: - name: Resource - description: '' - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 0 - propertyCountIfSimplifyWithoutSimpleObject: 0 - simplifiable: true - cliKey: Resource - protocol: {} - - *ref_9 - - *ref_34 - - &ref_140 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: *ref_94 - serializedName: code - language: - default: - name: code - description: Error code - cli: - name: code - description: Error code - cliKey: code - protocol: {} - - schema: *ref_95 - serializedName: message - language: - default: - name: message - description: Error message indicating why the operation failed. - cli: - name: message - description: Error message indicating why the operation failed. - cliKey: message - protocol: {} - serializationFormats: - - json - usage: - - output - language: - default: - name: CloudError - description: Error response of an operation failure - namespace: '' - cli: - name: CloudError - description: Error response of an operation failure - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: CloudError - protocol: {} - - &ref_162 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_164 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_165 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_166 - schema: *ref_96 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Workspace. - cli: &ref_167 - name: description - description: Description of Workspace. - cliKey: description - protocol: {} - - &ref_168 - schema: *ref_97 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: &ref_169 - name: friendlyName - description: Friendly name of Workspace. - cliKey: friendlyName - protocol: {} - - &ref_170 - schema: &ref_120 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_98 - language: - default: - name: WorkspacePatchPropertiesApplicationGroupReferences - description: List of applicationGroup links. - cli: - name: WorkspacePatchPropertiesApplicationGroupReferences - description: List of applicationGroup links. - cli-complexity: array_simple - cli-mark: checked - protocol: {} - flattenedNames: - - properties - - applicationGroupReferences - serializedName: applicationGroupReferences - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: &ref_171 - name: applicationGroupReferences - description: List of applicationGroup links. - cliKey: applicationGroupReferences - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: WorkspacePatch - description: Workspace properties that can be patched. - namespace: '' - cli: - name: WorkspacePatch - description: Workspace properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspacePatch - protocol: {} - - &ref_179 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_121 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_34 - language: - default: - name: WorkspaceListValue - description: List of Workspace definitions. - cli: - name: WorkspaceListValue - description: List of Workspace definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Workspace definitions. - cli: - name: value - description: List of Workspace definitions. - cliKey: value - protocol: {} - - schema: *ref_99 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: WorkspaceList - usage: - - output - language: - default: - name: WorkspaceList - description: List of Workspace definitions. - namespace: '' - summary: WorkspaceList - cli: - name: WorkspaceList - description: List of Workspace definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: WorkspaceList - protocol: {} - - &ref_184 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_122 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_35 - language: - default: - name: ApplicationGroupListValue - description: List of ApplicationGroup definitions. - cli: - name: ApplicationGroupListValue - description: List of ApplicationGroup definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of ApplicationGroup definitions. - cli: - name: value - description: List of ApplicationGroup definitions. - cliKey: value - protocol: {} - - schema: *ref_100 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationGroupList - usage: - - output - language: - default: - name: ApplicationGroupList - description: List of ApplicationGroup definitions. - namespace: '' - summary: ApplicationGroupList - cli: - name: ApplicationGroupList - description: List of ApplicationGroup definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationGroupList - protocol: {} - - *ref_35 - - *ref_83 - - &ref_223 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_123 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_84 - language: - default: - name: StartMenuItemListValue - description: List of StartMenuItem definitions. - cli: - name: StartMenuItemListValue - description: List of StartMenuItem definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of StartMenuItem definitions. - cli: - name: value - description: List of StartMenuItem definitions. - cliKey: value - protocol: {} - - schema: *ref_101 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: StartMenuItemList - usage: - - output - language: - default: - name: StartMenuItemList - description: List of StartMenuItem definitions. - namespace: '' - summary: StartMenuItemList - cli: - name: StartMenuItemList - description: List of StartMenuItem definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: StartMenuItemList - protocol: {} - - *ref_84 - - *ref_85 - - &ref_258 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_260 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_261 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_262 - schema: *ref_102 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Application. - cli: &ref_263 - name: description - description: Description of Application. - cliKey: description - protocol: {} - - &ref_264 - schema: *ref_103 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: &ref_265 - name: friendlyName - description: Friendly name of Application. - cliKey: friendlyName - protocol: {} - - &ref_266 - schema: *ref_104 - flattenedNames: - - properties - - filePath - serializedName: filePath - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: &ref_267 - name: filePath - description: Specifies a path for the executable file for the application. - cliKey: filePath - protocol: {} - - &ref_268 - schema: *ref_51 - flattenedNames: - - properties - - commandLineSetting - serializedName: commandLineSetting - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: &ref_269 - name: commandLineSetting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cliKey: commandLineSetting - protocol: {} - - &ref_270 - schema: *ref_105 - flattenedNames: - - properties - - commandLineArguments - serializedName: commandLineArguments - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: &ref_271 - name: commandLineArguments - description: Command Line Arguments for Application. - cliKey: commandLineArguments - protocol: {} - - &ref_272 - schema: *ref_53 - flattenedNames: - - properties - - showInPortal - serializedName: showInPortal - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: &ref_273 - name: showInPortal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cliKey: showInPortal - protocol: {} - - &ref_274 - schema: *ref_106 - flattenedNames: - - properties - - iconPath - serializedName: iconPath - language: - default: - name: icon_path - description: Path to icon. - cli: &ref_275 - name: iconPath - description: Path to icon. - cliKey: iconPath - protocol: {} - - &ref_276 - schema: *ref_47 - flattenedNames: - - properties - - iconIndex - serializedName: iconIndex - language: - default: - name: icon_index - description: Index of the icon. - cli: &ref_277 - name: iconIndex - description: Index of the icon. - cliKey: iconIndex - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: ApplicationPatch - description: Application properties that can be patched. - namespace: '' - cli: - name: ApplicationPatch - description: Application properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationPatch - protocol: {} - - &ref_292 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_124 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_85 - language: - default: - name: ApplicationListValue - description: List of Application definitions. - cli: - name: ApplicationListValue - description: List of Application definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Application definitions. - cli: - name: value - description: List of Application definitions. - cliKey: value - protocol: {} - - schema: *ref_107 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: ApplicationList - usage: - - output - language: - default: - name: ApplicationList - description: List of Application definitions. - namespace: '' - summary: ApplicationList - cli: - name: ApplicationList - description: List of Application definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: ApplicationList - protocol: {} - - *ref_86 - - &ref_296 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_298 - schema: *ref_39 - serializedName: tags - language: - default: - name: tags - description: tags to be updated - cli: &ref_299 - name: tags - description: tags to be updated - cliKey: tags - protocol: {} - - &ref_300 - schema: *ref_108 - flattenedNames: - - properties - - description - serializedName: description - language: - default: - name: description - description: Description of Desktop. - cli: &ref_301 - name: description - description: Description of Desktop. - cliKey: description - protocol: {} - - &ref_302 - schema: *ref_109 - flattenedNames: - - properties - - friendlyName - serializedName: friendlyName - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: &ref_303 - name: friendlyName - description: Friendly name of Desktop. - cliKey: friendlyName - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: DesktopPatch - description: Desktop properties that can be patched. - namespace: '' - cli: - name: DesktopPatch - description: Desktop properties that can be patched. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopPatch - protocol: {} - - &ref_312 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_125 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_86 - language: - default: - name: DesktopListValue - description: List of Desktop definitions. - cli: - name: DesktopListValue - description: List of Desktop definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of Desktop definitions. - cli: - name: value - description: List of Desktop definitions. - cliKey: value - protocol: {} - - schema: *ref_110 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: DesktopList - usage: - - output - language: - default: - name: DesktopList - description: List of Desktop definitions. - namespace: '' - summary: DesktopList - cli: - name: DesktopList - description: List of Desktop definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: DesktopList - protocol: {} - - *ref_36 - - *ref_111 - - *ref_87 - - *ref_112 - - &ref_397 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_127 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_36 - language: - default: - name: HostPoolListValue - description: List of HostPool definitions. - cli: - name: HostPoolListValue - description: List of HostPool definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of HostPool definitions. - cli: - name: value - description: List of HostPool definitions. - cliKey: value - protocol: {} - - schema: *ref_113 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: HostPoolList - usage: - - output - language: - default: - name: HostPoolList - description: List of HostPool definitions. - namespace: '' - summary: HostPoolList - cli: - name: HostPoolList - description: List of HostPool definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: HostPoolList - protocol: {} - - &ref_401 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_128 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_88 - language: - default: - name: UserSessionListValue - description: List of UserSession definitions. - cli: - name: UserSessionListValue - description: List of UserSession definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of UserSession definitions. - cli: - name: value - description: List of UserSession definitions. - cliKey: value - protocol: {} - - schema: *ref_114 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: UserSessionList - usage: - - output - language: - default: - name: UserSessionList - description: List of UserSession definitions. - namespace: '' - summary: UserSessionList - cli: - name: UserSessionList - description: List of UserSession definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: UserSessionList - protocol: {} - - *ref_88 - - *ref_89 - - *ref_90 - - &ref_451 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - schema: &ref_129 - type: array - apiVersions: - - version: 2019-12-10-preview - elementType: *ref_89 - language: - default: - name: SessionHostListValue - description: List of SessionHost definitions. - cli: - name: SessionHostListValue - description: List of SessionHost definitions. - cli-complexity: array_complex - cli-mark: checked - protocol: {} - serializedName: value - language: - default: - name: value - description: List of SessionHost definitions. - cli: - name: value - description: List of SessionHost definitions. - cliKey: value - protocol: {} - - schema: *ref_115 - readOnly: true - serializedName: nextLink - language: - default: - name: next_link - description: Link to the next page of results. - cli: - name: nextLink - description: Link to the next page of results. - cliKey: nextLink - protocol: {} - serializationFormats: - - json - summary: SessionHostList - usage: - - output - language: - default: - name: SessionHostList - description: List of SessionHost definitions. - namespace: '' - summary: SessionHostList - cli: - name: SessionHostList - description: List of SessionHost definitions. - cli-complexity: object_complex - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 10000 - propertyCountIfSimplifyWithoutSimpleObject: 10000 - simplifiable: false - cliKey: SessionHostList - protocol: {} - - &ref_420 - type: object - apiVersions: - - version: 2019-12-10-preview - properties: - - &ref_422 - schema: *ref_116 - serializedName: messageTitle - language: - default: - name: message_title - description: Title of message. - cli: &ref_423 - name: messageTitle - description: Title of message. - cliKey: messageTitle - protocol: {} - - &ref_424 - schema: *ref_117 - serializedName: messageBody - language: - default: - name: message_body - description: Body of message. - cli: &ref_425 - name: messageBody - description: Body of message. - cliKey: messageBody - protocol: {} - serializationFormats: - - json - usage: - - input - language: - default: - name: SendMessage - description: Represents message sent to a UserSession. - namespace: '' - cli: - name: SendMessage - description: Represents message sent to a UserSession. - cli-complexity: object_simple - cli-mark: checked - cli-simplify-indicator: - propertyCountIfSimplify: 2 - propertyCountIfSimplifyWithoutSimpleObject: 2 - simplifiable: true - cliKey: SendMessage - protocol: {} - arrays: - - *ref_118 - - *ref_119 - - *ref_120 - - *ref_121 - - *ref_122 - - *ref_123 - - *ref_124 - - *ref_125 - - *ref_126 - - *ref_127 - - *ref_128 - - *ref_129 -globalParameters: - - &ref_135 - schema: *ref_130 - implementation: Client - required: true - extensions: - x-ms-priority: 0 - language: - default: - name: subscription_id - description: The ID of the target subscription. - serializedName: subscriptionId - cli: - name: subscriptionId - description: The ID of the target subscription. - cliKey: subscriptionId - protocol: - http: - in: path - - &ref_132 - schema: *ref_0 - clientDefaultValue: 'https://management.azure.com' - implementation: Client - origin: 'modelerfour:synthesized/host' - required: true - extensions: - x-ms-skip-url-encoding: true - language: - default: - name: $host - description: server parameter - serializedName: $host - cli: - name: $host - description: server parameter - cliKey: $host - protocol: - http: - in: uri - - &ref_133 - schema: *ref_131 - implementation: Client - origin: 'modelerfour:synthesized/api-version' - required: true - language: - default: - name: api_version - description: Api Version - serializedName: api-version - cli: - name: ApiVersion - description: Api Version - cliKey: ApiVersion - protocol: - http: - in: query -operationGroups: - - $key: Operations - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: /providers/Microsoft.DesktopVirtualization/operations - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_134 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - extensions: - x-ms-examples: - OperationDescription_List: - parameters: - api-version: 2019-12-10-preview - responses: - '200': - body: - value: - - name: Microsoft.DesktopVirtualization/ssocontext/read - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - - name: Microsoft.DesktopVirtualization/ssocontext/write - display: - provider: Microsoft.DesktopVirtualization - resource: ssocontext - language: - default: - name: list - description: List all of the available operations the Desktop Virtualization resource provider supports. - cli: - name: List - description: List all of the available operations the Desktop Virtualization resource provider supports. - cliKey: List - hidden: true - protocol: {} - language: - default: - name: Operation - description: '' - cli: - name: Operation - description: '' - cliKey: Operations - protocol: {} - - $key: Workspaces - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_138 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_139 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_138 - - *ref_139 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Get: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get a workspace. - cli: - name: Get - description: Get a workspace. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_158 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_159 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_142 - schema: *ref_34 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _workspace - description: Object containing Workspace definitions. - cli: - name: _workspace - description: Object containing Workspace definitions. - cliKey: workspace - protocol: - http: - in: body - style: json - - &ref_153 - schema: *ref_37 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_154 - schema: *ref_38 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_155 - schema: *ref_11 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_147 - language: - default: - name: description - description: Description of Workspace. - cli: *ref_148 - protocol: {} - - &ref_156 - schema: *ref_12 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_149 - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: *ref_150 - protocol: {} - - &ref_157 - schema: *ref_119 - implementation: Method - originalParameter: *ref_142 - pathToProperty: [] - targetProperty: *ref_151 - language: - default: - name: application_group_references - description: List of applicationGroup resource Ids. - cli: *ref_152 - protocol: {} - signatureParameters: - - *ref_153 - - *ref_154 - - *ref_155 - - *ref_156 - - *ref_157 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_158 - - *ref_159 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Create: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '201': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update a workspace. - cli: - name: CreateOrUpdate - description: Create or update a workspace. - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_160 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_161 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_160 - - *ref_161 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Delete: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove a workspace. - cli: - name: Delete - description: Remove a workspace. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_176 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_177 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_163 - schema: *ref_162 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _workspace - description: Object containing Workspace definitions. - cli: - name: _workspace - description: Object containing Workspace definitions. - cliKey: workspace - protocol: - http: - in: body - style: json - - &ref_172 - schema: *ref_39 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_164 - language: - default: - name: tags - description: tags to be updated - cli: *ref_165 - protocol: {} - - &ref_173 - schema: *ref_96 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_166 - language: - default: - name: description - description: Description of Workspace. - cli: *ref_167 - protocol: {} - - &ref_174 - schema: *ref_97 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_168 - language: - default: - name: friendly_name - description: Friendly name of Workspace. - cli: *ref_169 - protocol: {} - - &ref_175 - schema: *ref_120 - implementation: Method - originalParameter: *ref_163 - pathToProperty: [] - targetProperty: *ref_170 - language: - default: - name: application_group_references - description: List of applicationGroup links. - cli: *ref_171 - protocol: {} - signatureParameters: - - *ref_172 - - *ref_173 - - *ref_174 - - *ref_175 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_176 - - *ref_177 - responses: - - schema: *ref_34 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_Update: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspace: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - workspaceName: workspace1 - responses: - '200': - body: - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update a workspace. - cli: - name: Update - description: Update a workspace. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_178 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: - - *ref_178 - responses: - - schema: *ref_179 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List workspaces. - paging: - nextLinkName: nextLink - cli: - name: ListByResourceGroup - description: List workspaces. - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_179 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Workspace_ListBySubscription: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: workspace1 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - - name: workspace2 - type: Microsoft.DesktopVirtualization/workspaces - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2 - location: centralus - properties: - description: des1 - friendlyName: friendly - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_subscription - description: List workspaces in subscription. - paging: - nextLinkName: nextLink - cli: - name: ListBySubscription - description: List workspaces in subscription. - cliKey: ListBySubscription - protocol: {} - language: - default: - name: Workspace - description: '' - cli: - name: Workspace - description: '' - cliKey: Workspaces - protocol: {} - - $key: ApplicationGroupAssignments - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_181 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_182 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: workspace_name - description: The name of the workspace - serializedName: workspaceName - cli: - name: workspaceName - description: The name of the workspace - cliKey: workspaceName - protocol: - http: - in: path - - &ref_183 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments' - method: get - uri: '{$host}' - signatureParameters: - - *ref_181 - - *ref_182 - - *ref_183 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroupAssignment_WorkspaceLevelList: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - workspaceName: workspace1 - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: workspace_level_list - description: List application group that user can use. - paging: - nextLinkName: nextLink - cli: - name: WorkspaceLevelList - description: List application group that user can use. - cliKey: WorkspaceLevelList - protocol: {} - language: - default: - name: ApplicationGroupAssignment - description: '' - cli: - name: ApplicationGroupAssignment - description: '' - cliKey: ApplicationGroupAssignments - hidden: true - protocol: {} - - $key: ApplicationGroups - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_185 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_186 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_185 - - *ref_186 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get an application group. - cli: - name: Get - description: Get an application group. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_202 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_203 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_187 - schema: *ref_35 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _application_group - description: Object containing ApplicationGroup definitions. - cli: - name: _application_group - description: Object containing ApplicationGroup definitions. - cliKey: applicationGroup - protocol: - http: - in: body - style: json - - &ref_196 - schema: *ref_37 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_197 - schema: *ref_38 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_198 - schema: *ref_14 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_188 - language: - default: - name: description - description: Description of ApplicationGroup. - cli: *ref_189 - protocol: {} - - &ref_199 - schema: *ref_15 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: false - targetProperty: *ref_190 - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: *ref_191 - protocol: {} - - &ref_200 - schema: *ref_16 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_192 - language: - default: - name: host_pool_arm_path - description: HostPool arm path of ApplicationGroup. - cli: *ref_193 - protocol: {} - - &ref_201 - schema: *ref_18 - implementation: Method - originalParameter: *ref_187 - pathToProperty: [] - required: true - targetProperty: *ref_194 - language: - default: - name: application_group_type - description: Resource Type of ApplicationGroup. - cli: *ref_195 - protocol: {} - signatureParameters: - - *ref_196 - - *ref_197 - - *ref_198 - - *ref_199 - - *ref_200 - - *ref_201 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_202 - - *ref_203 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Create: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '201': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update an applicationGroup. - cli: - name: CreateOrUpdate - description: Create or update an applicationGroup. - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_204 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_205 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_204 - - *ref_205 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove an applicationGroup. - cli: - name: Delete - description: Remove an applicationGroup. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_216 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_217 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_206 - schema: *ref_83 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _application_group - description: Object containing ApplicationGroup definitions. - cli: - name: _application_group - description: Object containing ApplicationGroup definitions. - cliKey: applicationGroup - protocol: - http: - in: body - style: json - - &ref_213 - schema: *ref_39 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_207 - language: - default: - name: tags - description: tags to be updated - cli: *ref_208 - protocol: {} - - &ref_214 - schema: *ref_40 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_209 - language: - default: - name: description - description: Description of ApplicationGroup. - cli: *ref_210 - protocol: {} - - &ref_215 - schema: *ref_41 - implementation: Method - originalParameter: *ref_206 - pathToProperty: [] - targetProperty: *ref_211 - language: - default: - name: friendly_name - description: Friendly name of ApplicationGroup. - cli: *ref_212 - protocol: {} - signatureParameters: - - *ref_213 - - *ref_214 - - *ref_215 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_216 - - *ref_217 - responses: - - schema: *ref_35 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroups_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroup: - properties: - description: des1 - friendlyName: friendly - tags: - tag1: value1 - tag2: value2 - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update an applicationGroup. - cli: - name: Update - description: Update an applicationGroup. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_218 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_219 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_218 - - *ref_219 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_ListByResourceGroup: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List applicationGroups. - paging: - nextLinkName: nextLink - cli: - name: ListByResourceGroup - description: List applicationGroups. - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_220 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are applicationGroupType. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups' - method: get - uri: '{$host}' - signatureParameters: - - *ref_220 - responses: - - schema: *ref_184 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ApplicationGroup_List: - parameters: - $filter: applicationGroupType eq 'RailApplication' - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - - name: applicationGroup2 - type: Microsoft.DesktopVirtualization/applicationGroups - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2 - location: centralus - properties: - description: des1 - applicationGroupType: RemoteApp - friendlyName: friendly - hostPoolArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - workspaceArmPath: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_subscription - description: List applicationGroups in subscription. - paging: - nextLinkName: nextLink - cli: - name: ListBySubscription - description: List applicationGroups in subscription. - cliKey: ListBySubscription - protocol: {} - language: - default: - name: ApplicationGroup - description: '' - cli: - name: ApplicationGroup - description: '' - cliKey: ApplicationGroups - protocol: {} - - $key: StartMenuItems - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_221 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_222 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems' - method: get - uri: '{$host}' - signatureParameters: - - *ref_221 - - *ref_222 - responses: - - schema: *ref_223 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - StartMenuItem_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: application1 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1 - properties: - appAlias: word - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - - name: application2 - type: Microsoft.DesktopVirtualization/applicationGroups/startMenuItems - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2 - properties: - appAlias: excel - commandLineArguments: arguments - filePath: /path/to/file - friendlyName: friendly - iconIndex: 1 - iconPath: /path/to/icon - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List start menu items in the given application group. - paging: - nextLinkName: nextLink - cli: - name: List - description: List start menu items in the given application group. - cliKey: List - protocol: {} - language: - default: - name: StartMenuItem - description: '' - cli: - name: StartMenuItem - description: '' - cliKey: StartMenuItems - hidden: true - protocol: {} - - $key: Applications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_224 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_225 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_226 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - name: applicationName - description: The name of the application within the specified application group - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_224 - - *ref_225 - - *ref_226 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: get - description: Get an application. - cli: - name: Get - description: Get an application. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_252 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_253 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_254 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - name: applicationName - description: The name of the application within the specified application group - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_227 - schema: *ref_85 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _application - description: Object containing Application definitions. - cli: - name: _application - description: Object containing Application definitions. - cliKey: application - protocol: - http: - in: body - style: json - - &ref_244 - schema: *ref_48 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_228 - language: - default: - name: description - description: Description of Application. - cli: *ref_229 - protocol: {} - - &ref_245 - schema: *ref_49 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_230 - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: *ref_231 - protocol: {} - - &ref_246 - schema: *ref_50 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_232 - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: *ref_233 - protocol: {} - - &ref_247 - schema: *ref_51 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: true - targetProperty: *ref_234 - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: *ref_235 - protocol: {} - - &ref_248 - schema: *ref_52 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_236 - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: *ref_237 - protocol: {} - - &ref_249 - schema: *ref_53 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_238 - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: *ref_239 - protocol: {} - - &ref_250 - schema: *ref_54 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_240 - language: - default: - name: icon_path - description: Path to icon. - cli: *ref_241 - protocol: {} - - &ref_251 - schema: *ref_47 - implementation: Method - originalParameter: *ref_227 - pathToProperty: [] - required: false - targetProperty: *ref_242 - language: - default: - name: icon_index - description: Index of the icon. - cli: *ref_243 - protocol: {} - signatureParameters: - - *ref_244 - - *ref_245 - - *ref_246 - - *ref_247 - - *ref_248 - - *ref_249 - - *ref_250 - - *ref_251 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_252 - - *ref_253 - - *ref_254 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Create: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '201': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: create_or_update - description: Create or update an application. - cli: - name: CreateOrUpdate - description: Create or update an application. - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_255 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_256 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_257 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - name: applicationName - description: The name of the application within the specified application group - cliKey: applicationName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_255 - - *ref_256 - - *ref_257 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Delete: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - '204': {} - language: - default: - name: delete - description: Remove an application. - cli: - name: Delete - description: Remove an application. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_287 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_288 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_289 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_name - description: The name of the application within the specified application group - serializedName: applicationName - cli: - name: applicationName - description: The name of the application within the specified application group - cliKey: applicationName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_259 - schema: *ref_258 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _application - description: Object containing Application definitions. - cli: - name: _application - description: Object containing Application definitions. - cliKey: application - protocol: - http: - in: body - style: json - - &ref_278 - schema: *ref_39 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_260 - language: - default: - name: tags - description: tags to be updated - cli: *ref_261 - protocol: {} - - &ref_279 - schema: *ref_102 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_262 - language: - default: - name: description - description: Description of Application. - cli: *ref_263 - protocol: {} - - &ref_280 - schema: *ref_103 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_264 - language: - default: - name: friendly_name - description: Friendly name of Application. - cli: *ref_265 - protocol: {} - - &ref_281 - schema: *ref_104 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_266 - language: - default: - name: file_path - description: Specifies a path for the executable file for the application. - cli: *ref_267 - protocol: {} - - &ref_282 - schema: *ref_51 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_268 - language: - default: - name: command_line_setting - description: 'Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.' - cli: *ref_269 - protocol: {} - - &ref_283 - schema: *ref_105 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_270 - language: - default: - name: command_line_arguments - description: Command Line Arguments for Application. - cli: *ref_271 - protocol: {} - - &ref_284 - schema: *ref_53 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_272 - language: - default: - name: show_in_portal - description: Specifies whether to show the RemoteApp program in the RD Web Access server. - cli: *ref_273 - protocol: {} - - &ref_285 - schema: *ref_106 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_274 - language: - default: - name: icon_path - description: Path to icon. - cli: *ref_275 - protocol: {} - - &ref_286 - schema: *ref_47 - implementation: Method - originalParameter: *ref_259 - pathToProperty: [] - targetProperty: *ref_276 - language: - default: - name: icon_index - description: Index of the icon. - cli: *ref_277 - protocol: {} - signatureParameters: - - *ref_278 - - *ref_279 - - *ref_280 - - *ref_281 - - *ref_282 - - *ref_283 - - *ref_284 - - *ref_285 - - *ref_286 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_287 - - *ref_288 - - *ref_289 - responses: - - schema: *ref_85 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Application_Update: - parameters: - api-version: 2019-12-10-preview - application: - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconIndex: 1 - iconPath: icon - showInPortal: true - applicationGroupName: applicationGroup1 - applicationName: application1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - language: - default: - name: update - description: Update an application. - cli: - name: Update - description: Update an application. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_290 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_291 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_290 - - *ref_291 - responses: - - schema: *ref_292 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Applications_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List applications. - paging: - nextLinkName: nextLink - cli: - name: List - description: List applications. - cliKey: List - protocol: {} - language: - default: - name: Application - description: '' - cli: - name: Application - description: '' - cliKey: Applications - hidden: true - protocol: {} - - $key: Desktops - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_293 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_294 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_295 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: desktop_name - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - name: desktopName - description: The name of the desktop within the specified desktop group - cliKey: desktopName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_293 - - *ref_294 - - *ref_295 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Get: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: get - description: Get a desktop. - cli: - name: Get - description: Get a desktop. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_307 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_308 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - - &ref_309 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: desktop_name - description: The name of the desktop within the specified desktop group - serializedName: desktopName - cli: - name: desktopName - description: The name of the desktop within the specified desktop group - cliKey: desktopName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_297 - schema: *ref_296 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _desktop - description: Object containing Desktop definitions. - cli: - name: _desktop - description: Object containing Desktop definitions. - cliKey: desktop - protocol: - http: - in: body - style: json - - &ref_304 - schema: *ref_39 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_298 - language: - default: - name: tags - description: tags to be updated - cli: *ref_299 - protocol: {} - - &ref_305 - schema: *ref_108 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_300 - language: - default: - name: description - description: Description of Desktop. - cli: *ref_301 - protocol: {} - - &ref_306 - schema: *ref_109 - implementation: Method - originalParameter: *ref_297 - pathToProperty: [] - targetProperty: *ref_302 - language: - default: - name: friendly_name - description: Friendly name of Desktop. - cli: *ref_303 - protocol: {} - signatureParameters: - - *ref_304 - - *ref_305 - - *ref_306 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_307 - - *ref_308 - - *ref_309 - responses: - - schema: *ref_86 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_Update: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - desktop: - properties: - description: des1 - friendlyName: friendly - desktopName: SessionDesktop - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: update - description: Update a desktop. - cli: - name: Update - description: Update a desktop. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_310 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_311 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: application_group_name - description: The name of the application group - serializedName: applicationGroupName - cli: - name: applicationGroupName - description: The name of the application group - cliKey: applicationGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops' - method: get - uri: '{$host}' - signatureParameters: - - *ref_310 - - *ref_311 - responses: - - schema: *ref_312 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - Desktop_List: - parameters: - api-version: 2019-12-10-preview - applicationGroupName: applicationGroup1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/SessionDesktop - type: Microsoft.DesktopVirtualization/applicationGroups/desktops - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop - properties: - description: des1 - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - language: - default: - name: list - description: List desktops. - cli: - name: List - description: List desktops. - cliKey: List - protocol: {} - language: - default: - name: Desktop - description: '' - cli: - name: Desktop - description: '' - cliKey: Desktops - hidden: true - protocol: {} - - $key: HostPools - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_313 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_314 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_313 - - *ref_314 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: get - description: Get a host pool. - cli: - name: Get - description: Get a host pool. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_354 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_355 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_315 - schema: *ref_36 - flattened: true - implementation: Method - required: true - extensions: - x-ms-client-flatten: true - language: - default: - name: _host_pool - description: Object containing HostPool definitions. - cli: - name: _host_pool - description: Object containing HostPool definitions. - cliKey: hostPool - protocol: - http: - in: body - style: json - - &ref_340 - schema: *ref_37 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_143 - language: - default: - name: tags - description: Resource tags. - cli: *ref_144 - protocol: {} - - &ref_341 - schema: *ref_38 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_145 - language: - default: - name: location - description: The geo-location where the resource lives - cli: *ref_146 - protocol: {} - - &ref_342 - schema: *ref_19 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_316 - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: *ref_317 - protocol: {} - - &ref_343 - schema: *ref_20 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_318 - language: - default: - name: description - description: Description of HostPool. - cli: *ref_319 - protocol: {} - - &ref_344 - schema: *ref_21 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_320 - language: - default: - name: host_pool_type - description: HostPool type for desktop. - cli: *ref_321 - protocol: {} - - &ref_345 - schema: *ref_22 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_322 - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: *ref_323 - protocol: {} - - &ref_346 - schema: *ref_23 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_324 - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: *ref_325 - protocol: {} - - &ref_347 - schema: *ref_24 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_326 - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: *ref_327 - protocol: {} - - &ref_348 - schema: *ref_25 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: true - targetProperty: *ref_328 - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: *ref_329 - protocol: {} - - &ref_349 - schema: *ref_26 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_330 - language: - default: - name: ring - description: The ring number of HostPool. - cli: *ref_331 - protocol: {} - - &ref_350 - schema: *ref_27 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_332 - language: - default: - name: validation_environment - description: Is validation environment. - cli: *ref_333 - protocol: {} - - &ref_351 - schema: *ref_111 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_334 - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: *ref_335 - protocol: {} - - &ref_352 - schema: *ref_31 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_336 - language: - default: - name: vm_template - description: VM template for sessionhosts configuration within hostpool. - cli: *ref_337 - protocol: {} - - &ref_353 - schema: *ref_33 - implementation: Method - originalParameter: *ref_315 - pathToProperty: [] - required: false - targetProperty: *ref_338 - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: *ref_339 - protocol: {} - signatureParameters: - - *ref_340 - - *ref_341 - - *ref_342 - - *ref_343 - - *ref_344 - - *ref_345 - - *ref_346 - - *ref_347 - - *ref_348 - - *ref_349 - - *ref_350 - - *ref_351 - - *ref_352 - - *ref_353 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: put - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_354 - - *ref_355 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '201' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Create: - parameters: - api-version: 2019-12-10-preview - hostPool: - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '201': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-01T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: create_or_update - description: Create or update a host pool. - cli: - name: CreateOrUpdate - description: Create or update a host pool. - cliKey: CreateOrUpdate - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_357 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_358 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_359 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to delete sessionHost. - serializedName: force - cli: - name: force - description: Force flag to delete sessionHost. - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_357 - - *ref_358 - - *ref_359 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - '204': {} - language: - default: - name: delete - description: Remove a host pool. - cli: - name: Delete - description: Remove a host pool. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_394 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_395 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_360 - schema: *ref_87 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _host_pool - description: Object containing HostPool definitions. - cli: - name: _host_pool - description: Object containing HostPool definitions. - cliKey: hostPool - protocol: - http: - in: body - style: json - - &ref_383 - schema: *ref_39 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_361 - language: - default: - name: tags - description: tags to be updated - cli: *ref_362 - protocol: {} - - &ref_384 - schema: *ref_61 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_363 - language: - default: - name: friendly_name - description: Friendly name of HostPool. - cli: *ref_364 - protocol: {} - - &ref_385 - schema: *ref_62 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_365 - language: - default: - name: description - description: Description of HostPool. - cli: *ref_366 - protocol: {} - - &ref_386 - schema: *ref_63 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_367 - language: - default: - name: custom_rdp_property - description: Custom rdp property of HostPool. - cli: *ref_368 - protocol: {} - - &ref_387 - schema: *ref_24 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_369 - language: - default: - name: max_session_limit - description: The max session limit of HostPool. - cli: *ref_370 - protocol: {} - - &ref_388 - schema: *ref_22 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_371 - language: - default: - name: personal_desktop_assignment_type - description: PersonalDesktopAssignment type for HostPool. - cli: *ref_372 - protocol: {} - - &ref_389 - schema: *ref_25 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_373 - language: - default: - name: load_balancer_type - description: The type of the load balancer. - cli: *ref_374 - protocol: {} - - &ref_390 - schema: *ref_26 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_375 - language: - default: - name: ring - description: The ring number of HostPool. - cli: *ref_376 - protocol: {} - - &ref_391 - schema: *ref_27 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_377 - language: - default: - name: validation_environment - description: Is validation environment. - cli: *ref_378 - protocol: {} - - &ref_392 - schema: *ref_112 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_379 - language: - default: - name: registration_info - description: The registration info of HostPool. - cli: *ref_380 - protocol: {} - - &ref_393 - schema: *ref_64 - implementation: Method - originalParameter: *ref_360 - pathToProperty: [] - targetProperty: *ref_381 - language: - default: - name: sso_context - description: Path to keyvault containing ssoContext secret. - cli: *ref_382 - protocol: {} - signatureParameters: - - *ref_383 - - *ref_384 - - *ref_385 - - *ref_386 - - *ref_387 - - *ref_388 - - *ref_389 - - *ref_390 - - *ref_391 - - *ref_392 - - *ref_393 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_394 - - *ref_395 - responses: - - schema: *ref_36 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_Update: - parameters: - api-version: 2019-12-10-preview - hostPool: - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2020-10-02T14:01:54.9571247Z' - ssoContext: KeyVaultPath - tags: - tag1: value1 - tag2: value2 - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - language: - default: - name: update - description: Update a host pool. - cli: - name: Update - description: Update a host pool. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_396 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: - - *ref_396 - responses: - - schema: *ref_397 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_ListByResourceGroup: - parameters: - api-version: 2019-12-10-preview - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_resource_group - description: List hostPools. - paging: - nextLinkName: nextLink - cli: - name: ListByResourceGroup - description: List hostPools. - cliKey: ListByResourceGroup - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools' - method: get - uri: '{$host}' - signatureParameters: [] - responses: - - schema: *ref_397 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - HostPool_List: - parameters: - api-version: 2019-12-10-preview - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: hostPool1 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - - name: hostPool2 - type: /Microsoft.DesktopVirtualization/hostPools - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2 - location: centralus - properties: - description: des1 - customRdpProperty: null - friendlyName: friendly - hostPoolType: Pooled - loadBalancerType: BreadthFirst - maxSessionLimit: 999999 - personalDesktopAssignmentType: Automatic - registrationInfo: - expirationTime: '2008-09-22T14:01:54.9571247Z' - registrationTokenOperation: Update - token: token - ring: null - ssoContext: KeyVaultPath - validationEnvironment: null - tags: - key1: value1 - key2: value2 - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List hostPools in subscription. - paging: - nextLinkName: nextLink - cli: - name: List - description: List hostPools in subscription. - cliKey: List - protocol: {} - language: - default: - name: HostPool - description: '' - cli: - name: HostPool - description: '' - cliKey: HostPools - protocol: {} - - $key: UserSessions - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_398 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_399 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_400 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_398 - - *ref_399 - - *ref_400 - responses: - - schema: *ref_401 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_ListByHostPool: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' and state eq 'active' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_host_pool - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - name: ListByHostPool - description: List userSessions. - cliKey: ListByHostPool - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_404 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_405 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_406 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_407 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - name: userSessionId - description: The name of the user session within the specified session host - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_404 - - *ref_405 - - *ref_406 - - *ref_407 - responses: - - schema: *ref_88 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - body: - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - language: - default: - name: get - description: Get a userSession. - cli: - name: Get - description: Get a userSession. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_408 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_409 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_410 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_411 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - name: userSessionId - description: The name of the user session within the specified session host - cliKey: userSessionId - protocol: - http: - in: path - - &ref_412 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to login off userSession. - serializedName: force - cli: - name: force - description: Force flag to login off userSession. - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_408 - - *ref_409 - - *ref_410 - - *ref_411 - - *ref_412 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - '204': {} - language: - default: - name: delete - description: Remove a userSession. - cli: - name: Delete - description: Remove a userSession. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_413 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_414 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_415 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions' - method: get - uri: '{$host}' - signatureParameters: - - *ref_413 - - *ref_414 - - *ref_415 - responses: - - schema: *ref_401 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: '1' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - - name: '2' - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2 - properties: - activeDirectoryUserName: WVDARM\user1 - applicationType: Desktop - createTime: '2008-09-22T14:01:54.9571247Z' - sessionState: Active - userPrincipalName: user1@microsoft.com - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List userSessions. - paging: - nextLinkName: nextLink - cli: - name: List - description: List userSessions. - cliKey: List - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_416 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_417 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_418 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_419 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - name: userSessionId - description: The name of the user session within the specified session host - cliKey: userSessionId - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect' - method: post - uri: '{$host}' - signatureParameters: - - *ref_416 - - *ref_417 - - *ref_418 - - *ref_419 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_Disconnect_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: disconnect - description: Disconnect a userSession. - cli: - name: Disconnect - description: Disconnect a userSession. - cliKey: Disconnect - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_428 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_429 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_430 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_431 - schema: *ref_403 - implementation: Method - required: true - language: - default: - name: user_session_id - description: The name of the user session within the specified session host - serializedName: userSessionId - cli: - name: userSessionId - description: The name of the user session within the specified session host - cliKey: userSessionId - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_421 - schema: *ref_420 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _send_message - description: Object containing message includes title and message body - cli: - name: _send_message - description: Object containing message includes title and message body - cliKey: sendMessage - protocol: - http: - in: body - style: json - - &ref_426 - schema: *ref_116 - implementation: Method - originalParameter: *ref_421 - pathToProperty: [] - targetProperty: *ref_422 - language: - default: - name: message_title - description: Title of message. - cli: *ref_423 - protocol: {} - - &ref_427 - schema: *ref_117 - implementation: Method - originalParameter: *ref_421 - pathToProperty: [] - targetProperty: *ref_424 - language: - default: - name: message_body - description: Body of message. - cli: *ref_425 - protocol: {} - signatureParameters: - - *ref_426 - - *ref_427 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage' - method: post - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_428 - - *ref_429 - - *ref_430 - - *ref_431 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - UserSession_SendMessage_Post: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sendMessage: - messageBody: body - messageTitle: title - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - userSessionId: '1' - responses: - '200': {} - language: - default: - name: send_message - description: Send a message to a user. - cli: - name: SendMessage - description: Send a message to a user. - cliKey: SendMessage - protocol: {} - language: - default: - name: UserSession - description: '' - cli: - name: UserSession - description: '' - cliKey: UserSessions - hidden: true - protocol: {} - - $key: SessionHosts - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_432 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_433 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_434 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: get - uri: '{$host}' - signatureParameters: - - *ref_432 - - *ref_433 - - *ref_434 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Get: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: get - description: Get a session host. - cli: - name: Get - description: Get a session host. - cliKey: Get - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_435 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_436 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_437 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_438 - schema: *ref_356 - implementation: Method - language: - default: - name: force - description: Force flag to force sessionHost deletion even when userSession exists. - serializedName: force - cli: - name: force - description: Force flag to force sessionHost deletion even when userSession exists. - cliKey: force - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_435 - - *ref_436 - - *ref_437 - - *ref_438 - responses: - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '200' - - language: - default: - name: '' - description: '' - protocol: - http: - statusCodes: - - '204' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Delete: - parameters: - api-version: 2019-12-10-preview - force: true - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionHosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - '204': {} - language: - default: - name: delete - description: Remove a SessionHost. - cli: - name: Delete - description: Remove a SessionHost. - cliKey: Delete - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_446 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_447 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_448 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - requests: - - parameters: - - schema: *ref_141 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: - default: - name: content_type - description: Body Parameter content-type - serializedName: Content-Type - cli: - name: ContentType - description: Body Parameter content-type - cliKey: content-type - protocol: - http: - in: header - - &ref_439 - schema: *ref_90 - flattened: true - implementation: Method - required: false - extensions: - x-ms-client-flatten: true - language: - default: - name: _session_host - description: Object containing SessionHost definitions. - cli: - name: _session_host - description: Object containing SessionHost definitions. - cliKey: sessionHost - protocol: - http: - in: body - style: json - - &ref_444 - schema: *ref_73 - implementation: Method - originalParameter: *ref_439 - pathToProperty: [] - targetProperty: *ref_440 - language: - default: - name: allow_new_session - description: Allow a new session. - cli: *ref_441 - protocol: {} - - &ref_445 - schema: *ref_82 - implementation: Method - originalParameter: *ref_439 - pathToProperty: [] - targetProperty: *ref_442 - language: - default: - name: assigned_user - description: User assigned to SessionHost. - cli: *ref_443 - protocol: {} - signatureParameters: - - *ref_444 - - *ref_445 - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}' - method: patch - knownMediaType: json - mediaTypes: - - application/json - uri: '{$host}' - signatureParameters: - - *ref_446 - - *ref_447 - - *ref_448 - responses: - - schema: *ref_89 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_Update: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHost: - properties: - allowNewSession: true - assignedUser: user1@microsoft.com - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2019-01-11T19:27:13.6108027Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2019-01-24T20:00:08.2893033Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - language: - default: - name: update - description: Update a session host. - cli: - name: Update - description: Update a session host. - cliKey: Update - protocol: {} - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_449 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_450 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts' - method: get - uri: '{$host}' - signatureParameters: - - *ref_449 - - *ref_450 - responses: - - schema: *ref_451 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - SessionHost_List: - parameters: - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: sessionHost1.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user1@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - - name: sessionHost2.microsoft.com - type: Microsoft.DesktopVirtualization/hostPools/sessionhosts - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com - properties: - agentVersion: 1.0.0.1391 - allowNewSession: true - assignedUser: user2@microsoft.com - lastHeartBeat: '2008-09-22T14:01:54.9571247Z' - lastUpdateTime: '2008-09-22T14:01:54.9571247Z' - osVersion: 10.0.17763 - sessions: 1 - status: Available - statusTimestamp: '2008-09-22T14:01:54.9571247Z' - sxSStackVersion: rdp-sxs190816002 - updateErrorMessage: '' - updateState: Succeeded - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list - description: List sessionHosts. - paging: - nextLinkName: nextLink - cli: - name: List - description: List sessionHosts. - cliKey: List - protocol: {} - language: - default: - name: SessionHost - description: '' - cli: - name: SessionHost - description: '' - cliKey: SessionHosts - hidden: true - protocol: {} - - $key: ActiveApplications - operations: - - apiVersions: - - version: 2019-12-10-preview - parameters: - - *ref_132 - - *ref_133 - - *ref_135 - - &ref_452 - schema: *ref_136 - implementation: Method - required: true - language: - default: - name: resource_group_name - description: The name of the resource group. The name is case insensitive. - serializedName: resourceGroupName - cli: - name: resourceGroupName - description: The name of the resource group. The name is case insensitive. - cliKey: resourceGroupName - protocol: - http: - in: path - - &ref_453 - schema: *ref_137 - implementation: Method - required: true - language: - default: - name: host_pool_name - description: The name of the host pool within the specified resource group - serializedName: hostPoolName - cli: - name: hostPoolName - description: The name of the host pool within the specified resource group - cliKey: hostPoolName - protocol: - http: - in: path - - &ref_454 - schema: *ref_402 - implementation: Method - required: true - language: - default: - name: session_host_name - description: The name of the session host within the specified host pool - serializedName: sessionHostName - cli: - name: sessionHostName - description: The name of the session host within the specified host pool - cliKey: sessionHostName - protocol: - http: - in: path - - &ref_455 - schema: *ref_180 - implementation: Method - language: - default: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - serializedName: $filter - cli: - name: filter - description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - cliKey: $filter - protocol: - http: - in: query - requests: - - language: - default: - name: '' - description: '' - protocol: - http: - path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications' - method: get - uri: '{$host}' - signatureParameters: - - *ref_452 - - *ref_453 - - *ref_454 - - *ref_455 - responses: - - schema: *ref_292 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - '200' - exceptions: - - schema: *ref_140 - language: - default: - name: '' - description: '' - protocol: - http: - knownMediaType: json - mediaTypes: - - application/json - statusCodes: - - default - extensions: - x-ms-examples: - ActiveApplications_List: - parameters: - $filter: userPrincipalName eq 'user1@microsoft.com' - api-version: 2019-12-10-preview - hostPoolName: hostPool1 - resourceGroupName: resourceGroup1 - sessionHostName: sessionHost1.microsoft.com - subscriptionId: daefabc0-95b4-48b3-b645-8a753a63c4fa - responses: - '200': - body: - value: - - name: applicationGroup1/application1 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1 - properties: - description: des1 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - - name: applicationGroup1/application2 - type: Microsoft.DesktopVirtualization/applicationGroups/applications - id: /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2 - properties: - description: des2 - commandLineArguments: arguments - commandLineSetting: Allow - filePath: path - friendlyName: friendly - iconContent: AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA... - iconHash: bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc - iconIndex: 1 - iconPath: icon - showInPortal: true - x-ms-pageable: - nextLinkName: nextLink - language: - default: - name: list_by_session_host - description: List applications for the given session host. - paging: - nextLinkName: nextLink - cli: - name: ListBySessionHost - description: List applications for the given session host. - cliKey: ListBySessionHost - protocol: {} - language: - default: - name: ActiveApplication - description: '' - cli: - name: ActiveApplication - description: '' - cliKey: ActiveApplications - hidden: true - protocol: {} -language: - default: - name: DesktopVirtualizationAPIClient - description: '' - cli: - name: DesktopVirtualizationAPIClient - description: '' -protocol: - http: {} diff --git a/src/desktopvirtualization/_az_debug/clicommon-flatten-object-map.txt b/src/desktopvirtualization/_az_debug/clicommon-flatten-object-map.txt deleted file mode 100644 index b029cf1c9fe..00000000000 --- a/src/desktopvirtualization/_az_debug/clicommon-flatten-object-map.txt +++ /dev/null @@ -1,31 +0,0 @@ -ResourceProviderOperationList<1> -ResourceProviderOperation<2>(display:ResourceProviderOperation-display) -ResourceProviderOperation-display<4> -Resource<3> -TrackedResource<2> -Workspace<1>[properties] -> WorkspaceProperties<3> -CloudError<2> -WorkspacePatch<2>[properties] -> WorkspacePatchProperties<3> -WorkspaceList<2> -ApplicationGroupList<2> -ApplicationGroup<1>[properties] -> ApplicationGroupProperties<5> -ApplicationGroupPatch<2>[properties] -> ApplicationGroupPatchProperties<2> -StartMenuItemList<2> -StartMenuItem<1>[properties] -> StartMenuItemProperties<6> -Application<1>[properties] -> ApplicationProperties<10> -ApplicationPatch<2>[properties] -> ApplicationPatchProperties<8> -ApplicationList<2> -Desktop<1>[properties] -> DesktopProperties<4> -DesktopPatch<2>[properties] -> DesktopPatchProperties<2> -DesktopList<2> -HostPool<1>[properties] -> HostPoolProperties<13>(registrationInfo:RegistrationInfo) -RegistrationInfo<3> -HostPoolPatch<2>[properties] -> HostPoolPatchProperties<10>(registrationInfo:RegistrationInfoPatch) -RegistrationInfoPatch<1> -HostPoolList<2> -UserSessionList<2> -UserSession<1>[properties] -> UserSessionProperties<5> -SessionHost<1>[properties] -> SessionHostProperties<12> -SessionHostPatch<1>[properties] -> SessionHostPatchProperties<2> -SessionHostList<2> -SendMessage<2> \ No newline at end of file diff --git a/src/desktopvirtualization/azext_desktopvirtualization/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/__init__.py index 9ce6b976062..d02699c767c 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/__init__.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/__init__.py @@ -7,13 +7,10 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- +# pylint: disable=unused-import from azure.cli.core import AzCommandsLoader -from azext_desktopvirtualization.generated._help import helps # pylint: disable=unused-import -try: - from azext_desktopvirtualization.manual._help import helps # pylint: disable=reimported -except ImportError: - pass +import azext_desktopvirtualization._help class DesktopVirtualizationAPIClientCommandsLoader(AzCommandsLoader): @@ -24,8 +21,7 @@ def __init__(self, cli_ctx=None): desktopvirtualization_custom = CliCommandType( operations_tmpl='azext_desktopvirtualization.custom#{}', client_factory=cf_desktopvirtualization_cl) - parent = super(DesktopVirtualizationAPIClientCommandsLoader, self) - parent.__init__(cli_ctx=cli_ctx, custom_command_type=desktopvirtualization_custom) + super().__init__(cli_ctx=cli_ctx, custom_command_type=desktopvirtualization_custom) def load_command_table(self, args): from azext_desktopvirtualization.generated.commands import load_command_table @@ -33,8 +29,11 @@ def load_command_table(self, args): try: from azext_desktopvirtualization.manual.commands import load_command_table as load_command_table_manual load_command_table_manual(self, args) - except ImportError: - pass + except ImportError as e: + if e.name.endswith('manual.commands'): + pass + else: + raise e return self.command_table def load_arguments(self, command): @@ -43,8 +42,11 @@ def load_arguments(self, command): try: from azext_desktopvirtualization.manual._params import load_arguments as load_arguments_manual load_arguments_manual(self, command) - except ImportError: - pass + except ImportError as e: + if e.name.endswith('manual._params'): + pass + else: + raise e COMMAND_LOADER_CLS = DesktopVirtualizationAPIClientCommandsLoader diff --git a/src/desktopvirtualization/azext_desktopvirtualization/_help.py b/src/desktopvirtualization/azext_desktopvirtualization/_help.py new file mode 100644 index 00000000000..9b93f87a6e9 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/_help.py @@ -0,0 +1,20 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import +# pylint: disable=unused-import +from .generated._help import helps # pylint: disable=reimported +try: + from .manual._help import helps # pylint: disable=reimported +except ImportError as e: + if e.name.endswith('manual._help'): + pass + else: + raise e diff --git a/src/desktopvirtualization/azext_desktopvirtualization/action.py b/src/desktopvirtualization/azext_desktopvirtualization/action.py index d95d53bf711..9b3d0a8a78c 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/action.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/action.py @@ -13,5 +13,8 @@ from .generated.action import * # noqa: F403 try: from .manual.action import * # noqa: F403 -except ImportError: - pass +except ImportError as e: + if e.name.endswith('manual.action'): + pass + else: + raise e diff --git a/src/desktopvirtualization/azext_desktopvirtualization/azext_metadata.json b/src/desktopvirtualization/azext_desktopvirtualization/azext_metadata.json index 13025150393..3695b0d7077 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/azext_metadata.json +++ b/src/desktopvirtualization/azext_desktopvirtualization/azext_metadata.json @@ -1,4 +1,3 @@ { - "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.3.1" + "azext.minCliCoreVersion": "2.15.0" } \ No newline at end of file diff --git a/src/desktopvirtualization/azext_desktopvirtualization/custom.py b/src/desktopvirtualization/azext_desktopvirtualization/custom.py index dbe9d5f9742..885447229d6 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/custom.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/custom.py @@ -13,5 +13,8 @@ from .generated.custom import * # noqa: F403 try: from .manual.custom import * # noqa: F403 -except ImportError: - pass +except ImportError as e: + if e.name.endswith('manual.custom'): + pass + else: + raise e diff --git a/src/desktopvirtualization/azext_desktopvirtualization/generated/_client_factory.py b/src/desktopvirtualization/azext_desktopvirtualization/generated/_client_factory.py index c2eaaf78da0..5cff18afe4f 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/generated/_client_factory.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/generated/_client_factory.py @@ -16,12 +16,12 @@ def cf_desktopvirtualization_cl(cli_ctx, *_): def cf_workspace(cli_ctx, *_): - return cf_desktopvirtualization_cl(cli_ctx).workspace + return cf_desktopvirtualization_cl(cli_ctx).workspaces def cf_application_group(cli_ctx, *_): - return cf_desktopvirtualization_cl(cli_ctx).application_group + return cf_desktopvirtualization_cl(cli_ctx).application_groups def cf_host_pool(cli_ctx, *_): - return cf_desktopvirtualization_cl(cli_ctx).host_pool + return cf_desktopvirtualization_cl(cli_ctx).host_pools diff --git a/src/desktopvirtualization/azext_desktopvirtualization/generated/_help.py b/src/desktopvirtualization/azext_desktopvirtualization/generated/_help.py index f83a14c0562..9ce5f6c5839 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/generated/_help.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/generated/_help.py @@ -12,6 +12,11 @@ from knack.help_files import helps +helps['desktopvirtualization'] = ''' + type: group + short-summary: Manage Desktop Virtualization +''' + helps['desktopvirtualization workspace'] = """ type: group short-summary: desktopvirtualization workspace @@ -37,7 +42,7 @@ helps['desktopvirtualization workspace create'] = """ type: command - short-summary: Create or update a workspace. + short-summary: Create a workspace. examples: - name: Workspace_Create text: |- @@ -91,7 +96,7 @@ helps['desktopvirtualization applicationgroup create'] = """ type: command - short-summary: Create or update an applicationGroup. + short-summary: Create an applicationGroup. examples: - name: ApplicationGroup_Create text: |- @@ -146,7 +151,7 @@ helps['desktopvirtualization hostpool create'] = """ type: command - short-summary: Create or update a host pool. + short-summary: Create a host pool. parameters: - name: --registration-info short-summary: The registration info of HostPool. @@ -156,14 +161,22 @@ expiration-time: Expiration time of registration token. token: The registration token base64 encoded string. registration-token-operation: The type of resetting the token. + - name: --host-pool-type + short-summary: HostPool type for desktop. + long-summary: | + Personal: Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost. + Pooled: Users get a new (random) SessionHost every time it connects to the HostPool. + BYODesktop: Users assign their own machines, load balancing logic remains the same as Personal. --personal-desktop-ssignment-type must be Direct. examples: - name: HostPool_Create text: |- az desktopvirtualization hostpool create --location "centralus" --description "des1" --friendly-name \ "friendly" --host-pool-type "Pooled" --load-balancer-type "BreadthFirst" --max-session-limit 999999 \ ---personal-desktop-assignment-type "Automatic" --registration-info expiration-time="2020-10-01T14:01:54.9571247Z" \ -registration-token-operation="Update" --sso-context "KeyVaultPath" --tags tag1="value1" tag2="value2" --name \ -"MyHostPool" --resource-group "MyResourceGroup" +--personal-desktop-assignment-type "Automatic" --preferred-app-group-type "Desktop" \ +--registration-info expiration-time="2020-10-01T14:01:54.9571247Z" registration-token-operation="Update" \ +--sso-client-id "client" --sso-client-secret-key-vault-path "https://keyvault/secret" --sso-secret-type "SharedKey" \ +--ssoadfs-authority "https://adfs" --start-vm-on-connect false --vm-template "{json:json}" --tags tag1="value1" \ +tag2="value2" --name "MyHostPool" --resource-group "MyResourceGroup" """ helps['desktopvirtualization hostpool update'] = """ @@ -182,8 +195,10 @@ text: |- az desktopvirtualization hostpool update --description "des1" --friendly-name "friendly" \ --load-balancer-type "BreadthFirst" --max-session-limit 999999 --personal-desktop-assignment-type "Automatic" \ ---registration-info expiration-time="2020-10-01T15:01:54.9571247Z" registration-token-operation="Update" --sso-context \ -"KeyVaultPath" --tags tag1="value1" tag2="value2" --name "MyHostPool" --resource-group "MyResourceGroup" +--registration-info expiration-time="2020-10-01T15:01:54.9571247Z" registration-token-operation="Update" \ +--sso-client-id "client" --sso-client-secret-key-vault-path "https://keyvault/secret" --sso-secret-type "SharedKey" \ +--ssoadfs-authority "https://adfs" --start-vm-on-connect false --vm-template "{json:json}" --tags tag1="value1" \ +tag2="value2" --name "MyHostPool" --resource-group "MyResourceGroup" """ helps['desktopvirtualization hostpool delete'] = """ @@ -195,3 +210,13 @@ az desktopvirtualization hostpool delete --force true --name "MyHostPool" --resource-group \ "MyResourceGroup" """ + +helps['desktopvirtualization hostpool retrieve-registration-token'] = """ + type: command + short-summary: Registration token of the host pool. + examples: + - name: HostPools_RetrieveRegistrationToken_Post + text: |- + az desktopvirtualization hostpool retrieve-registration-token --name "MyHostPool" --resource-group \ +"MyResourceGroup" +""" diff --git a/src/desktopvirtualization/azext_desktopvirtualization/generated/_params.py b/src/desktopvirtualization/azext_desktopvirtualization/generated/_params.py index 378f640e374..3555695ba32 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/generated/_params.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/generated/_params.py @@ -31,21 +31,24 @@ def load_arguments(self, _): with self.argument_context('desktopvirtualization workspace show') as c: c.argument('resource_group_name', resource_group_name_type) - c.argument('workspace_name', options_list=['--name', '-n'], help='The name of the workspace', id_part='name') + c.argument('workspace_name', options_list=['--name', '-n'], + help='The name of the workspace', id_part='name') with self.argument_context('desktopvirtualization workspace create') as c: c.argument('resource_group_name', resource_group_name_type) - c.argument('workspace_name', options_list=['--name', '-n'], help='The name of the workspace') - c.argument('tags', tags_type) + c.argument('workspace_name', options_list=['--name', '-n'], + help='The name of the workspace') c.argument('location', arg_type=get_location_type(self.cli_ctx), validator=get_default_location_from_resource_group) + c.argument('tags', tags_type) c.argument('description', help='Description of Workspace.') c.argument('friendly_name', help='Friendly name of Workspace.') c.argument('application_group_references', nargs='+', help='List of applicationGroup resource Ids.') with self.argument_context('desktopvirtualization workspace update') as c: c.argument('resource_group_name', resource_group_name_type) - c.argument('workspace_name', options_list=['--name', '-n'], help='The name of the workspace', id_part='name') + c.argument('workspace_name', options_list=['--name', '-n'], + help='The name of the workspace', id_part='name') c.argument('tags', tags_type) c.argument('description', help='Description of Workspace.') c.argument('friendly_name', help='Friendly name of Workspace.') @@ -53,7 +56,8 @@ def load_arguments(self, _): with self.argument_context('desktopvirtualization workspace delete') as c: c.argument('resource_group_name', resource_group_name_type) - c.argument('workspace_name', options_list=['--name', '-n'], help='The name of the workspace', id_part='name') + c.argument('workspace_name', options_list=['--name', '-n'], + help='The name of the workspace', id_part='name') with self.argument_context('desktopvirtualization applicationgroup list') as c: c.argument('resource_group_name', resource_group_name_type) @@ -61,87 +65,117 @@ def load_arguments(self, _): with self.argument_context('desktopvirtualization applicationgroup show') as c: c.argument('resource_group_name', resource_group_name_type) - c.argument('application_group_name', options_list=['--name', '-n'], help='The name of the application group', - id_part='name') + c.argument('application_group_name', options_list=['--name', '-n'], + help='The name of the application group', id_part='name') with self.argument_context('desktopvirtualization applicationgroup create') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('application_group_name', options_list=['--name', '-n'], help='The name of the application group') - c.argument('tags', tags_type) c.argument('location', arg_type=get_location_type(self.cli_ctx), validator=get_default_location_from_resource_group) + c.argument('tags', tags_type) c.argument('description', help='Description of ApplicationGroup.') c.argument('friendly_name', help='Friendly name of ApplicationGroup.') c.argument('host_pool_arm_path', help='HostPool arm path of ApplicationGroup.') - c.argument('application_group_type', arg_type=get_enum_type(['RemoteApp', 'Desktop']), help='Resource Type of ' - 'ApplicationGroup.') + c.argument('application_group_type', arg_type=get_enum_type(['RemoteApp', 'Desktop']), + help='Resource Type of ApplicationGroup.') with self.argument_context('desktopvirtualization applicationgroup update') as c: c.argument('resource_group_name', resource_group_name_type) - c.argument('application_group_name', options_list=['--name', '-n'], help='The name of the application group', - id_part='name') + c.argument('application_group_name', options_list=['--name', '-n'], + help='The name of the application group', id_part='name') c.argument('tags', tags_type) c.argument('description', help='Description of ApplicationGroup.') c.argument('friendly_name', help='Friendly name of ApplicationGroup.') with self.argument_context('desktopvirtualization applicationgroup delete') as c: c.argument('resource_group_name', resource_group_name_type) - c.argument('application_group_name', options_list=['--name', '-n'], help='The name of the application group', - id_part='name') + c.argument('application_group_name', options_list=['--name', '-n'], + help='The name of the application group', id_part='name') with self.argument_context('desktopvirtualization hostpool list') as c: c.argument('resource_group_name', resource_group_name_type) with self.argument_context('desktopvirtualization hostpool show') as c: c.argument('resource_group_name', resource_group_name_type) - c.argument('host_pool_name', options_list=['--name', '-n'], help='The name of the host pool within the ' - 'specified resource group', id_part='name') + c.argument('host_pool_name', options_list=['--name', '-n'], + help='The name of the host pool within the specified resource group', id_part='name') with self.argument_context('desktopvirtualization hostpool create') as c: c.argument('resource_group_name', resource_group_name_type) - c.argument('host_pool_name', options_list=['--name', '-n'], help='The name of the host pool within the ' - 'specified resource group') - c.argument('tags', tags_type) + c.argument('host_pool_name', options_list=['--name', '-n'], + help='The name of the host pool within the specified resource group') c.argument('location', arg_type=get_location_type(self.cli_ctx), validator=get_default_location_from_resource_group) + c.argument('tags', tags_type) c.argument('friendly_name', help='Friendly name of HostPool.') c.argument('description', help='Description of HostPool.') - c.argument('host_pool_type', arg_type=get_enum_type(['Personal', 'Pooled']), + c.argument('host_pool_type', arg_type=get_enum_type(['Personal', 'Pooled', 'BYODesktop']), help='HostPool type for desktop.') - c.argument('personal_desktop_assignment_type', arg_type=get_enum_type(['Automatic', 'Direct']), help='' - 'PersonalDesktopAssignment type for HostPool.') + c.argument('personal_desktop_assignment_type', arg_type=get_enum_type(['Automatic', 'Direct']), + help='PersonalDesktopAssignment type for HostPool.') c.argument('custom_rdp_property', help='Custom rdp property of HostPool.') - c.argument('max_session_limit', help='The max session limit of HostPool.') - c.argument('load_balancer_type', arg_type=get_enum_type(['BreadthFirst', 'DepthFirst', 'Persistent']), help='' - 'The type of the load balancer.') - c.argument('ring', help='The ring number of HostPool.') + c.argument('max_session_limit', type=int, help='The max session limit of HostPool.') + c.argument('load_balancer_type', arg_type=get_enum_type(['BreadthFirst', 'DepthFirst', 'Persistent']), + help='The type of the load balancer.') + c.argument('ring', type=int, help='The ring number of HostPool.') c.argument('validation_environment', arg_type=get_three_state_flag(), help='Is validation environment.') c.argument('registration_info', action=AddDesktopvirtualizationHostpoolCreateRegistrationInfo, nargs='+', help='The registration info of HostPool.') c.argument('vm_template', help='VM template for sessionhosts configuration within hostpool.') - c.argument('sso_context', help='Path to keyvault containing ssoContext secret.') + c.argument('ssoadfs_authority', help='URL to customer ADFS server for signing WVD SSO certificates.') + c.argument('sso_client_id', + help='ClientId for the registered Relying Party used to issue WVD SSO certificates.') + c.argument('sso_client_secret_key_vault_path', options_list=['--sso-client-secret-key-vault-path', '-p'], + help='Path to Azure KeyVault storing the secret used for communication to ADFS.') + c.argument('sso_secret_type', + arg_type=get_enum_type(['SharedKey', 'Certificate', 'SharedKeyInKeyVault', 'CertificateInKeyVault']), + help='The type of single sign on Secret Type.') + c.argument('preferred_app_group_type', options_list=['--preferred-app-group-type', '-t'], + arg_type=get_enum_type(['None', 'Desktop', 'RailApplications']), + help='The type of preferred application group type, default to Desktop Application Group') + c.argument('start_vm_on_connect', arg_type=get_three_state_flag(), + help='The flag to turn on/off StartVMOnConnect feature.') with self.argument_context('desktopvirtualization hostpool update') as c: c.argument('resource_group_name', resource_group_name_type) - c.argument('host_pool_name', options_list=['--name', '-n'], help='The name of the host pool within the ' - 'specified resource group', id_part='name') + c.argument('host_pool_name', options_list=['--name', '-n'], + help='The name of the host pool within the specified resource group', id_part='name') c.argument('tags', tags_type) c.argument('friendly_name', help='Friendly name of HostPool.') c.argument('description', help='Description of HostPool.') c.argument('custom_rdp_property', help='Custom rdp property of HostPool.') - c.argument('max_session_limit', help='The max session limit of HostPool.') - c.argument('personal_desktop_assignment_type', arg_type=get_enum_type(['Automatic', 'Direct']), help='' - 'PersonalDesktopAssignment type for HostPool.') - c.argument('load_balancer_type', arg_type=get_enum_type(['BreadthFirst', 'DepthFirst', 'Persistent']), help='' - 'The type of the load balancer.') - c.argument('ring', help='The ring number of HostPool.') + c.argument('max_session_limit', type=int, help='The max session limit of HostPool.') + c.argument('personal_desktop_assignment_type', arg_type=get_enum_type(['Automatic', 'Direct']), + help='PersonalDesktopAssignment type for HostPool.') + c.argument('load_balancer_type', arg_type=get_enum_type(['BreadthFirst', 'DepthFirst', 'Persistent']), + help='The type of the load balancer.') + c.argument('ring', type=int, help='The ring number of HostPool.') c.argument('validation_environment', arg_type=get_three_state_flag(), help='Is validation environment.') c.argument('registration_info', action=AddDesktopvirtualizationHostpoolUpdateRegistrationInfo, nargs='+', help='The registration info of HostPool.') - c.argument('sso_context', help='Path to keyvault containing ssoContext secret.') + c.argument('vm_template', help='VM template for sessionhosts configuration within hostpool.') + c.argument('ssoadfs_authority', help='URL to customer ADFS server for signing WVD SSO certificates.') + c.argument('sso_client_id', + help='ClientId for the registered Relying Party used to issue WVD SSO certificates.') + c.argument('sso_client_secret_key_vault_path', options_list=['--sso-client-secret-key-vault-path', '-p'], + help='Path to Azure KeyVault storing the secret used for communication to ADFS.') + c.argument('sso_secret_type', + arg_type=get_enum_type(['SharedKey', 'Certificate', 'SharedKeyInKeyVault', 'CertificateInKeyVault']), + help='The type of single sign on Secret Type.') + c.argument('preferred_app_group_type', options_list=['--preferred-app-group-type', '-t'], + arg_type=get_enum_type(['None', 'Desktop', 'RailApplications']), + help='The type of preferred application group type, default to Desktop Application Group') + c.argument('start_vm_on_connect', arg_type=get_three_state_flag(), + help='The flag to turn on/off StartVMOnConnect feature.') with self.argument_context('desktopvirtualization hostpool delete') as c: c.argument('resource_group_name', resource_group_name_type) - c.argument('host_pool_name', options_list=['--name', '-n'], help='The name of the host pool within the ' - 'specified resource group', id_part='name') + c.argument('host_pool_name', options_list=['--name', '-n'], + help='The name of the host pool within the specified resource group', id_part='name') c.argument('force', arg_type=get_three_state_flag(), help='Force flag to delete sessionHost.') + + with self.argument_context('desktopvirtualization hostpool retrieve-registration-token') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('host_pool_name', options_list=['--name', '-n'], + help='The name of the host pool within the specified resource group', id_part='name') diff --git a/src/desktopvirtualization/azext_desktopvirtualization/generated/action.py b/src/desktopvirtualization/azext_desktopvirtualization/generated/action.py index b28cf5edb10..0809997bc6a 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/generated/action.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/generated/action.py @@ -7,11 +7,16 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- + + # pylint: disable=protected-access +# pylint: disable=no-self-use + + import argparse -from knack.util import CLIError from collections import defaultdict +from azure.cli.core.azclierror import ArgumentUsageError, InvalidArgumentValueError class AddDesktopvirtualizationHostpoolCreateRegistrationInfo(argparse.Action): @@ -19,24 +24,34 @@ def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) namespace.registration_info = action - def get_action(self, values, option_string): # pylint: disable=no-self-use + def get_action(self, values, option_string): try: properties = defaultdict(list) for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) except ValueError: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + raise ArgumentUsageError('usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() v = properties[k] + if kl == 'expiration-time': d['expiration_time'] = v[0] + elif kl == 'token': d['token'] = v[0] + elif kl == 'registration-token-operation': d['registration_token_operation'] = v[0] + + else: + raise InvalidArgumentValueError( + 'Unsupported Key {} is provided for parameter registration-info. All possible keys are:' + ' expiration-time, token, registration-token-operation'.format(k) + ) + return d @@ -45,20 +60,29 @@ def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) namespace.registration_info = action - def get_action(self, values, option_string): # pylint: disable=no-self-use + def get_action(self, values, option_string): try: properties = defaultdict(list) for (k, v) in (x.split('=', 1) for x in values): properties[k].append(v) properties = dict(properties) except ValueError: - raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + raise ArgumentUsageError('usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: kl = k.lower() v = properties[k] + if kl == 'expiration-time': d['expiration_time'] = v[0] + elif kl == 'registration-token-operation': d['registration_token_operation'] = v[0] + + else: + raise InvalidArgumentValueError( + 'Unsupported Key {} is provided for parameter registration-info. All possible keys are:' + ' expiration-time, registration-token-operation'.format(k) + ) + return d diff --git a/src/desktopvirtualization/azext_desktopvirtualization/generated/commands.py b/src/desktopvirtualization/azext_desktopvirtualization/generated/commands.py index 213f6a8306c..0c97fa2ca46 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/generated/commands.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/generated/commands.py @@ -9,47 +9,61 @@ # -------------------------------------------------------------------------- # pylint: disable=too-many-statements # pylint: disable=too-many-locals +# pylint: disable=bad-continuation +# pylint: disable=line-too-long from azure.cli.core.commands import CliCommandType +from azext_desktopvirtualization.generated._client_factory import ( + cf_workspace, + cf_application_group, + cf_host_pool, +) -def load_command_table(self, _): +desktopvirtualization_application_group = CliCommandType( + operations_tmpl='azext_desktopvirtualization.vendored_sdks.desktopvirtualization.operations._application_groups_operations#ApplicationGroupsOperations.{}', + client_factory=cf_application_group, +) + + +desktopvirtualization_host_pool = CliCommandType( + operations_tmpl='azext_desktopvirtualization.vendored_sdks.desktopvirtualization.operations._host_pools_operations#HostPoolsOperations.{}', + client_factory=cf_host_pool, +) + + +desktopvirtualization_workspace = CliCommandType( + operations_tmpl='azext_desktopvirtualization.vendored_sdks.desktopvirtualization.operations._workspaces_operations#WorkspacesOperations.{}', + client_factory=cf_workspace, +) - from azext_desktopvirtualization.generated._client_factory import cf_workspace - desktopvirtualization_workspace = CliCommandType( - operations_tmpl='azext_desktopvirtualization.vendored_sdks.desktopvirtualization.operations._workspace_operatio' - 'ns#WorkspaceOperations.{}', - client_factory=cf_workspace) - with self.command_group('desktopvirtualization workspace', desktopvirtualization_workspace, - client_factory=cf_workspace, is_experimental=True) as g: - g.custom_command('list', 'desktopvirtualization_workspace_list') - g.custom_show_command('show', 'desktopvirtualization_workspace_show') - g.custom_command('create', 'desktopvirtualization_workspace_create') - g.custom_command('update', 'desktopvirtualization_workspace_update') - g.custom_command('delete', 'desktopvirtualization_workspace_delete') - from azext_desktopvirtualization.generated._client_factory import cf_application_group - desktopvirtualization_application_group = CliCommandType( - operations_tmpl='azext_desktopvirtualization.vendored_sdks.desktopvirtualization.operations._application_group_' - 'operations#ApplicationGroupOperations.{}', - client_factory=cf_application_group) +def load_command_table(self, _): + with self.command_group('desktopvirtualization applicationgroup', desktopvirtualization_application_group, - client_factory=cf_application_group, is_experimental=True) as g: + client_factory=cf_application_group) as g: g.custom_command('list', 'desktopvirtualization_applicationgroup_list') g.custom_show_command('show', 'desktopvirtualization_applicationgroup_show') g.custom_command('create', 'desktopvirtualization_applicationgroup_create') g.custom_command('update', 'desktopvirtualization_applicationgroup_update') g.custom_command('delete', 'desktopvirtualization_applicationgroup_delete') - from azext_desktopvirtualization.generated._client_factory import cf_host_pool - desktopvirtualization_host_pool = CliCommandType( - operations_tmpl='azext_desktopvirtualization.vendored_sdks.desktopvirtualization.operations._host_pool_operatio' - 'ns#HostPoolOperations.{}', - client_factory=cf_host_pool) with self.command_group('desktopvirtualization hostpool', desktopvirtualization_host_pool, - client_factory=cf_host_pool, is_experimental=True) as g: + client_factory=cf_host_pool) as g: g.custom_command('list', 'desktopvirtualization_hostpool_list') g.custom_show_command('show', 'desktopvirtualization_hostpool_show') g.custom_command('create', 'desktopvirtualization_hostpool_create') g.custom_command('update', 'desktopvirtualization_hostpool_update') g.custom_command('delete', 'desktopvirtualization_hostpool_delete') + g.custom_command('retrieve-registration-token', 'desktopvirtualization_hostpool_retrieve_registration_token') + + with self.command_group('desktopvirtualization workspace', desktopvirtualization_workspace, + client_factory=cf_workspace) as g: + g.custom_command('list', 'desktopvirtualization_workspace_list') + g.custom_show_command('show', 'desktopvirtualization_workspace_show') + g.custom_command('create', 'desktopvirtualization_workspace_create') + g.custom_command('update', 'desktopvirtualization_workspace_update') + g.custom_command('delete', 'desktopvirtualization_workspace_delete') + + with self.command_group('desktopvirtualization'): + pass diff --git a/src/desktopvirtualization/azext_desktopvirtualization/generated/custom.py b/src/desktopvirtualization/azext_desktopvirtualization/generated/custom.py index 703318cf2ce..7822e072a64 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/generated/custom.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/generated/custom.py @@ -8,7 +8,8 @@ # regenerated. # -------------------------------------------------------------------------- # pylint: disable=too-many-lines -# pylint: disable=unused-argument + +import json def desktopvirtualization_workspace_list(client, @@ -28,18 +29,25 @@ def desktopvirtualization_workspace_show(client, def desktopvirtualization_workspace_create(client, resource_group_name, workspace_name, - location, + location=None, tags=None, description=None, friendly_name=None, application_group_references=None): + workspace = {} + if location is not None: + workspace['location'] = location + if tags is not None: + workspace['tags'] = tags + if description is not None: + workspace['description'] = description + if friendly_name is not None: + workspace['friendly_name'] = friendly_name + if application_group_references is not None: + workspace['application_group_references'] = application_group_references return client.create_or_update(resource_group_name=resource_group_name, workspace_name=workspace_name, - tags=tags, - location=location, - description=description, - friendly_name=friendly_name, - application_group_references=application_group_references) + workspace=workspace) def desktopvirtualization_workspace_update(client, @@ -49,12 +57,18 @@ def desktopvirtualization_workspace_update(client, description=None, friendly_name=None, application_group_references=None): + workspace = {} + if tags is not None: + workspace['tags'] = tags + if description is not None: + workspace['description'] = description + if friendly_name is not None: + workspace['friendly_name'] = friendly_name + if application_group_references is not None: + workspace['application_group_references'] = application_group_references return client.update(resource_group_name=resource_group_name, workspace_name=workspace_name, - tags=tags, - description=description, - friendly_name=friendly_name, - application_group_references=application_group_references) + workspace=workspace) def desktopvirtualization_workspace_delete(client, @@ -83,20 +97,26 @@ def desktopvirtualization_applicationgroup_show(client, def desktopvirtualization_applicationgroup_create(client, resource_group_name, application_group_name, - location, host_pool_arm_path, application_group_type, + location=None, tags=None, description=None, friendly_name=None): + application_group = {} + if location is not None: + application_group['location'] = location + if tags is not None: + application_group['tags'] = tags + if description is not None: + application_group['description'] = description + if friendly_name is not None: + application_group['friendly_name'] = friendly_name + application_group['host_pool_arm_path'] = host_pool_arm_path + application_group['application_group_type'] = application_group_type return client.create_or_update(resource_group_name=resource_group_name, application_group_name=application_group_name, - tags=tags, - location=location, - description=description, - friendly_name=friendly_name, - host_pool_arm_path=host_pool_arm_path, - application_group_type=application_group_type) + application_group=application_group) def desktopvirtualization_applicationgroup_update(client, @@ -105,11 +125,16 @@ def desktopvirtualization_applicationgroup_update(client, tags=None, description=None, friendly_name=None): + application_group = {} + if tags is not None: + application_group['tags'] = tags + if description is not None: + application_group['description'] = description + if friendly_name is not None: + application_group['friendly_name'] = friendly_name return client.update(resource_group_name=resource_group_name, application_group_name=application_group_name, - tags=tags, - description=description, - friendly_name=friendly_name) + application_group=application_group) def desktopvirtualization_applicationgroup_delete(client, @@ -136,36 +161,65 @@ def desktopvirtualization_hostpool_show(client, def desktopvirtualization_hostpool_create(client, resource_group_name, host_pool_name, - location, host_pool_type, - personal_desktop_assignment_type, load_balancer_type, + preferred_app_group_type, + location=None, tags=None, friendly_name=None, description=None, + personal_desktop_assignment_type=None, custom_rdp_property=None, max_session_limit=None, ring=None, validation_environment=None, registration_info=None, vm_template=None, - sso_context=None): + ssoadfs_authority=None, + sso_client_id=None, + sso_client_secret_key_vault_path=None, + sso_secret_type=None, + start_vm_on_connect=None): + host_pool = { + 'host_pool_type': host_pool_type, + 'load_balancer_type': load_balancer_type, + 'preferred_app_group_type': preferred_app_group_type + } + if location is not None: + host_pool['location'] = location + if tags is not None: + host_pool['tags'] = tags + if friendly_name is not None: + host_pool['friendly_name'] = friendly_name + if description is not None: + host_pool['description'] = description + if personal_desktop_assignment_type is not None: + host_pool['personal_desktop_assignment_type'] = personal_desktop_assignment_type + if custom_rdp_property is not None: + host_pool['custom_rdp_property'] = custom_rdp_property + if max_session_limit is not None: + host_pool['max_session_limit'] = max_session_limit + if ring is not None: + host_pool['ring'] = ring + if validation_environment is not None: + host_pool['validation_environment'] = validation_environment + if registration_info is not None: + host_pool['registration_info'] = registration_info + if vm_template is not None: + host_pool['vm_template'] = vm_template + if ssoadfs_authority is not None: + host_pool['ssoadfs_authority'] = ssoadfs_authority + if sso_client_id is not None: + host_pool['sso_client_id'] = sso_client_id + if sso_client_secret_key_vault_path is not None: + host_pool['sso_client_secret_key_vault_path'] = sso_client_secret_key_vault_path + if sso_secret_type is not None: + host_pool['sso_secret_type'] = sso_secret_type + if start_vm_on_connect is not None: + host_pool['start_vm_on_connect'] = start_vm_on_connect return client.create_or_update(resource_group_name=resource_group_name, host_pool_name=host_pool_name, - tags=tags, - location=location, - friendly_name=friendly_name, - description=description, - host_pool_type=host_pool_type, - personal_desktop_assignment_type=personal_desktop_assignment_type, - custom_rdp_property=custom_rdp_property, - max_session_limit=max_session_limit, - load_balancer_type=load_balancer_type, - ring=ring, - validation_environment=validation_environment, - registration_info=registration_info, - vm_template=vm_template, - sso_context=sso_context) + host_pool=host_pool) def desktopvirtualization_hostpool_update(client, @@ -181,20 +235,51 @@ def desktopvirtualization_hostpool_update(client, ring=None, validation_environment=None, registration_info=None, - sso_context=None): + vm_template=None, + ssoadfs_authority=None, + sso_client_id=None, + sso_client_secret_key_vault_path=None, + sso_secret_type=None, + preferred_app_group_type=None, + start_vm_on_connect=None): + host_pool = {} + if tags is not None: + host_pool['tags'] = tags + if friendly_name is not None: + host_pool['friendly_name'] = friendly_name + if description is not None: + host_pool['description'] = description + if custom_rdp_property is not None: + host_pool['custom_rdp_property'] = custom_rdp_property + if max_session_limit is not None: + host_pool['max_session_limit'] = max_session_limit + if personal_desktop_assignment_type is not None: + host_pool['personal_desktop_assignment_type'] = personal_desktop_assignment_type + if load_balancer_type is not None: + host_pool['load_balancer_type'] = load_balancer_type + if ring is not None: + host_pool['ring'] = ring + if validation_environment is not None: + host_pool['validation_environment'] = validation_environment + if registration_info is not None: + host_pool['registration_info'] = registration_info + if vm_template is not None: + host_pool['vm_template'] = vm_template + if ssoadfs_authority is not None: + host_pool['ssoadfs_authority'] = ssoadfs_authority + if sso_client_id is not None: + host_pool['sso_client_id'] = sso_client_id + if sso_client_secret_key_vault_path is not None: + host_pool['sso_client_secret_key_vault_path'] = sso_client_secret_key_vault_path + if sso_secret_type is not None: + host_pool['sso_secret_type'] = sso_secret_type + if preferred_app_group_type is not None: + host_pool['preferred_app_group_type'] = preferred_app_group_type + if start_vm_on_connect is not None: + host_pool['start_vm_on_connect'] = start_vm_on_connect return client.update(resource_group_name=resource_group_name, host_pool_name=host_pool_name, - tags=tags, - friendly_name=friendly_name, - description=description, - custom_rdp_property=custom_rdp_property, - max_session_limit=max_session_limit, - personal_desktop_assignment_type=personal_desktop_assignment_type, - load_balancer_type=load_balancer_type, - ring=ring, - validation_environment=validation_environment, - registration_info=registration_info, - sso_context=sso_context) + host_pool=host_pool) def desktopvirtualization_hostpool_delete(client, @@ -204,3 +289,10 @@ def desktopvirtualization_hostpool_delete(client, return client.delete(resource_group_name=resource_group_name, host_pool_name=host_pool_name, force=force) + + +def desktopvirtualization_hostpool_retrieve_registration_token(client, + resource_group_name, + host_pool_name): + return client.retrieve_registration_token(resource_group_name=resource_group_name, + host_pool_name=host_pool_name) diff --git a/src/desktopvirtualization/azext_desktopvirtualization/tests/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/tests/__init__.py index 9b7ec942a0b..70488e93851 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/tests/__init__.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/tests/__init__.py @@ -9,22 +9,30 @@ # regenerated. # -------------------------------------------------------------------------- import inspect +import logging import os import sys import traceback +import datetime as dt + from azure.core.exceptions import AzureError from azure.cli.testsdk.exceptions import CliTestError, CliExecutionError, JMESPathCheckAssertionError +logger = logging.getLogger('azure.cli.testsdk') +logger.addHandler(logging.StreamHandler()) __path__ = __import__('pkgutil').extend_path(__path__, __name__) exceptions = [] +test_map = dict() +SUCCESSED = "successed" +FAILED = "failed" def try_manual(func): def import_manual_function(origin_func): from importlib import import_module - decorated_path = inspect.getfile(origin_func) - module_path = __path__[0] + decorated_path = inspect.getfile(origin_func).lower() + module_path = __path__[0].lower() if not decorated_path.startswith(module_path): raise Exception("Decorator can only be used in submodules!") manual_path = os.path.join( @@ -39,29 +47,66 @@ def get_func_to_call(): func_to_call = func try: func_to_call = import_manual_function(func) - print("Found manual override for {}(...)".format(func.__name__)) + logger.info("Found manual override for %s(...)", func.__name__) except (ImportError, AttributeError): pass return func_to_call def wrapper(*args, **kwargs): func_to_call = get_func_to_call() - print("running {}()...".format(func.__name__)) + logger.info("running %s()...", func.__name__) try: - return func_to_call(*args, **kwargs) - except (AssertionError, AzureError, CliTestError, CliExecutionError, JMESPathCheckAssertionError) as e: - print("--------------------------------------") - print("step exception: ", e) - print("--------------------------------------", file=sys.stderr) - print("step exception in {}: {}".format(func.__name__, e), file=sys.stderr) - traceback.print_exc() + test_map[func.__name__] = dict() + test_map[func.__name__]["result"] = SUCCESSED + test_map[func.__name__]["error_message"] = "" + test_map[func.__name__]["error_stack"] = "" + test_map[func.__name__]["error_normalized"] = "" + test_map[func.__name__]["start_dt"] = dt.datetime.utcnow() + ret = func_to_call(*args, **kwargs) + except (AssertionError, AzureError, CliTestError, CliExecutionError, SystemExit, + JMESPathCheckAssertionError) as e: + use_exception_cache = os.getenv("TEST_EXCEPTION_CACHE") + if use_exception_cache is None or use_exception_cache.lower() != "true": + raise + test_map[func.__name__]["end_dt"] = dt.datetime.utcnow() + test_map[func.__name__]["result"] = FAILED + test_map[func.__name__]["error_message"] = str(e).replace("\r\n", " ").replace("\n", " ")[:500] + test_map[func.__name__]["error_stack"] = traceback.format_exc().replace( + "\r\n", " ").replace("\n", " ")[:500] + logger.info("--------------------------------------") + logger.info("step exception: %s", e) + logger.error("--------------------------------------") + logger.error("step exception in %s: %s", func.__name__, e) + logger.info(traceback.format_exc()) exceptions.append((func.__name__, sys.exc_info())) + else: + test_map[func.__name__]["end_dt"] = dt.datetime.utcnow() + return ret if inspect.isclass(func): return get_func_to_call() return wrapper +def calc_coverage(filename): + filename = filename.split(".")[0] + coverage_name = filename + "_coverage.md" + with open(coverage_name, "w") as f: + f.write("|Scenario|Result|ErrorMessage|ErrorStack|ErrorNormalized|StartDt|EndDt|\n") + total = len(test_map) + covered = 0 + for k, v in test_map.items(): + if not k.startswith("step_"): + total -= 1 + continue + if v["result"] == SUCCESSED: + covered += 1 + f.write("|{step_name}|{result}|{error_message}|{error_stack}|{error_normalized}|{start_dt}|" + "{end_dt}|\n".format(step_name=k, **v)) + f.write("Coverage: {}/{}\n".format(covered, total)) + print("Create coverage\n", file=sys.stderr) + + def raise_if(): if exceptions: if len(exceptions) <= 1: diff --git a/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/example_steps.py b/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/example_steps.py new file mode 100644 index 00000000000..3727d86266a --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/example_steps.py @@ -0,0 +1,260 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + + +from .. import try_manual + + +# EXAMPLE: /HostPools/put/HostPool_Create +@try_manual +def step_hostpool_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az desktopvirtualization hostpool create ' + '--location "centralus" ' + '--description "des1" ' + '--friendly-name "friendly" ' + '--host-pool-type "Pooled" ' + '--load-balancer-type "BreadthFirst" ' + '--max-session-limit 999999 ' + '--personal-desktop-assignment-type "Automatic" ' + '--preferred-app-group-type "Desktop" ' + '--registration-info expiration-time="2022-03-26T05:38:08.189Z" registration-token-operation="Update" ' + '--sso-client-id "client" ' + '--sso-client-secret-key-vault-path "https://keyvault/secret" ' + '--sso-secret-type "SharedKey" ' + '--start-vm-on-connect false ' + '--tags tag1="value1" tag2="value2" ' + '--name "{myHostPool}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /HostPools/get/HostPool_Get +@try_manual +def step_hostpool_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az desktopvirtualization hostpool show ' + '--name "{myHostPool}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /HostPools/get/HostPool_List +@try_manual +def step_hostpool_list(test, checks=None): + if checks is None: + checks = [] + test.cmd('az desktopvirtualization hostpool list ' + '-g ""', + checks=checks) + + +# EXAMPLE: /HostPools/get/HostPool_ListByResourceGroup +@try_manual +def step_hostpool_list2(test, checks=None): + if checks is None: + checks = [] + test.cmd('az desktopvirtualization hostpool list ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /HostPools/patch/HostPool_Update +@try_manual +def step_hostpool_update(test, checks=None): + if checks is None: + checks = [] + test.cmd('az desktopvirtualization hostpool update ' + '--description "des1" ' + '--friendly-name "friendly" ' + '--load-balancer-type "BreadthFirst" ' + '--max-session-limit 999999 ' + '--personal-desktop-assignment-type "Automatic" ' + '--registration-info expiration-time="2022-03-26T05:38:08.190Z" registration-token-operation="Update" ' + '--sso-client-id "client" ' + '--sso-client-secret-key-vault-path "https://keyvault/secret" ' + '--sso-secret-type "SharedKey" ' + '--start-vm-on-connect false ' + '--tags tag1="value1" tag2="value2" ' + '--name "{myHostPool}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /HostPools/post/HostPools_RetrieveRegistrationToken_Post +@try_manual +def step_hostpool_retrieve_registration_token(test, checks=None): + if checks is None: + checks = [] + test.cmd('az desktopvirtualization hostpool retrieve-registration-token ' + '--name "{myHostPool}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /ApplicationGroups/put/ApplicationGroup_Create +@try_manual +def step_applicationgroup_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az desktopvirtualization applicationgroup create ' + '--location "centralus" ' + '--description "des1" ' + '--application-group-type "RemoteApp" ' + '--friendly-name "friendly" ' + '--host-pool-arm-path "/subscriptions/{subscription_id}/resourceGroups/{rg}/providers/Microsoft.DesktopVir' + 'tualization/hostPools/{myHostPool}" ' + '--tags tag1="value1" tag2="value2" ' + '--name "{myApplicationGroup}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /ApplicationGroups/get/ApplicationGroup_Get +@try_manual +def step_applicationgroup_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az desktopvirtualization applicationgroup show ' + '--name "{myApplicationGroup}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /ApplicationGroups/get/ApplicationGroup_List +@try_manual +def step_applicationgroup_list(test, checks=None): + if checks is None: + checks = [] + test.cmd('az desktopvirtualization applicationgroup list ' + '--filter "applicationGroupType eq \'RailApplication\'" ' + '-g ""', + checks=checks) + + +# EXAMPLE: /ApplicationGroups/get/ApplicationGroup_ListByResourceGroup +@try_manual +def step_applicationgroup_list2(test, checks=None): + if checks is None: + checks = [] + test.cmd('az desktopvirtualization applicationgroup list ' + '--filter "applicationGroupType eq \'RailApplication\'" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /ApplicationGroups/patch/ApplicationGroups_Update +@try_manual +def step_applicationgroup_update(test, checks=None): + if checks is None: + checks = [] + test.cmd('az desktopvirtualization applicationgroup update ' + '--description "des1" ' + '--friendly-name "friendly" ' + '--tags tag1="value1" tag2="value2" ' + '--name "{myApplicationGroup}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /ApplicationGroups/delete/ApplicationGroup_Delete +@try_manual +def step_applicationgroup_delete(test, checks=None): + if checks is None: + checks = [] + test.cmd('az desktopvirtualization applicationgroup delete ' + '--name "{myApplicationGroup}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /HostPools/delete/HostPool_Delete +@try_manual +def step_hostpool_delete(test, checks=None): + if checks is None: + checks = [] + test.cmd('az desktopvirtualization hostpool delete ' + '--force true ' + '--name "{myHostPool}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Workspaces/put/Workspace_Create +@try_manual +def step_workspace_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az desktopvirtualization workspace create ' + '--resource-group "{rg}" ' + '--location "centralus" ' + '--description "des1" ' + '--friendly-name "friendly" ' + '--tags tag1="value1" tag2="value2" ' + '--name "{myWorkspace}"', + checks=checks) + + +# EXAMPLE: /Workspaces/get/Workspace_Get +@try_manual +def step_workspace_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az desktopvirtualization workspace show ' + '--resource-group "{rg}" ' + '--name "{myWorkspace}"', + checks=checks) + + +# EXAMPLE: /Workspaces/get/Workspace_ListByResourceGroup +@try_manual +def step_workspace_list(test, checks=None): + if checks is None: + checks = [] + test.cmd('az desktopvirtualization workspace list ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Workspaces/get/Workspace_ListBySubscription +@try_manual +def step_workspace_list2(test, checks=None): + if checks is None: + checks = [] + test.cmd('az desktopvirtualization workspace list ' + '-g ""', + checks=checks) + + +# EXAMPLE: /Workspaces/patch/Workspace_Update +@try_manual +def step_workspace_update(test, checks=None): + if checks is None: + checks = [] + test.cmd('az desktopvirtualization workspace update ' + '--resource-group "{rg}" ' + '--description "des1" ' + '--friendly-name "friendly" ' + '--tags tag1="value1" tag2="value2" ' + '--name "{myWorkspace}"', + checks=checks) + + +# EXAMPLE: /Workspaces/delete/Workspace_Delete +@try_manual +def step_workspace_delete(test, checks=None): + if checks is None: + checks = [] + test.cmd('az desktopvirtualization workspace delete ' + '--resource-group "{rg}" ' + '--name "{myWorkspace}"', + checks=checks) diff --git a/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/recordings/test_desktopvirtualization.yaml b/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/recordings/test_desktopvirtualization.yaml deleted file mode 100644 index fc958ad391d..00000000000 --- a/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/recordings/test_desktopvirtualization.yaml +++ /dev/null @@ -1,1088 +0,0 @@ -interactions: -- request: - body: '{"tags": {"tag1": "value1", "tag2": "value2"}, "location": "centralus", - "properties": {"friendlyName": "friendly", "description": "des1", "hostPoolType": - "Pooled", "personalDesktopAssignmentType": "Automatic", "maxSessionLimit": 999999, - "loadBalancerType": "BreadthFirst", "registrationInfo": {"expirationTime": "2020-08-20T08:57:45.479Z", - "registrationTokenOperation": "Update"}, "ssoContext": "KeyVaultPath"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - desktopvirtualization hostpool create - Connection: - - keep-alive - Content-Length: - - '411' - Content-Type: - - application/json - ParameterSetName: - - --location --description --friendly-name --host-pool-type --load-balancer-type - --max-session-limit --personal-desktop-assignment-type --registration-info - --sso-context --tags --name --resource-group - User-Agent: - - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 - (Windows-10-10.0.18362-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1?api-version=2019-12-10-preview - response: - body: - string: '{"name":"hostPool1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":false,"ring":null,"registrationInfo":{"expirationTime":"2020-08-20T08:57:45.479Z","token":"eyJhbGciOiJSUzI1NiIsImtpZCI6Ijc4MkNGNDc0MzUwRkU3MkY5M0E2NzczOEFBRjQ0Qzg4QkFFMjI0QUIiLCJ0eXAiOiJKV1QifQ.eyJSZWdpc3RyYXRpb25JZCI6IjE2NmU1YWVlLWU0OTItNDczMS1iOTViLWVkNmNjMTQ3NTkwMCIsIkJyb2tlclVyaSI6Imh0dHBzOi8vcmRicm9rZXItZy11cy1yMC53dmQubWljcm9zb2Z0LmNvbS8iLCJEaWFnbm9zdGljc1VyaSI6Imh0dHBzOi8vcmRkaWFnbm9zdGljcy1nLXVzLXIwLnd2ZC5taWNyb3NvZnQuY29tLyIsIkVuZHBvaW50UG9vbElkIjoiYTMwYzJhOTMtMDdkZi00YzFkLTk1NjktZTM5ODQ5NTlhNjZjIiwiR2xvYmFsQnJva2VyVXJpIjoiaHR0cHM6Ly9yZGJyb2tlci53dmQubWljcm9zb2Z0LmNvbS8iLCJHZW9ncmFwaHkiOiJVUyIsIm5iZiI6MTU5NzExNzEwMywiZXhwIjoxNTk3OTEzODY1LCJpc3MiOiJSREluZnJhVG9rZW5NYW5hZ2VyIiwiYXVkIjoiUkRtaSJ9.AquBgnRTOO7zkX8FVPxplHJ8yEvca8BRkPZY2KNk7JYvDoU53eRv3sEt4qdCsHL9As8YLMV0PQ5g_G18yVJq0PNEH1EbFOmhiUQqvUmfTNEeLUmHhbUeYTuBXzDjTh1BMW5EJ4oCEMkaH4VQERSNEVRmk3z6pVF5JkyyE9OiwbwM0g2PrnN-hr11gCNYlTFvcWbCPUxfntC18USXBpd-_8BdCuD4fEI1q467euQRiska814leW0CwCx3BA12bsqao1Mq_cIdTyrYiiziE6f2LSwJYsrb5z5JHjP4l05vOslxFKo2Vqpsu5zyLupA8a9oeDYbbI5w-mkPQDQFqQwECw","resetToken":false,"registrationTokenOperation":"Update"},"vmTemplate":null,"preferredAppGroupType":"Desktop","migrationRequest":null}}' - headers: - cache-control: - - no-cache - content-length: - - '1809' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 Aug 2020 03:38:24 GMT - expires: - - '-1' - location: - - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1 - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - set-cookie: - - ARRAffinity=0ae556891a90acc8679c889b07dda3bbe88c7f0787602304c159f63d4e13032a;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-correlation-id: - - 48e10149-0767-40dd-82f3-6775720c5004 - x-ms-lamport-ts: - - '195390884' - x-ms-opsarmpath: - - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitestm62vist5qjqb6r3xbu352ynlxaivnpshahiksej7l5ak43v7bohtd5mhxhtbqhogtshy/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - x-powered-by: - - ASP.NET - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - desktopvirtualization hostpool show - Connection: - - keep-alive - ParameterSetName: - - --name --resource-group - User-Agent: - - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 - (Windows-10-10.0.18362-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1?api-version=2019-12-10-preview - response: - body: - string: '{"name":"hostPool1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":false,"ring":null,"registrationInfo":{"expirationTime":"2020-08-20T08:57:45.479Z","token":"eyJhbGciOiJSUzI1NiIsImtpZCI6Ijc4MkNGNDc0MzUwRkU3MkY5M0E2NzczOEFBRjQ0Qzg4QkFFMjI0QUIiLCJ0eXAiOiJKV1QifQ.eyJSZWdpc3RyYXRpb25JZCI6IjE2NmU1YWVlLWU0OTItNDczMS1iOTViLWVkNmNjMTQ3NTkwMCIsIkJyb2tlclVyaSI6Imh0dHBzOi8vcmRicm9rZXItZy11cy1yMC53dmQubWljcm9zb2Z0LmNvbS8iLCJEaWFnbm9zdGljc1VyaSI6Imh0dHBzOi8vcmRkaWFnbm9zdGljcy1nLXVzLXIwLnd2ZC5taWNyb3NvZnQuY29tLyIsIkVuZHBvaW50UG9vbElkIjoiYTMwYzJhOTMtMDdkZi00YzFkLTk1NjktZTM5ODQ5NTlhNjZjIiwiR2xvYmFsQnJva2VyVXJpIjoiaHR0cHM6Ly9yZGJyb2tlci53dmQubWljcm9zb2Z0LmNvbS8iLCJHZW9ncmFwaHkiOiJVUyIsIm5iZiI6MTU5NzExNzEwMywiZXhwIjoxNTk3OTEzODY1LCJpc3MiOiJSREluZnJhVG9rZW5NYW5hZ2VyIiwiYXVkIjoiUkRtaSJ9.AquBgnRTOO7zkX8FVPxplHJ8yEvca8BRkPZY2KNk7JYvDoU53eRv3sEt4qdCsHL9As8YLMV0PQ5g_G18yVJq0PNEH1EbFOmhiUQqvUmfTNEeLUmHhbUeYTuBXzDjTh1BMW5EJ4oCEMkaH4VQERSNEVRmk3z6pVF5JkyyE9OiwbwM0g2PrnN-hr11gCNYlTFvcWbCPUxfntC18USXBpd-_8BdCuD4fEI1q467euQRiska814leW0CwCx3BA12bsqao1Mq_cIdTyrYiiziE6f2LSwJYsrb5z5JHjP4l05vOslxFKo2Vqpsu5zyLupA8a9oeDYbbI5w-mkPQDQFqQwECw","resetToken":false,"registrationTokenOperation":"None"},"vmTemplate":null,"preferredAppGroupType":"Desktop","migrationRequest":null}}' - headers: - cache-control: - - no-cache - content-length: - - '1807' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 Aug 2020 03:38:27 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - set-cookie: - - ARRAffinity=0ae556891a90acc8679c889b07dda3bbe88c7f0787602304c159f63d4e13032a;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-correlation-id: - - 9d931a1e-9b8c-4cc5-a99d-dd5767f21056 - x-ms-lamport-ts: - - '195390902' - x-ms-opsarmpath: - - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitestm62vist5qjqb6r3xbu352ynlxaivnpshahiksej7l5ak43v7bohtd5mhxhtbqhogtshy/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - desktopvirtualization hostpool list - Connection: - - keep-alive - ParameterSetName: - - -g - User-Agent: - - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 - (Windows-10-10.0.18362-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DesktopVirtualization/hostPools?api-version=2019-12-10-preview - response: - body: - string: '{"value":[{"name":"hostPool1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":false,"ring":null,"registrationInfo":{"expirationTime":"2020-08-20T08:57:45.479Z","token":"eyJhbGciOiJSUzI1NiIsImtpZCI6Ijc4MkNGNDc0MzUwRkU3MkY5M0E2NzczOEFBRjQ0Qzg4QkFFMjI0QUIiLCJ0eXAiOiJKV1QifQ.eyJSZWdpc3RyYXRpb25JZCI6IjE2NmU1YWVlLWU0OTItNDczMS1iOTViLWVkNmNjMTQ3NTkwMCIsIkJyb2tlclVyaSI6Imh0dHBzOi8vcmRicm9rZXItZy11cy1yMC53dmQubWljcm9zb2Z0LmNvbS8iLCJEaWFnbm9zdGljc1VyaSI6Imh0dHBzOi8vcmRkaWFnbm9zdGljcy1nLXVzLXIwLnd2ZC5taWNyb3NvZnQuY29tLyIsIkVuZHBvaW50UG9vbElkIjoiYTMwYzJhOTMtMDdkZi00YzFkLTk1NjktZTM5ODQ5NTlhNjZjIiwiR2xvYmFsQnJva2VyVXJpIjoiaHR0cHM6Ly9yZGJyb2tlci53dmQubWljcm9zb2Z0LmNvbS8iLCJHZW9ncmFwaHkiOiJVUyIsIm5iZiI6MTU5NzExNzEwMywiZXhwIjoxNTk3OTEzODY1LCJpc3MiOiJSREluZnJhVG9rZW5NYW5hZ2VyIiwiYXVkIjoiUkRtaSJ9.AquBgnRTOO7zkX8FVPxplHJ8yEvca8BRkPZY2KNk7JYvDoU53eRv3sEt4qdCsHL9As8YLMV0PQ5g_G18yVJq0PNEH1EbFOmhiUQqvUmfTNEeLUmHhbUeYTuBXzDjTh1BMW5EJ4oCEMkaH4VQERSNEVRmk3z6pVF5JkyyE9OiwbwM0g2PrnN-hr11gCNYlTFvcWbCPUxfntC18USXBpd-_8BdCuD4fEI1q467euQRiska814leW0CwCx3BA12bsqao1Mq_cIdTyrYiiziE6f2LSwJYsrb5z5JHjP4l05vOslxFKo2Vqpsu5zyLupA8a9oeDYbbI5w-mkPQDQFqQwECw","resetToken":false,"registrationTokenOperation":"None"},"vmTemplate":null,"preferredAppGroupType":"Desktop","migrationRequest":null}}],"nextLink":null}' - headers: - cache-control: - - no-cache - content-length: - - '1835' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 Aug 2020 03:38:29 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - set-cookie: - - ARRAffinity=0ae556891a90acc8679c889b07dda3bbe88c7f0787602304c159f63d4e13032a;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-correlation-id: - - e7b46054-869a-4805-8f9b-b6206d430820 - x-ms-lamport-ts: - - '195390912' - x-ms-opsarmpath: - - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4 - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - desktopvirtualization hostpool list - Connection: - - keep-alive - ParameterSetName: - - --resource-group - User-Agent: - - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 - (Windows-10-10.0.18362-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostPools?api-version=2019-12-10-preview - response: - body: - string: '{"value":[{"name":"hostPool1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":false,"ring":null,"registrationInfo":{"expirationTime":"2020-08-20T08:57:45.479Z","token":"eyJhbGciOiJSUzI1NiIsImtpZCI6Ijc4MkNGNDc0MzUwRkU3MkY5M0E2NzczOEFBRjQ0Qzg4QkFFMjI0QUIiLCJ0eXAiOiJKV1QifQ.eyJSZWdpc3RyYXRpb25JZCI6IjE2NmU1YWVlLWU0OTItNDczMS1iOTViLWVkNmNjMTQ3NTkwMCIsIkJyb2tlclVyaSI6Imh0dHBzOi8vcmRicm9rZXItZy11cy1yMC53dmQubWljcm9zb2Z0LmNvbS8iLCJEaWFnbm9zdGljc1VyaSI6Imh0dHBzOi8vcmRkaWFnbm9zdGljcy1nLXVzLXIwLnd2ZC5taWNyb3NvZnQuY29tLyIsIkVuZHBvaW50UG9vbElkIjoiYTMwYzJhOTMtMDdkZi00YzFkLTk1NjktZTM5ODQ5NTlhNjZjIiwiR2xvYmFsQnJva2VyVXJpIjoiaHR0cHM6Ly9yZGJyb2tlci53dmQubWljcm9zb2Z0LmNvbS8iLCJHZW9ncmFwaHkiOiJVUyIsIm5iZiI6MTU5NzExNzEwMywiZXhwIjoxNTk3OTEzODY1LCJpc3MiOiJSREluZnJhVG9rZW5NYW5hZ2VyIiwiYXVkIjoiUkRtaSJ9.AquBgnRTOO7zkX8FVPxplHJ8yEvca8BRkPZY2KNk7JYvDoU53eRv3sEt4qdCsHL9As8YLMV0PQ5g_G18yVJq0PNEH1EbFOmhiUQqvUmfTNEeLUmHhbUeYTuBXzDjTh1BMW5EJ4oCEMkaH4VQERSNEVRmk3z6pVF5JkyyE9OiwbwM0g2PrnN-hr11gCNYlTFvcWbCPUxfntC18USXBpd-_8BdCuD4fEI1q467euQRiska814leW0CwCx3BA12bsqao1Mq_cIdTyrYiiziE6f2LSwJYsrb5z5JHjP4l05vOslxFKo2Vqpsu5zyLupA8a9oeDYbbI5w-mkPQDQFqQwECw","resetToken":false,"registrationTokenOperation":"None"},"vmTemplate":null,"preferredAppGroupType":"Desktop","migrationRequest":null}}],"nextLink":null}' - headers: - cache-control: - - no-cache - content-length: - - '1835' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 Aug 2020 03:38:32 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - set-cookie: - - ARRAffinity=f0ee6f21aa7c58c32dab1b39eddd97e2640f8772649e883d33a25aaa012e3a21;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-correlation-id: - - e48deb96-bda8-44af-96a5-1b707f2ca256 - x-ms-lamport-ts: - - '195393914' - x-ms-opsarmpath: - - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitestm62vist5qjqb6r3xbu352ynlxaivnpshahiksej7l5ak43v7bohtd5mhxhtbqhogtshy - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"tags": {"tag1": "value1", "tag2": "value2"}, "properties": {"friendlyName": - "friendly", "description": "des1", "maxSessionLimit": 999999, "personalDesktopAssignmentType": - "Automatic", "loadBalancerType": "BreadthFirst", "registrationInfo": {"expirationTime": - "2020-08-20T08:57:45.522Z", "registrationTokenOperation": "Update"}, "ssoContext": - "KeyVaultPath"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - desktopvirtualization hostpool update - Connection: - - keep-alive - Content-Length: - - '360' - Content-Type: - - application/json - ParameterSetName: - - --description --friendly-name --load-balancer-type --max-session-limit --personal-desktop-assignment-type - --registration-info --sso-context --tags --name --resource-group - User-Agent: - - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 - (Windows-10-10.0.18362-SP0) - method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1?api-version=2019-12-10-preview - response: - body: - string: '{"name":"hostPool1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":false,"ring":null,"registrationInfo":{"expirationTime":"2020-08-20T08:57:45.522Z","token":"eyJhbGciOiJSUzI1NiIsImtpZCI6Ijc4MkNGNDc0MzUwRkU3MkY5M0E2NzczOEFBRjQ0Qzg4QkFFMjI0QUIiLCJ0eXAiOiJKV1QifQ.eyJSZWdpc3RyYXRpb25JZCI6IjZjYTFiM2YzLTIwY2QtNDVjMy1iODhjLTMyMDBjN2JlZjA0MCIsIkJyb2tlclVyaSI6Imh0dHBzOi8vcmRicm9rZXItZy11cy1yMC53dmQubWljcm9zb2Z0LmNvbS8iLCJEaWFnbm9zdGljc1VyaSI6Imh0dHBzOi8vcmRkaWFnbm9zdGljcy1nLXVzLXIwLnd2ZC5taWNyb3NvZnQuY29tLyIsIkVuZHBvaW50UG9vbElkIjoiYTMwYzJhOTMtMDdkZi00YzFkLTk1NjktZTM5ODQ5NTlhNjZjIiwiR2xvYmFsQnJva2VyVXJpIjoiaHR0cHM6Ly9yZGJyb2tlci53dmQubWljcm9zb2Z0LmNvbS8iLCJHZW9ncmFwaHkiOiJVUyIsIm5iZiI6MTU5NzExNzExNiwiZXhwIjoxNTk3OTEzODY1LCJpc3MiOiJSREluZnJhVG9rZW5NYW5hZ2VyIiwiYXVkIjoiUkRtaSJ9.ZuT2ZNdcli926colLdIiXGrIADQ2Qcqhmt_vGdwnz5qHltUxybkmwWqjlcP5LL9lCqeD2yD-Hqv6B-0RcCQH659UIcCS-Xrtw6cqDnV715wUgyWZWFGYCgmF6rc8dyU4gUFCGKb4HtBVD3ZZPs_Z5oxal5uQDH1rC7u9wL1xYh-pAXFbBT5CTM58L6GaQfOTld7aYXkSVdnqYA8am7PAXWzlTjj6fHXVk6aJBO721RnRwcoM6AIfLwiCW2zhmXp0yKl3xTnucM2WbR6i_djObvjD_HvuVFHlT1cGND7NWlP2tVtRdrI8nDyGpfyO4CtFxTj19UcPyAljAextPZwrOw","resetToken":false,"registrationTokenOperation":"Update"},"vmTemplate":null,"preferredAppGroupType":"Desktop","migrationRequest":null}}' - headers: - cache-control: - - no-cache - content-length: - - '1809' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 Aug 2020 03:38:39 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - set-cookie: - - ARRAffinity=bcecd7525f4b7bd3dab05ad4f985c3361737e7748bf74832e0a2be875b273e64;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-correlation-id: - - 5e3d365c-4484-45b8-bb71-1c5623a3e581 - x-ms-lamport-ts: - - '195394655' - x-ms-opsarmpath: - - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitestm62vist5qjqb6r3xbu352ynlxaivnpshahiksej7l5ak43v7bohtd5mhxhtbqhogtshy/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"tags": {"tag1": "value1", "tag2": "value2"}, "location": "centralus", - "properties": {"description": "des1", "friendlyName": "friendly", "hostPoolArmPath": - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", - "applicationGroupType": "RemoteApp"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - desktopvirtualization applicationgroup create - Connection: - - keep-alive - Content-Length: - - '402' - Content-Type: - - application/json - ParameterSetName: - - --location --description --application-group-type --friendly-name --host-pool-arm-path - --tags --name --resource-group - User-Agent: - - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 - (Windows-10-10.0.18362-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1?api-version=2019-12-10-preview - response: - body: - string: '{"name":"applicationGroup1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/applicationGroup1","type":"Microsoft.DesktopVirtualization/applicationgroups","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":"RemoteApp","properties":{"hostPoolArmPath":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","workspaceArmPath":null,"description":"des1","friendlyName":"friendly","applicationGroupType":"RemoteApp","migrationRequest":null}}' - headers: - cache-control: - - no-cache - content-length: - - '768' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 Aug 2020 03:38:48 GMT - expires: - - '-1' - location: - - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/applicationGroup1 - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - set-cookie: - - ARRAffinity=f0ee6f21aa7c58c32dab1b39eddd97e2640f8772649e883d33a25aaa012e3a21;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-correlation-id: - - f4194f40-3c56-4dd1-a298-b4405c4bcbde - x-ms-lamport-ts: - - '195393973' - x-ms-opsarmpath: - - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitestm62vist5qjqb6r3xbu352ynlxaivnpshahiksej7l5ak43v7bohtd5mhxhtbqhogtshy/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - x-powered-by: - - ASP.NET - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - desktopvirtualization applicationgroup show - Connection: - - keep-alive - ParameterSetName: - - --name --resource-group - User-Agent: - - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 - (Windows-10-10.0.18362-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1?api-version=2019-12-10-preview - response: - body: - string: '{"name":"applicationGroup1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/applicationGroup1","type":"Microsoft.DesktopVirtualization/applicationgroups","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":"RemoteApp","properties":{"hostPoolArmPath":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","workspaceArmPath":null,"description":"des1","friendlyName":"friendly","applicationGroupType":"RemoteApp","migrationRequest":null}}' - headers: - cache-control: - - no-cache - content-length: - - '768' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 Aug 2020 03:38:50 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - set-cookie: - - ARRAffinity=f0ee6f21aa7c58c32dab1b39eddd97e2640f8772649e883d33a25aaa012e3a21;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-correlation-id: - - c2867b22-3982-4bbe-9272-fd6f20f4e3ce - x-ms-lamport-ts: - - '195393984' - x-ms-opsarmpath: - - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitestm62vist5qjqb6r3xbu352ynlxaivnpshahiksej7l5ak43v7bohtd5mhxhtbqhogtshy/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - desktopvirtualization applicationgroup list - Connection: - - keep-alive - ParameterSetName: - - --filter -g - User-Agent: - - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 - (Windows-10-10.0.18362-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DesktopVirtualization/applicationGroups?api-version=2019-12-10-preview&$filter=applicationGroupType%20eq%20%27RailApplication%27 - response: - body: - string: '{"value":[{"name":"applicationGroup1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/applicationGroup1","type":"Microsoft.DesktopVirtualization/applicationgroups","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":"RemoteApp","properties":{"hostPoolArmPath":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","workspaceArmPath":null,"description":"des1","friendlyName":"friendly","applicationGroupType":"RemoteApp","migrationRequest":null}}],"nextLink":null}' - headers: - cache-control: - - no-cache - content-length: - - '796' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 Aug 2020 03:38:54 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - set-cookie: - - ARRAffinity=0ae556891a90acc8679c889b07dda3bbe88c7f0787602304c159f63d4e13032a;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-correlation-id: - - e6a46125-9179-41ff-9f9b-b1e85f9f5c42 - x-ms-lamport-ts: - - '195390993' - x-ms-opsarmpath: - - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4 - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - desktopvirtualization applicationgroup list - Connection: - - keep-alive - ParameterSetName: - - --filter --resource-group - User-Agent: - - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 - (Windows-10-10.0.18362-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationGroups?api-version=2019-12-10-preview&$filter=applicationGroupType%20eq%20%27RailApplication%27 - response: - body: - string: '{"value":[{"name":"applicationGroup1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/applicationGroup1","type":"Microsoft.DesktopVirtualization/applicationgroups","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":"RemoteApp","properties":{"hostPoolArmPath":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","workspaceArmPath":null,"description":"des1","friendlyName":"friendly","applicationGroupType":"RemoteApp","migrationRequest":null}}],"nextLink":null}' - headers: - cache-control: - - no-cache - content-length: - - '796' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 Aug 2020 03:38:56 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - set-cookie: - - ARRAffinity=bcecd7525f4b7bd3dab05ad4f985c3361737e7748bf74832e0a2be875b273e64;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-correlation-id: - - 4aad619a-fc76-46ad-994a-d328bbb56bea - x-ms-lamport-ts: - - '195394740' - x-ms-opsarmpath: - - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitestm62vist5qjqb6r3xbu352ynlxaivnpshahiksej7l5ak43v7bohtd5mhxhtbqhogtshy - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"tags": {"tag1": "value3", "tag2": "value4"}, "properties": {"description": - "des1", "friendlyName": "friendly"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - desktopvirtualization applicationgroup update - Connection: - - keep-alive - Content-Length: - - '113' - Content-Type: - - application/json - ParameterSetName: - - --description --friendly-name --tags --name --resource-group - User-Agent: - - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 - (Windows-10-10.0.18362-SP0) - method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1?api-version=2019-12-10-preview - response: - body: - string: '{"name":"applicationGroup1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/applicationGroup1","type":"Microsoft.DesktopVirtualization/applicationgroups","location":"centralus","tags":{"tag1":"value3","tag2":"value4"},"kind":"RemoteApp","properties":{"hostPoolArmPath":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","workspaceArmPath":null,"description":"des1","friendlyName":"friendly","applicationGroupType":"RemoteApp","migrationRequest":null}}' - headers: - cache-control: - - no-cache - content-length: - - '768' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 Aug 2020 03:39:04 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - set-cookie: - - ARRAffinity=0ae556891a90acc8679c889b07dda3bbe88c7f0787602304c159f63d4e13032a;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-correlation-id: - - 874ee99f-aa2a-4487-9228-ddf80504d9c0 - x-ms-lamport-ts: - - '195391012' - x-ms-opsarmpath: - - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitestm62vist5qjqb6r3xbu352ynlxaivnpshahiksej7l5ak43v7bohtd5mhxhtbqhogtshy/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - desktopvirtualization applicationgroup delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --name --resource-group - User-Agent: - - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 - (Windows-10-10.0.18362-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1?api-version=2019-12-10-preview - response: - body: - string: '{"name":"applicationGroup1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/applicationGroup1","type":"Microsoft.DesktopVirtualization/applicationgroups","location":"centralus","tags":{"tag1":"value3","tag2":"value4"},"kind":"RemoteApp","properties":{"hostPoolArmPath":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","workspaceArmPath":null,"description":"des1","friendlyName":"friendly","applicationGroupType":"RemoteApp","migrationRequest":null}}' - headers: - cache-control: - - no-cache - content-length: - - '768' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 Aug 2020 03:39:13 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - set-cookie: - - ARRAffinity=f0ee6f21aa7c58c32dab1b39eddd97e2640f8772649e883d33a25aaa012e3a21;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-correlation-id: - - 0cefd246-ea88-4025-a559-b1d40fdce813 - x-ms-lamport-ts: - - '195394096' - x-ms-opsarmpath: - - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitestm62vist5qjqb6r3xbu352ynlxaivnpshahiksej7l5ak43v7bohtd5mhxhtbqhogtshy/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1 - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"tags": {"tag1": "value1", "tag2": "value2"}, "location": "centralus", - "properties": {"description": "des1", "friendlyName": "friendly"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - desktopvirtualization workspace create - Connection: - - keep-alive - Content-Length: - - '138' - Content-Type: - - application/json - ParameterSetName: - - --resource-group --location --description --friendly-name --tags --name - User-Agent: - - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 - (Windows-10-10.0.18362-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1?api-version=2019-12-10-preview - response: - body: - string: '{"name":"workspace1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1","type":"Microsoft.DesktopVirtualization/workspaces","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"description":"des1","friendlyName":"friendly","applicationGroupReferences":[]}}' - headers: - cache-control: - - no-cache - content-length: - - '457' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 Aug 2020 03:39:22 GMT - expires: - - '-1' - location: - - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - set-cookie: - - ARRAffinity=0ae556891a90acc8679c889b07dda3bbe88c7f0787602304c159f63d4e13032a;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-correlation-id: - - 2be646eb-8500-4693-99bd-2add860b8240 - x-ms-lamport-ts: - - '195391152' - x-ms-opsarmpath: - - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitestm62vist5qjqb6r3xbu352ynlxaivnpshahiksej7l5ak43v7bohtd5mhxhtbqhogtshy/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - x-powered-by: - - ASP.NET - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - desktopvirtualization workspace show - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name - User-Agent: - - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 - (Windows-10-10.0.18362-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1?api-version=2019-12-10-preview - response: - body: - string: '{"name":"workspace1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1","type":"Microsoft.DesktopVirtualization/workspaces","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"description":"des1","friendlyName":"friendly","applicationGroupReferences":[]}}' - headers: - cache-control: - - no-cache - content-length: - - '457' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 Aug 2020 03:39:25 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - set-cookie: - - ARRAffinity=bcecd7525f4b7bd3dab05ad4f985c3361737e7748bf74832e0a2be875b273e64;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-correlation-id: - - b62b0a51-971d-4a59-a7b8-5afcd80e1ea6 - x-ms-lamport-ts: - - '195394905' - x-ms-opsarmpath: - - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitestm62vist5qjqb6r3xbu352ynlxaivnpshahiksej7l5ak43v7bohtd5mhxhtbqhogtshy/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - desktopvirtualization workspace list - Connection: - - keep-alive - ParameterSetName: - - --resource-group - User-Agent: - - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 - (Windows-10-10.0.18362-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces?api-version=2019-12-10-preview - response: - body: - string: '{"value":[{"name":"workspace1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1","type":"Microsoft.DesktopVirtualization/workspaces","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"description":"des1","friendlyName":"friendly","applicationGroupReferences":[]}}],"nextLink":null}' - headers: - cache-control: - - no-cache - content-length: - - '485' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 Aug 2020 03:39:28 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - set-cookie: - - ARRAffinity=bcecd7525f4b7bd3dab05ad4f985c3361737e7748bf74832e0a2be875b273e64;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-correlation-id: - - 7a6e82f9-5ee5-49a9-b025-baf226209078 - x-ms-lamport-ts: - - '195394925' - x-ms-opsarmpath: - - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitestm62vist5qjqb6r3xbu352ynlxaivnpshahiksej7l5ak43v7bohtd5mhxhtbqhogtshy - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - desktopvirtualization workspace list - Connection: - - keep-alive - ParameterSetName: - - -g - User-Agent: - - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 - (Windows-10-10.0.18362-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DesktopVirtualization/workspaces?api-version=2019-12-10-preview - response: - body: - string: '{"value":[{"name":"workspace1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1","type":"Microsoft.DesktopVirtualization/workspaces","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"description":"des1","friendlyName":"friendly","applicationGroupReferences":[]}}],"nextLink":null}' - headers: - cache-control: - - no-cache - content-length: - - '485' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 Aug 2020 03:39:31 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - set-cookie: - - ARRAffinity=0ae556891a90acc8679c889b07dda3bbe88c7f0787602304c159f63d4e13032a;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-correlation-id: - - 770d525a-02c5-43ab-8309-e154369efef8 - x-ms-lamport-ts: - - '195391196' - x-ms-opsarmpath: - - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4 - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"tags": {"tag1": "value3", "tag2": "value4"}, "properties": {"description": - "des1", "friendlyName": "friendly"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - desktopvirtualization workspace update - Connection: - - keep-alive - Content-Length: - - '113' - Content-Type: - - application/json - ParameterSetName: - - --resource-group --description --friendly-name --tags --name - User-Agent: - - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 - (Windows-10-10.0.18362-SP0) - method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1?api-version=2019-12-10-preview - response: - body: - string: '{"name":"workspace1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1","type":"Microsoft.DesktopVirtualization/workspaces","location":"centralus","tags":{"tag1":"value3","tag2":"value4"},"kind":null,"properties":{"description":"des1","friendlyName":"friendly","applicationGroupReferences":[]}}' - headers: - cache-control: - - no-cache - content-length: - - '457' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 Aug 2020 03:39:39 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - set-cookie: - - ARRAffinity=f0ee6f21aa7c58c32dab1b39eddd97e2640f8772649e883d33a25aaa012e3a21;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-correlation-id: - - 9aa02253-fcf4-4b62-ba8e-89f5480bb0e1 - x-ms-lamport-ts: - - '195394224' - x-ms-opsarmpath: - - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitestm62vist5qjqb6r3xbu352ynlxaivnpshahiksej7l5ak43v7bohtd5mhxhtbqhogtshy/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - desktopvirtualization hostpool delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --force --name --resource-group - User-Agent: - - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 - (Windows-10-10.0.18362-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1?api-version=2019-12-10-preview&force=true - response: - body: - string: '{"name":"hostPool1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":false,"ring":null,"registrationInfo":{"expirationTime":"2020-08-20T08:57:45.522Z","token":"eyJhbGciOiJSUzI1NiIsImtpZCI6Ijc4MkNGNDc0MzUwRkU3MkY5M0E2NzczOEFBRjQ0Qzg4QkFFMjI0QUIiLCJ0eXAiOiJKV1QifQ.eyJSZWdpc3RyYXRpb25JZCI6IjZjYTFiM2YzLTIwY2QtNDVjMy1iODhjLTMyMDBjN2JlZjA0MCIsIkJyb2tlclVyaSI6Imh0dHBzOi8vcmRicm9rZXItZy11cy1yMC53dmQubWljcm9zb2Z0LmNvbS8iLCJEaWFnbm9zdGljc1VyaSI6Imh0dHBzOi8vcmRkaWFnbm9zdGljcy1nLXVzLXIwLnd2ZC5taWNyb3NvZnQuY29tLyIsIkVuZHBvaW50UG9vbElkIjoiYTMwYzJhOTMtMDdkZi00YzFkLTk1NjktZTM5ODQ5NTlhNjZjIiwiR2xvYmFsQnJva2VyVXJpIjoiaHR0cHM6Ly9yZGJyb2tlci53dmQubWljcm9zb2Z0LmNvbS8iLCJHZW9ncmFwaHkiOiJVUyIsIm5iZiI6MTU5NzExNzExNiwiZXhwIjoxNTk3OTEzODY1LCJpc3MiOiJSREluZnJhVG9rZW5NYW5hZ2VyIiwiYXVkIjoiUkRtaSJ9.ZuT2ZNdcli926colLdIiXGrIADQ2Qcqhmt_vGdwnz5qHltUxybkmwWqjlcP5LL9lCqeD2yD-Hqv6B-0RcCQH659UIcCS-Xrtw6cqDnV715wUgyWZWFGYCgmF6rc8dyU4gUFCGKb4HtBVD3ZZPs_Z5oxal5uQDH1rC7u9wL1xYh-pAXFbBT5CTM58L6GaQfOTld7aYXkSVdnqYA8am7PAXWzlTjj6fHXVk6aJBO721RnRwcoM6AIfLwiCW2zhmXp0yKl3xTnucM2WbR6i_djObvjD_HvuVFHlT1cGND7NWlP2tVtRdrI8nDyGpfyO4CtFxTj19UcPyAljAextPZwrOw","resetToken":false,"registrationTokenOperation":"None"},"vmTemplate":null,"preferredAppGroupType":"Desktop","migrationRequest":null}}' - headers: - cache-control: - - no-cache - content-length: - - '1807' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 Aug 2020 03:39:46 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - set-cookie: - - ARRAffinity=bcecd7525f4b7bd3dab05ad4f985c3361737e7748bf74832e0a2be875b273e64;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-correlation-id: - - 9aa50516-9411-4e1b-9c22-f48b4ae79ce2 - x-ms-lamport-ts: - - '195394975' - x-ms-opsarmpath: - - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitestm62vist5qjqb6r3xbu352ynlxaivnpshahiksej7l5ak43v7bohtd5mhxhtbqhogtshy/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1 - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - desktopvirtualization workspace delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --resource-group --name - User-Agent: - - AZURECLI/2.7.0 azsdk-python-desktopvirtualizationapiclient/unknown Python/3.8.1 - (Windows-10-10.0.18362-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1?api-version=2019-12-10-preview - response: - body: - string: '{"name":"workspace1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1","type":"Microsoft.DesktopVirtualization/workspaces","location":"centralus","tags":{"tag1":"value3","tag2":"value4"},"kind":null,"properties":{"description":"des1","friendlyName":"friendly","applicationGroupReferences":[]}}' - headers: - cache-control: - - no-cache - content-length: - - '457' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 Aug 2020 03:39:55 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - set-cookie: - - ARRAffinity=0ae556891a90acc8679c889b07dda3bbe88c7f0787602304c159f63d4e13032a;Path=/;HttpOnly;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-correlation-id: - - c2a6cb66-2b81-4e38-9964-bb6c161a7dd5 - x-ms-lamport-ts: - - '195391241' - x-ms-opsarmpath: - - /subscriptions/7fd08dcc-a653-4b0f-8f8c-4dac889fdda4/resourceGroups/clitestm62vist5qjqb6r3xbu352ynlxaivnpshahiksej7l5ak43v7bohtd5mhxhtbqhogtshy/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -version: 1 diff --git a/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/recordings/test_desktopvirtualization_Scenario.yaml b/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/recordings/test_desktopvirtualization_Scenario.yaml new file mode 100644 index 00000000000..c5fefe0c9ea --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/recordings/test_desktopvirtualization_Scenario.yaml @@ -0,0 +1,1293 @@ +interactions: +- request: + body: '{"location": "centralus", "tags": {"tag1": "value1", "tag2": "value2"}, + "properties": {"friendlyName": "friendly", "description": "des1", "hostPoolType": + "Pooled", "personalDesktopAssignmentType": "Automatic", "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", "registrationInfo": {"expirationTime": "2022-03-26T05:38:08.189Z", + "registrationTokenOperation": "Update"}, "ssoClientId": "client", "ssoClientSecretKeyVaultPath": + "https://keyvault/secret", "ssoSecretType": "SharedKey", "preferredAppGroupType": + "Desktop", "startVMOnConnect": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization hostpool create + Connection: + - keep-alive + Content-Length: + - '557' + Content-Type: + - application/json + ParameterSetName: + - --location --description --friendly-name --host-pool-type --load-balancer-type + --max-session-limit --personal-desktop-assignment-type --preferred-app-group-type + --registration-info --sso-client-id --sso-client-secret-key-vault-path --sso-secret-type + --start-vm-on-connect --tags --name --resource-group + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-desktopvirtualization/1.0.0b1 Python/3.9.5 + (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1?api-version=2021-07-12 + response: + body: + string: '{"name":"hostPool1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"systemData":{"createdBy":"zelinwang@microsoft.com","createdByType":"User","createdAt":"2022-03-25T10:58:06.97Z","lastModifiedBy":"zelinwang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-25T10:58:06.97Z"},"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"drivestoredirect:s:*;audiomode:i:0;videoplaybackmode:i:1;redirectclipboard:i:1;redirectprinters:i:1;devicestoredirect:s:*;redirectcomports:i:1;redirectsmartcards:i:1;usbdevicestoredirect:s:*;enablecredsspsupport:i:1;use + multimon:i:1;","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":false,"ring":null,"registrationInfo":{"expirationTime":"2022-03-26T05:38:08.189Z","token":"eyJhbGciOiJSUzI1NiIsImtpZCI6IkZDMTBFOUQzNUQ4MEFCMjQyMTM2MTJBMDIwQjA3Q0U2Q0UxODRGMDAiLCJ0eXAiOiJKV1QifQ.eyJSZWdpc3RyYXRpb25JZCI6ImRkYzM2OWIzLTdkYzUtNDU3Ni1iODQyLWQxZGQzNDhmOTY3ZiIsIkJyb2tlclVyaSI6Imh0dHBzOi8vcmRicm9rZXItZy11cy1yMC53dmQubWljcm9zb2Z0LmNvbS8iLCJEaWFnbm9zdGljc1VyaSI6Imh0dHBzOi8vcmRkaWFnbm9zdGljcy1nLXVzLXIwLnd2ZC5taWNyb3NvZnQuY29tLyIsIkVuZHBvaW50UG9vbElkIjoiOThkMmE5ZmMtNzE4MC00N2UzLWFiZGItMTFkZTRiNzQ2MjgwIiwiR2xvYmFsQnJva2VyVXJpIjoiaHR0cHM6Ly9yZGJyb2tlci53dmQubWljcm9zb2Z0LmNvbS8iLCJHZW9ncmFwaHkiOiJVUyIsIkdsb2JhbEJyb2tlclJlc291cmNlSWRVcmkiOiJodHRwczovL3JkYnJva2VyLnd2ZC5taWNyb3NvZnQuY29tLyIsIkJyb2tlclJlc291cmNlSWRVcmkiOiJodHRwczovL3JkYnJva2VyLWctdXMtcjAud3ZkLm1pY3Jvc29mdC5jb20vIiwiRGlhZ25vc3RpY3NSZXNvdXJjZUlkVXJpIjoiaHR0cHM6Ly9yZGRpYWdub3N0aWNzLWctdXMtcjAud3ZkLm1pY3Jvc29mdC5jb20vIiwibmJmIjoxNjQ4MjA1ODg5LCJleHAiOjE2NDgyNzMwODgsImlzcyI6IlJESW5mcmFUb2tlbk1hbmFnZXIiLCJhdWQiOiJSRG1pIn0.FUSeOEn60nIO8SsEuZY-OfWLFg-9YYpwAEU3UN0frLg3-Qg5JcE7VgEqTip5tH0FL7QIUBAYLB4jTTDZDXk7qNlCjZYjoOTYDX6NTvf8je2eSW67XQaiDTAV978ZgcXOVWdzQ7W10sq27L-RXTpRfvjlrkaq_o_bTB6KFfwDAIbtXkM8fwkbKAP0i9f2imS5_Fd8fOz5P9T7epOP4HMeWCU13ECsHkdm63BGAgY-br6M6R80rcUqs73nydHNmMGPTFp-__St1_PP-zu7t5NOp_1irq3o-IGSdn7EE2SpPrkTsX8pNsUgIuQChzVo-okwV0tlCrMzQfd5fVbMGvz_2w","registrationTokenOperation":"Update"},"vmTemplate":null,"preferredAppGroupType":"Desktop","migrationRequest":null,"cloudPcResource":false,"startVMOnConnect":false,"ssoadfsAuthority":null,"ssoClientId":"client","ssoClientSecretKeyVaultPath":"https://keyvault/secret","ssoSecretType":"SharedKey","objectId":"98d2a9fc-7180-47e3-abdb-11de4b746280"}}' + headers: + cache-control: + - no-cache + content-length: + - '2702' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Mar 2022 10:58:11 GMT + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=dfef65d5d005decdf16ca6c5670ca470d3b3147889c1170e73f46a07f21ca5ae;Path=/;HttpOnly;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + - ARRAffinitySameSite=dfef65d5d005decdf16ca6c5670ca470d3b3147889c1170e73f46a07f21ca5ae;Path=/;HttpOnly;SameSite=None;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 9a64e2f7-dac5-4511-8d8d-ab2650128206 + x-ms-lamport-ts: + - '2230668881' + x-ms-opsarmpath64: + - L3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaXRlc3Q3ZzNpcm5jZHRxM3JrMzVsZHlwYTZobWh1NDd2eXF4YmZla3ZiNndpZnFtNjRscWF5Z3l5NHdjenpuM2l1dTRlbW92My9wcm92aWRlcnMvTWljcm9zb2Z0LkRlc2t0b3BWaXJ0dWFsaXphdGlvbi9ob3N0UG9vbHMvaG9zdFBvb2wx + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + x-rate-limit-limit: + - '0' + x-rate-limit-remaining: + - '9223372036854775807' + x-rate-limit-reset: + - '0' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization hostpool show + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-desktopvirtualization/1.0.0b1 Python/3.9.5 + (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1?api-version=2021-07-12 + response: + body: + string: '{"name":"hostPool1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"systemData":{"createdBy":"zelinwang@microsoft.com","createdByType":"User","createdAt":"2022-03-25T10:58:06.97Z","lastModifiedBy":"zelinwang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-25T10:58:06.97Z"},"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"drivestoredirect:s:*;audiomode:i:0;videoplaybackmode:i:1;redirectclipboard:i:1;redirectprinters:i:1;devicestoredirect:s:*;redirectcomports:i:1;redirectsmartcards:i:1;usbdevicestoredirect:s:*;enablecredsspsupport:i:1;use + multimon:i:1;","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":false,"ring":null,"registrationInfo":null,"vmTemplate":null,"preferredAppGroupType":"Desktop","migrationRequest":null,"cloudPcResource":false,"startVMOnConnect":false,"ssoadfsAuthority":null,"ssoClientId":"client","ssoClientSecretKeyVaultPath":"https://keyvault/secret","ssoSecretType":"SharedKey","objectId":"98d2a9fc-7180-47e3-abdb-11de4b746280"}}' + headers: + cache-control: + - no-cache + content-length: + - '1367' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Mar 2022 10:58:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=bd0dfb948b4e67ff60a11cd6e169712e6848609ad034c4789ebdf993fcec41fb;Path=/;HttpOnly;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + - ARRAffinitySameSite=bd0dfb948b4e67ff60a11cd6e169712e6848609ad034c4789ebdf993fcec41fb;Path=/;HttpOnly;SameSite=None;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 8e68dd0d-14dd-4cf5-941e-0d392fb9bc5a + x-ms-lamport-ts: + - '2230671816' + x-ms-opsarmpath64: + - L3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaXRlc3Q3ZzNpcm5jZHRxM3JrMzVsZHlwYTZobWh1NDd2eXF4YmZla3ZiNndpZnFtNjRscWF5Z3l5NHdjenpuM2l1dTRlbW92My9wcm92aWRlcnMvTWljcm9zb2Z0LkRlc2t0b3BWaXJ0dWFsaXphdGlvbi9ob3N0UG9vbHMvaG9zdFBvb2wx + x-powered-by: + - ASP.NET + x-rate-limit-limit: + - '0' + x-rate-limit-remaining: + - '9223372036854775807' + x-rate-limit-reset: + - '0' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization hostpool list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-desktopvirtualization/1.0.0b1 Python/3.9.5 + (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DesktopVirtualization/hostPools?api-version=2021-07-12 + response: + body: + string: '{"value":[{"name":"hostPool1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"systemData":{"createdBy":"zelinwang@microsoft.com","createdByType":"User","createdAt":"2022-03-25T10:58:06.97Z","lastModifiedBy":"zelinwang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-25T10:58:06.97Z"},"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"drivestoredirect:s:*;audiomode:i:0;videoplaybackmode:i:1;redirectclipboard:i:1;redirectprinters:i:1;devicestoredirect:s:*;redirectcomports:i:1;redirectsmartcards:i:1;usbdevicestoredirect:s:*;enablecredsspsupport:i:1;use + multimon:i:1;","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":false,"ring":null,"registrationInfo":null,"vmTemplate":null,"preferredAppGroupType":"Desktop","migrationRequest":null,"cloudPcResource":false,"startVMOnConnect":false,"ssoadfsAuthority":null,"ssoClientId":"client","ssoClientSecretKeyVaultPath":"https://keyvault/secret","ssoSecretType":"SharedKey","objectId":"98d2a9fc-7180-47e3-abdb-11de4b746280"}}],"nextLink":null}' + headers: + cache-control: + - no-cache + content-length: + - '1395' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Mar 2022 10:58:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=dfef65d5d005decdf16ca6c5670ca470d3b3147889c1170e73f46a07f21ca5ae;Path=/;HttpOnly;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + - ARRAffinitySameSite=dfef65d5d005decdf16ca6c5670ca470d3b3147889c1170e73f46a07f21ca5ae;Path=/;HttpOnly;SameSite=None;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 87dcdee2-4472-43ae-a553-651fe8a0d1e5 + x-ms-lamport-ts: + - '2230668919' + x-ms-opsarmpath64: + - L3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkw + x-powered-by: + - ASP.NET + x-rate-limit-limit: + - '0' + x-rate-limit-remaining: + - '9223372036854775807' + x-rate-limit-reset: + - '0' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization hostpool list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-desktopvirtualization/1.0.0b1 Python/3.9.5 + (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostPools?api-version=2021-07-12 + response: + body: + string: '{"value":[{"name":"hostPool1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"systemData":{"createdBy":"zelinwang@microsoft.com","createdByType":"User","createdAt":"2022-03-25T10:58:06.97Z","lastModifiedBy":"zelinwang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-25T10:58:06.97Z"},"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"drivestoredirect:s:*;audiomode:i:0;videoplaybackmode:i:1;redirectclipboard:i:1;redirectprinters:i:1;devicestoredirect:s:*;redirectcomports:i:1;redirectsmartcards:i:1;usbdevicestoredirect:s:*;enablecredsspsupport:i:1;use + multimon:i:1;","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":false,"ring":null,"registrationInfo":null,"vmTemplate":null,"preferredAppGroupType":"Desktop","migrationRequest":null,"cloudPcResource":false,"startVMOnConnect":false,"ssoadfsAuthority":null,"ssoClientId":"client","ssoClientSecretKeyVaultPath":"https://keyvault/secret","ssoSecretType":"SharedKey","objectId":"98d2a9fc-7180-47e3-abdb-11de4b746280"}}],"nextLink":null}' + headers: + cache-control: + - no-cache + content-length: + - '1395' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Mar 2022 10:58:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=5bde0dce94ac9acedf03c8b0a127ccf1e68e66d9ab570e773ec681a4fa4a0459;Path=/;HttpOnly;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + - ARRAffinitySameSite=5bde0dce94ac9acedf03c8b0a127ccf1e68e66d9ab570e773ec681a4fa4a0459;Path=/;HttpOnly;SameSite=None;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - d2f9b66f-dcb6-40a8-a2ed-6f915c47c1ee + x-ms-lamport-ts: + - '2230668391' + x-ms-opsarmpath64: + - L3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaXRlc3Q3ZzNpcm5jZHRxM3JrMzVsZHlwYTZobWh1NDd2eXF4YmZla3ZiNndpZnFtNjRscWF5Z3l5NHdjenpuM2l1dTRlbW92Mw== + x-powered-by: + - ASP.NET + x-rate-limit-limit: + - '0' + x-rate-limit-remaining: + - '9223372036854775807' + x-rate-limit-reset: + - '0' + status: + code: 200 + message: OK +- request: + body: '{"tags": {"tag1": "value1", "tag2": "value2"}, "properties": {"friendlyName": + "friendly", "description": "des1", "maxSessionLimit": 999999, "personalDesktopAssignmentType": + "Automatic", "loadBalancerType": "BreadthFirst", "registrationInfo": {"expirationTime": + "2022-03-26T05:38:08.190Z", "registrationTokenOperation": "Update"}, "ssoClientId": + "client", "ssoClientSecretKeyVaultPath": "https://keyvault/secret", "ssoSecretType": + "SharedKey", "startVMOnConnect": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization hostpool update + Connection: + - keep-alive + Content-Length: + - '470' + Content-Type: + - application/json + ParameterSetName: + - --description --friendly-name --load-balancer-type --max-session-limit --personal-desktop-assignment-type + --registration-info --sso-client-id --sso-client-secret-key-vault-path --sso-secret-type + --start-vm-on-connect --tags --name --resource-group + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-desktopvirtualization/1.0.0b1 Python/3.9.5 + (Windows-10-10.0.19044-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1?api-version=2021-07-12 + response: + body: + string: '{"name":"hostPool1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"systemData":{"createdBy":"zelinwang@microsoft.com","createdByType":"User","createdAt":"2022-03-25T10:58:06.97Z","lastModifiedBy":"zelinwang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-25T10:58:06.97Z"},"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"drivestoredirect:s:*;audiomode:i:0;videoplaybackmode:i:1;redirectclipboard:i:1;redirectprinters:i:1;devicestoredirect:s:*;redirectcomports:i:1;redirectsmartcards:i:1;usbdevicestoredirect:s:*;enablecredsspsupport:i:1;use + multimon:i:1;","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":false,"ring":null,"registrationInfo":{"expirationTime":"2022-03-26T05:38:08.19Z","token":"eyJhbGciOiJSUzI1NiIsImtpZCI6IkZDMTBFOUQzNUQ4MEFCMjQyMTM2MTJBMDIwQjA3Q0U2Q0UxODRGMDAiLCJ0eXAiOiJKV1QifQ.eyJSZWdpc3RyYXRpb25JZCI6ImY2YjY5NDgzLWIwNGMtNDJkYS1iNzc5LWZhNTk5MGQ5NjE3MiIsIkJyb2tlclVyaSI6Imh0dHBzOi8vcmRicm9rZXItZy11cy1yMC53dmQubWljcm9zb2Z0LmNvbS8iLCJEaWFnbm9zdGljc1VyaSI6Imh0dHBzOi8vcmRkaWFnbm9zdGljcy1nLXVzLXIwLnd2ZC5taWNyb3NvZnQuY29tLyIsIkVuZHBvaW50UG9vbElkIjoiOThkMmE5ZmMtNzE4MC00N2UzLWFiZGItMTFkZTRiNzQ2MjgwIiwiR2xvYmFsQnJva2VyVXJpIjoiaHR0cHM6Ly9yZGJyb2tlci53dmQubWljcm9zb2Z0LmNvbS8iLCJHZW9ncmFwaHkiOiJVUyIsIkdsb2JhbEJyb2tlclJlc291cmNlSWRVcmkiOiJodHRwczovL3JkYnJva2VyLnd2ZC5taWNyb3NvZnQuY29tLyIsIkJyb2tlclJlc291cmNlSWRVcmkiOiJodHRwczovL3JkYnJva2VyLWctdXMtcjAud3ZkLm1pY3Jvc29mdC5jb20vIiwiRGlhZ25vc3RpY3NSZXNvdXJjZUlkVXJpIjoiaHR0cHM6Ly9yZGRpYWdub3N0aWNzLWctdXMtcjAud3ZkLm1pY3Jvc29mdC5jb20vIiwibmJmIjoxNjQ4MjA1ODk4LCJleHAiOjE2NDgyNzMwODgsImlzcyI6IlJESW5mcmFUb2tlbk1hbmFnZXIiLCJhdWQiOiJSRG1pIn0.c38gT-gx5ZszVcCeFvMc2RuL2pZhVXWmn5EMmZOqj-EGqLCm5okUNbpUqev1VZ0pxD4WGGVYgN2iwCucUnMCwI2wzdwQGmEcdJIfVQVmDJMQR8pe8TUCUi6qIvBJ6HbcktlFCCuBEvBLmCTu_rHPNkB6AArAyu-SX5V8K1aIBh21Q9-CE7B9hMl4MT-EBRAaYFETQGvgMr5ZEZLbBaIRr_RW_Fw65AXPk6Q92LeUQr8UVJV6H83lCHUgeh1PeRFyUM3324fEU22oXW-VCymmT9gms8wxdDUf36hjtKi3NONJpfhqVjz0NcK3F3_g3kqWHwGsXmD7ol6Z_uHYSg7JPg","registrationTokenOperation":"Update"},"vmTemplate":null,"preferredAppGroupType":"Desktop","migrationRequest":null,"cloudPcResource":false,"startVMOnConnect":false,"ssoadfsAuthority":null,"ssoClientId":"client","ssoClientSecretKeyVaultPath":"https://keyvault/secret","ssoSecretType":"SharedKey","objectId":"98d2a9fc-7180-47e3-abdb-11de4b746280"}}' + headers: + cache-control: + - no-cache + content-length: + - '2701' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Mar 2022 10:58:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=f0ee6f21aa7c58c32dab1b39eddd97e2640f8772649e883d33a25aaa012e3a21;Path=/;HttpOnly;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + - ARRAffinitySameSite=f0ee6f21aa7c58c32dab1b39eddd97e2640f8772649e883d33a25aaa012e3a21;Path=/;HttpOnly;SameSite=None;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 4f2c11e4-a8a4-4530-b460-9175442d8659 + x-ms-lamport-ts: + - '2230671327' + x-ms-opsarmpath64: + - L3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaXRlc3Q3ZzNpcm5jZHRxM3JrMzVsZHlwYTZobWh1NDd2eXF4YmZla3ZiNndpZnFtNjRscWF5Z3l5NHdjenpuM2l1dTRlbW92My9wcm92aWRlcnMvTWljcm9zb2Z0LkRlc2t0b3BWaXJ0dWFsaXphdGlvbi9ob3N0UG9vbHMvaG9zdFBvb2wx + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + x-rate-limit-limit: + - '0' + x-rate-limit-remaining: + - '9223372036854775807' + x-rate-limit-reset: + - '0' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization hostpool retrieve-registration-token + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-desktopvirtualization/1.0.0b1 Python/3.9.5 + (Windows-10-10.0.19044-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/retrieveRegistrationToken?api-version=2021-07-12 + response: + body: + string: '{"expirationTime":"2022-03-26T05:38:08.19Z","token":"eyJhbGciOiJSUzI1NiIsImtpZCI6IkZDMTBFOUQzNUQ4MEFCMjQyMTM2MTJBMDIwQjA3Q0U2Q0UxODRGMDAiLCJ0eXAiOiJKV1QifQ.eyJSZWdpc3RyYXRpb25JZCI6ImY2YjY5NDgzLWIwNGMtNDJkYS1iNzc5LWZhNTk5MGQ5NjE3MiIsIkJyb2tlclVyaSI6Imh0dHBzOi8vcmRicm9rZXItZy11cy1yMC53dmQubWljcm9zb2Z0LmNvbS8iLCJEaWFnbm9zdGljc1VyaSI6Imh0dHBzOi8vcmRkaWFnbm9zdGljcy1nLXVzLXIwLnd2ZC5taWNyb3NvZnQuY29tLyIsIkVuZHBvaW50UG9vbElkIjoiOThkMmE5ZmMtNzE4MC00N2UzLWFiZGItMTFkZTRiNzQ2MjgwIiwiR2xvYmFsQnJva2VyVXJpIjoiaHR0cHM6Ly9yZGJyb2tlci53dmQubWljcm9zb2Z0LmNvbS8iLCJHZW9ncmFwaHkiOiJVUyIsIkdsb2JhbEJyb2tlclJlc291cmNlSWRVcmkiOiJodHRwczovL3JkYnJva2VyLnd2ZC5taWNyb3NvZnQuY29tLyIsIkJyb2tlclJlc291cmNlSWRVcmkiOiJodHRwczovL3JkYnJva2VyLWctdXMtcjAud3ZkLm1pY3Jvc29mdC5jb20vIiwiRGlhZ25vc3RpY3NSZXNvdXJjZUlkVXJpIjoiaHR0cHM6Ly9yZGRpYWdub3N0aWNzLWctdXMtcjAud3ZkLm1pY3Jvc29mdC5jb20vIiwibmJmIjoxNjQ4MjA1ODk4LCJleHAiOjE2NDgyNzMwODgsImlzcyI6IlJESW5mcmFUb2tlbk1hbmFnZXIiLCJhdWQiOiJSRG1pIn0.c38gT-gx5ZszVcCeFvMc2RuL2pZhVXWmn5EMmZOqj-EGqLCm5okUNbpUqev1VZ0pxD4WGGVYgN2iwCucUnMCwI2wzdwQGmEcdJIfVQVmDJMQR8pe8TUCUi6qIvBJ6HbcktlFCCuBEvBLmCTu_rHPNkB6AArAyu-SX5V8K1aIBh21Q9-CE7B9hMl4MT-EBRAaYFETQGvgMr5ZEZLbBaIRr_RW_Fw65AXPk6Q92LeUQr8UVJV6H83lCHUgeh1PeRFyUM3324fEU22oXW-VCymmT9gms8wxdDUf36hjtKi3NONJpfhqVjz0NcK3F3_g3kqWHwGsXmD7ol6Z_uHYSg7JPg","resetToken":false,"registrationTokenOperation":"None"}' + headers: + cache-control: + - no-cache + content-length: + - '1355' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Mar 2022 10:58:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=faf4dec0e866a78a704d6f50882bec16fc24fe887063009bbdffd2526cac326f;Path=/;HttpOnly;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + - ARRAffinitySameSite=faf4dec0e866a78a704d6f50882bec16fc24fe887063009bbdffd2526cac326f;Path=/;HttpOnly;SameSite=None;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 2cc3eb4a-262e-430c-8f80-cee4e3ce9207 + x-ms-lamport-ts: + - '2230669020' + x-ms-opsarmpath64: + - L3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaXRlc3Q3ZzNpcm5jZHRxM3JrMzVsZHlwYTZobWh1NDd2eXF4YmZla3ZiNndpZnFtNjRscWF5Z3l5NHdjenpuM2l1dTRlbW92My9wcm92aWRlcnMvTWljcm9zb2Z0LkRlc2t0b3BWaXJ0dWFsaXphdGlvbi9ob3N0UG9vbHMvaG9zdFBvb2wx + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + x-rate-limit-limit: + - '0' + x-rate-limit-remaining: + - '9223372036854775807' + x-rate-limit-reset: + - '0' + status: + code: 200 + message: OK +- request: + body: '{"location": "centralus", "tags": {"tag1": "value1", "tag2": "value2"}, + "properties": {"description": "des1", "friendlyName": "friendly", "hostPoolArmPath": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "applicationGroupType": "RemoteApp"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization applicationgroup create + Connection: + - keep-alive + Content-Length: + - '340' + Content-Type: + - application/json + ParameterSetName: + - --location --description --application-group-type --friendly-name --host-pool-arm-path + --tags --name --resource-group + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-desktopvirtualization/1.0.0b1 Python/3.9.5 + (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1?api-version=2021-07-12 + response: + body: + string: '{"name":"applicationGroup1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/applicationGroup1","type":"Microsoft.DesktopVirtualization/applicationgroups","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":"RemoteApp","systemData":{"createdBy":"zelinwang@microsoft.com","createdByType":"User","createdAt":"2022-03-25T10:58:28.22Z","lastModifiedBy":"zelinwang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-25T10:58:28.22Z"},"properties":{"hostPoolArmPath":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","workspaceArmPath":null,"description":"des1","friendlyName":"friendly","applicationGroupType":"RemoteApp","migrationRequest":null,"cloudPcResource":false,"objectId":"e58986fa-1105-40c4-81c8-5342c265c07a"}}' + headers: + cache-control: + - no-cache + content-length: + - '946' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Mar 2022 10:58:32 GMT + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/applicationGroup1 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=7370067215f49a50b9568dd2af2b20f273b5ad9b4ce5a0042e2457ca35096ce0;Path=/;HttpOnly;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + - ARRAffinitySameSite=7370067215f49a50b9568dd2af2b20f273b5ad9b4ce5a0042e2457ca35096ce0;Path=/;HttpOnly;SameSite=None;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 714a6500-6fd6-4b8d-a703-34fa888dac2b + x-ms-lamport-ts: + - '2230669037' + x-ms-opsarmpath64: + - L3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaXRlc3Q3ZzNpcm5jZHRxM3JrMzVsZHlwYTZobWh1NDd2eXF4YmZla3ZiNndpZnFtNjRscWF5Z3l5NHdjenpuM2l1dTRlbW92My9wcm92aWRlcnMvTWljcm9zb2Z0LkRlc2t0b3BWaXJ0dWFsaXphdGlvbi9hcHBsaWNhdGlvbkdyb3Vwcy9hcHBsaWNhdGlvbkdyb3VwMQ== + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET + x-rate-limit-limit: + - '0' + x-rate-limit-remaining: + - '9223372036854775807' + x-rate-limit-reset: + - '0' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization applicationgroup show + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-desktopvirtualization/1.0.0b1 Python/3.9.5 + (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1?api-version=2021-07-12 + response: + body: + string: '{"name":"applicationGroup1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/applicationGroup1","type":"Microsoft.DesktopVirtualization/applicationgroups","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":"RemoteApp","systemData":{"createdBy":"zelinwang@microsoft.com","createdByType":"User","createdAt":"2022-03-25T10:58:28.22Z","lastModifiedBy":"zelinwang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-25T10:58:28.22Z"},"properties":{"hostPoolArmPath":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","workspaceArmPath":null,"description":"des1","friendlyName":"friendly","applicationGroupType":"RemoteApp","migrationRequest":null,"cloudPcResource":false,"objectId":"e58986fa-1105-40c4-81c8-5342c265c07a"}}' + headers: + cache-control: + - no-cache + content-length: + - '946' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Mar 2022 10:58:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=dfef65d5d005decdf16ca6c5670ca470d3b3147889c1170e73f46a07f21ca5ae;Path=/;HttpOnly;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + - ARRAffinitySameSite=dfef65d5d005decdf16ca6c5670ca470d3b3147889c1170e73f46a07f21ca5ae;Path=/;HttpOnly;SameSite=None;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 3520eae9-61de-4781-bf39-22278b4b87bf + x-ms-lamport-ts: + - '2230669173' + x-ms-opsarmpath64: + - L3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaXRlc3Q3ZzNpcm5jZHRxM3JrMzVsZHlwYTZobWh1NDd2eXF4YmZla3ZiNndpZnFtNjRscWF5Z3l5NHdjenpuM2l1dTRlbW92My9wcm92aWRlcnMvTWljcm9zb2Z0LkRlc2t0b3BWaXJ0dWFsaXphdGlvbi9hcHBsaWNhdGlvbkdyb3Vwcy9hcHBsaWNhdGlvbkdyb3VwMQ== + x-powered-by: + - ASP.NET + x-rate-limit-limit: + - '0' + x-rate-limit-remaining: + - '9223372036854775807' + x-rate-limit-reset: + - '0' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization applicationgroup list + Connection: + - keep-alive + ParameterSetName: + - --filter -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-desktopvirtualization/1.0.0b1 Python/3.9.5 + (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DesktopVirtualization/applicationGroups?api-version=2021-07-12&$filter=applicationGroupType%20eq%20%27RailApplication%27 + response: + body: + string: '{"value":[{"name":"applicationGroup1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/applicationGroup1","type":"Microsoft.DesktopVirtualization/applicationgroups","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":"RemoteApp","systemData":{"createdBy":"zelinwang@microsoft.com","createdByType":"User","createdAt":"2022-03-25T10:58:28.22Z","lastModifiedBy":"zelinwang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-25T10:58:28.22Z"},"properties":{"hostPoolArmPath":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","workspaceArmPath":null,"description":"des1","friendlyName":"friendly","applicationGroupType":"RemoteApp","migrationRequest":null,"cloudPcResource":false,"objectId":"e58986fa-1105-40c4-81c8-5342c265c07a"}}],"nextLink":null}' + headers: + cache-control: + - no-cache + content-length: + - '974' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Mar 2022 10:58:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=bd0dfb948b4e67ff60a11cd6e169712e6848609ad034c4789ebdf993fcec41fb;Path=/;HttpOnly;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + - ARRAffinitySameSite=bd0dfb948b4e67ff60a11cd6e169712e6848609ad034c4789ebdf993fcec41fb;Path=/;HttpOnly;SameSite=None;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 026d3c71-4747-4ff7-98a8-8a643abc1528 + x-ms-lamport-ts: + - '2230672097' + x-ms-opsarmpath64: + - L3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkw + x-powered-by: + - ASP.NET + x-rate-limit-limit: + - '0' + x-rate-limit-remaining: + - '9223372036854775807' + x-rate-limit-reset: + - '0' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization applicationgroup list + Connection: + - keep-alive + ParameterSetName: + - --filter --resource-group + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-desktopvirtualization/1.0.0b1 Python/3.9.5 + (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationGroups?api-version=2021-07-12&$filter=applicationGroupType%20eq%20%27RailApplication%27 + response: + body: + string: '{"value":[{"name":"applicationGroup1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/applicationGroup1","type":"Microsoft.DesktopVirtualization/applicationgroups","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":"RemoteApp","systemData":{"createdBy":"zelinwang@microsoft.com","createdByType":"User","createdAt":"2022-03-25T10:58:28.22Z","lastModifiedBy":"zelinwang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-25T10:58:28.22Z"},"properties":{"hostPoolArmPath":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","workspaceArmPath":null,"description":"des1","friendlyName":"friendly","applicationGroupType":"RemoteApp","migrationRequest":null,"cloudPcResource":false,"objectId":"e58986fa-1105-40c4-81c8-5342c265c07a"}}],"nextLink":null}' + headers: + cache-control: + - no-cache + content-length: + - '974' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Mar 2022 10:58:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=f0ee6f21aa7c58c32dab1b39eddd97e2640f8772649e883d33a25aaa012e3a21;Path=/;HttpOnly;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + - ARRAffinitySameSite=f0ee6f21aa7c58c32dab1b39eddd97e2640f8772649e883d33a25aaa012e3a21;Path=/;HttpOnly;SameSite=None;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - d2d705d8-3bc0-43a1-a735-bd56d47188f0 + x-ms-lamport-ts: + - '2230671513' + x-ms-opsarmpath64: + - L3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaXRlc3Q3ZzNpcm5jZHRxM3JrMzVsZHlwYTZobWh1NDd2eXF4YmZla3ZiNndpZnFtNjRscWF5Z3l5NHdjenpuM2l1dTRlbW92Mw== + x-powered-by: + - ASP.NET + x-rate-limit-limit: + - '0' + x-rate-limit-remaining: + - '9223372036854775807' + x-rate-limit-reset: + - '0' + status: + code: 200 + message: OK +- request: + body: '{"tags": {"tag1": "value1", "tag2": "value2"}, "properties": {"description": + "des1", "friendlyName": "friendly"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization applicationgroup update + Connection: + - keep-alive + Content-Length: + - '113' + Content-Type: + - application/json + ParameterSetName: + - --description --friendly-name --tags --name --resource-group + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-desktopvirtualization/1.0.0b1 Python/3.9.5 + (Windows-10-10.0.19044-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1?api-version=2021-07-12 + response: + body: + string: '{"name":"applicationGroup1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/applicationGroup1","type":"Microsoft.DesktopVirtualization/applicationgroups","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":"RemoteApp","systemData":{"createdBy":"zelinwang@microsoft.com","createdByType":"User","createdAt":"2022-03-25T10:58:28.22Z","lastModifiedBy":"zelinwang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-25T10:58:36.79Z"},"properties":{"hostPoolArmPath":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","workspaceArmPath":null,"description":"des1","friendlyName":"friendly","applicationGroupType":"RemoteApp","migrationRequest":null,"cloudPcResource":false,"objectId":"e58986fa-1105-40c4-81c8-5342c265c07a"}}' + headers: + cache-control: + - no-cache + content-length: + - '946' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Mar 2022 10:58:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=bd0dfb948b4e67ff60a11cd6e169712e6848609ad034c4789ebdf993fcec41fb;Path=/;HttpOnly;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + - ARRAffinitySameSite=bd0dfb948b4e67ff60a11cd6e169712e6848609ad034c4789ebdf993fcec41fb;Path=/;HttpOnly;SameSite=None;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - a5d532db-dd3e-4b99-9977-8f95d7bebf0c + x-ms-lamport-ts: + - '2230672137' + x-ms-opsarmpath64: + - L3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaXRlc3Q3ZzNpcm5jZHRxM3JrMzVsZHlwYTZobWh1NDd2eXF4YmZla3ZiNndpZnFtNjRscWF5Z3l5NHdjenpuM2l1dTRlbW92My9wcm92aWRlcnMvTWljcm9zb2Z0LkRlc2t0b3BWaXJ0dWFsaXphdGlvbi9hcHBsaWNhdGlvbkdyb3Vwcy9hcHBsaWNhdGlvbkdyb3VwMQ== + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET + x-rate-limit-limit: + - '0' + x-rate-limit-remaining: + - '9223372036854775807' + x-rate-limit-reset: + - '0' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization applicationgroup delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-desktopvirtualization/1.0.0b1 Python/3.9.5 + (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1?api-version=2021-07-12 + response: + body: + string: '{"name":"applicationGroup1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/applicationgroups/applicationGroup1","type":"Microsoft.DesktopVirtualization/applicationgroups","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":"RemoteApp","systemData":{"createdBy":"zelinwang@microsoft.com","createdByType":"User","createdAt":"2022-03-25T10:58:28.22Z","lastModifiedBy":"zelinwang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-25T10:58:36.79Z"},"properties":{"hostPoolArmPath":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","workspaceArmPath":null,"description":"des1","friendlyName":"friendly","applicationGroupType":"RemoteApp","migrationRequest":null,"cloudPcResource":false,"objectId":"e58986fa-1105-40c4-81c8-5342c265c07a"}}' + headers: + cache-control: + - no-cache + content-length: + - '946' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Mar 2022 10:58:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=dfef65d5d005decdf16ca6c5670ca470d3b3147889c1170e73f46a07f21ca5ae;Path=/;HttpOnly;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + - ARRAffinitySameSite=dfef65d5d005decdf16ca6c5670ca470d3b3147889c1170e73f46a07f21ca5ae;Path=/;HttpOnly;SameSite=None;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 6ac00f0f-b1ba-4d8b-81cf-caa56b612668 + x-ms-lamport-ts: + - '2230669349' + x-ms-opsarmpath64: + - L3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaXRlc3Q3ZzNpcm5jZHRxM3JrMzVsZHlwYTZobWh1NDd2eXF4YmZla3ZiNndpZnFtNjRscWF5Z3l5NHdjenpuM2l1dTRlbW92My9wcm92aWRlcnMvTWljcm9zb2Z0LkRlc2t0b3BWaXJ0dWFsaXphdGlvbi9hcHBsaWNhdGlvbkdyb3Vwcy9hcHBsaWNhdGlvbkdyb3VwMQ== + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + x-rate-limit-limit: + - '0' + x-rate-limit-remaining: + - '9223372036854775807' + x-rate-limit-reset: + - '0' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization hostpool delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --force --name --resource-group + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-desktopvirtualization/1.0.0b1 Python/3.9.5 + (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1?api-version=2021-07-12&force=true + response: + body: + string: '{"name":"hostPool1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1","type":"Microsoft.DesktopVirtualization/hostpools","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"systemData":{"createdBy":"zelinwang@microsoft.com","createdByType":"User","createdAt":"2022-03-25T10:58:06.97Z","lastModifiedBy":"zelinwang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-25T10:58:06.97Z"},"properties":{"friendlyName":"friendly","description":"des1","hostPoolType":"Pooled","personalDesktopAssignmentType":null,"applicationGroupReferences":[],"customRdpProperty":"drivestoredirect:s:*;audiomode:i:0;videoplaybackmode:i:1;redirectclipboard:i:1;redirectprinters:i:1;devicestoredirect:s:*;redirectcomports:i:1;redirectsmartcards:i:1;usbdevicestoredirect:s:*;enablecredsspsupport:i:1;use + multimon:i:1;","maxSessionLimit":999999,"loadBalancerType":"BreadthFirst","validationEnvironment":false,"ring":null,"registrationInfo":{"expirationTime":"2022-03-26T05:38:08.19Z","token":"eyJhbGciOiJSUzI1NiIsImtpZCI6IkZDMTBFOUQzNUQ4MEFCMjQyMTM2MTJBMDIwQjA3Q0U2Q0UxODRGMDAiLCJ0eXAiOiJKV1QifQ.eyJSZWdpc3RyYXRpb25JZCI6ImY2YjY5NDgzLWIwNGMtNDJkYS1iNzc5LWZhNTk5MGQ5NjE3MiIsIkJyb2tlclVyaSI6Imh0dHBzOi8vcmRicm9rZXItZy11cy1yMC53dmQubWljcm9zb2Z0LmNvbS8iLCJEaWFnbm9zdGljc1VyaSI6Imh0dHBzOi8vcmRkaWFnbm9zdGljcy1nLXVzLXIwLnd2ZC5taWNyb3NvZnQuY29tLyIsIkVuZHBvaW50UG9vbElkIjoiOThkMmE5ZmMtNzE4MC00N2UzLWFiZGItMTFkZTRiNzQ2MjgwIiwiR2xvYmFsQnJva2VyVXJpIjoiaHR0cHM6Ly9yZGJyb2tlci53dmQubWljcm9zb2Z0LmNvbS8iLCJHZW9ncmFwaHkiOiJVUyIsIkdsb2JhbEJyb2tlclJlc291cmNlSWRVcmkiOiJodHRwczovL3JkYnJva2VyLnd2ZC5taWNyb3NvZnQuY29tLyIsIkJyb2tlclJlc291cmNlSWRVcmkiOiJodHRwczovL3JkYnJva2VyLWctdXMtcjAud3ZkLm1pY3Jvc29mdC5jb20vIiwiRGlhZ25vc3RpY3NSZXNvdXJjZUlkVXJpIjoiaHR0cHM6Ly9yZGRpYWdub3N0aWNzLWctdXMtcjAud3ZkLm1pY3Jvc29mdC5jb20vIiwibmJmIjoxNjQ4MjA1ODk4LCJleHAiOjE2NDgyNzMwODgsImlzcyI6IlJESW5mcmFUb2tlbk1hbmFnZXIiLCJhdWQiOiJSRG1pIn0.c38gT-gx5ZszVcCeFvMc2RuL2pZhVXWmn5EMmZOqj-EGqLCm5okUNbpUqev1VZ0pxD4WGGVYgN2iwCucUnMCwI2wzdwQGmEcdJIfVQVmDJMQR8pe8TUCUi6qIvBJ6HbcktlFCCuBEvBLmCTu_rHPNkB6AArAyu-SX5V8K1aIBh21Q9-CE7B9hMl4MT-EBRAaYFETQGvgMr5ZEZLbBaIRr_RW_Fw65AXPk6Q92LeUQr8UVJV6H83lCHUgeh1PeRFyUM3324fEU22oXW-VCymmT9gms8wxdDUf36hjtKi3NONJpfhqVjz0NcK3F3_g3kqWHwGsXmD7ol6Z_uHYSg7JPg","registrationTokenOperation":"None"},"vmTemplate":null,"preferredAppGroupType":"Desktop","migrationRequest":null,"cloudPcResource":false,"startVMOnConnect":false,"ssoadfsAuthority":null,"ssoClientId":"client","ssoClientSecretKeyVaultPath":"https://keyvault/secret","ssoSecretType":"SharedKey","objectId":"98d2a9fc-7180-47e3-abdb-11de4b746280"}}' + headers: + cache-control: + - no-cache + content-length: + - '2699' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Mar 2022 10:59:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=dfef65d5d005decdf16ca6c5670ca470d3b3147889c1170e73f46a07f21ca5ae;Path=/;HttpOnly;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + - ARRAffinitySameSite=dfef65d5d005decdf16ca6c5670ca470d3b3147889c1170e73f46a07f21ca5ae;Path=/;HttpOnly;SameSite=None;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - db013750-5109-4d0d-922e-c99768a31233 + x-ms-lamport-ts: + - '2230669473' + x-ms-opsarmpath64: + - L3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaXRlc3Q3ZzNpcm5jZHRxM3JrMzVsZHlwYTZobWh1NDd2eXF4YmZla3ZiNndpZnFtNjRscWF5Z3l5NHdjenpuM2l1dTRlbW92My9wcm92aWRlcnMvTWljcm9zb2Z0LkRlc2t0b3BWaXJ0dWFsaXphdGlvbi9ob3N0UG9vbHMvaG9zdFBvb2wx + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + x-rate-limit-limit: + - '0' + x-rate-limit-remaining: + - '9223372036854775807' + x-rate-limit-reset: + - '0' + status: + code: 200 + message: OK +- request: + body: '{"location": "centralus", "tags": {"tag1": "value1", "tag2": "value2"}, + "properties": {"description": "des1", "friendlyName": "friendly"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization workspace create + Connection: + - keep-alive + Content-Length: + - '138' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --location --description --friendly-name --tags --name + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-desktopvirtualization/1.0.0b1 Python/3.9.5 + (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1?api-version=2021-07-12 + response: + body: + string: '{"name":"workspace1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1","type":"Microsoft.DesktopVirtualization/workspaces","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"systemData":{"createdBy":"zelinwang@microsoft.com","createdByType":"User","createdAt":"2022-03-25T10:59:10.15Z","lastModifiedBy":"zelinwang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-25T10:59:10.15Z"},"properties":{"description":"des1","friendlyName":"friendly","applicationGroupReferences":[],"cloudPcResource":false,"publicNetworkAccess":null,"objectId":"5b6de428-d34f-4dbe-b6a3-d10b0d3738f0"}}' + headers: + cache-control: + - no-cache + content-length: + - '724' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Mar 2022 10:59:13 GMT + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=5bde0dce94ac9acedf03c8b0a127ccf1e68e66d9ab570e773ec681a4fa4a0459;Path=/;HttpOnly;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + - ARRAffinitySameSite=5bde0dce94ac9acedf03c8b0a127ccf1e68e66d9ab570e773ec681a4fa4a0459;Path=/;HttpOnly;SameSite=None;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 1ede60a7-2886-42b3-96e5-291070453ba8 + x-ms-lamport-ts: + - '2230669361' + x-ms-opsarmpath64: + - L3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaXRlc3Q3ZzNpcm5jZHRxM3JrMzVsZHlwYTZobWh1NDd2eXF4YmZla3ZiNndpZnFtNjRscWF5Z3l5NHdjenpuM2l1dTRlbW92My9wcm92aWRlcnMvTWljcm9zb2Z0LkRlc2t0b3BWaXJ0dWFsaXphdGlvbi93b3Jrc3BhY2VzL3dvcmtzcGFjZTE= + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + x-rate-limit-limit: + - '0' + x-rate-limit-remaining: + - '9223372036854775807' + x-rate-limit-reset: + - '0' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization workspace show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-desktopvirtualization/1.0.0b1 Python/3.9.5 + (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1?api-version=2021-07-12 + response: + body: + string: '{"name":"workspace1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1","type":"Microsoft.DesktopVirtualization/workspaces","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"systemData":{"createdBy":"zelinwang@microsoft.com","createdByType":"User","createdAt":"2022-03-25T10:59:10.15Z","lastModifiedBy":"zelinwang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-25T10:59:10.15Z"},"properties":{"description":"des1","friendlyName":"friendly","applicationGroupReferences":[],"cloudPcResource":false,"publicNetworkAccess":null,"objectId":"5b6de428-d34f-4dbe-b6a3-d10b0d3738f0"}}' + headers: + cache-control: + - no-cache + content-length: + - '724' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Mar 2022 10:59:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=f0ee6f21aa7c58c32dab1b39eddd97e2640f8772649e883d33a25aaa012e3a21;Path=/;HttpOnly;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + - ARRAffinitySameSite=f0ee6f21aa7c58c32dab1b39eddd97e2640f8772649e883d33a25aaa012e3a21;Path=/;HttpOnly;SameSite=None;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - ec37bc87-a5d2-49db-99a8-b4d2e3e5de21 + x-ms-lamport-ts: + - '2230672279' + x-ms-opsarmpath64: + - L3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaXRlc3Q3ZzNpcm5jZHRxM3JrMzVsZHlwYTZobWh1NDd2eXF4YmZla3ZiNndpZnFtNjRscWF5Z3l5NHdjenpuM2l1dTRlbW92My9wcm92aWRlcnMvTWljcm9zb2Z0LkRlc2t0b3BWaXJ0dWFsaXphdGlvbi93b3Jrc3BhY2VzL3dvcmtzcGFjZTE= + x-powered-by: + - ASP.NET + x-rate-limit-limit: + - '0' + x-rate-limit-remaining: + - '9223372036854775807' + x-rate-limit-reset: + - '0' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization workspace list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-desktopvirtualization/1.0.0b1 Python/3.9.5 + (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces?api-version=2021-07-12 + response: + body: + string: '{"value":[{"name":"workspace1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1","type":"Microsoft.DesktopVirtualization/workspaces","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"systemData":{"createdBy":"zelinwang@microsoft.com","createdByType":"User","createdAt":"2022-03-25T10:59:10.15Z","lastModifiedBy":"zelinwang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-25T10:59:10.15Z"},"properties":{"description":"des1","friendlyName":"friendly","applicationGroupReferences":[],"cloudPcResource":false,"publicNetworkAccess":null,"objectId":"5b6de428-d34f-4dbe-b6a3-d10b0d3738f0"}}],"nextLink":null}' + headers: + cache-control: + - no-cache + content-length: + - '752' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Mar 2022 10:59:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=8709cede3dff6cc96c3687614f6f6d07d26f1b7354152bf58fb5a84fbfd96a8a;Path=/;HttpOnly;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + - ARRAffinitySameSite=8709cede3dff6cc96c3687614f6f6d07d26f1b7354152bf58fb5a84fbfd96a8a;Path=/;HttpOnly;SameSite=None;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 1c5362d8-f3fc-46b1-af86-12d6ab9f3db6 + x-ms-lamport-ts: + - '2230672780' + x-ms-opsarmpath64: + - L3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaXRlc3Q3ZzNpcm5jZHRxM3JrMzVsZHlwYTZobWh1NDd2eXF4YmZla3ZiNndpZnFtNjRscWF5Z3l5NHdjenpuM2l1dTRlbW92Mw== + x-powered-by: + - ASP.NET + x-rate-limit-limit: + - '0' + x-rate-limit-remaining: + - '9223372036854775807' + x-rate-limit-reset: + - '0' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization workspace list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-desktopvirtualization/1.0.0b1 Python/3.9.5 + (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DesktopVirtualization/workspaces?api-version=2021-07-12 + response: + body: + string: '{"value":[{"name":"workspace1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1","type":"Microsoft.DesktopVirtualization/workspaces","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"systemData":{"createdBy":"zelinwang@microsoft.com","createdByType":"User","createdAt":"2022-03-25T10:59:10.15Z","lastModifiedBy":"zelinwang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-25T10:59:10.15Z"},"properties":{"description":"des1","friendlyName":"friendly","applicationGroupReferences":[],"cloudPcResource":false,"publicNetworkAccess":null,"objectId":"5b6de428-d34f-4dbe-b6a3-d10b0d3738f0"}}],"nextLink":null}' + headers: + cache-control: + - no-cache + content-length: + - '752' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Mar 2022 10:59:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=607acc0b60c99d398a1b4a887b17d42dc08c6889973dd3e1514cc34bb8598dbf;Path=/;HttpOnly;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + - ARRAffinitySameSite=607acc0b60c99d398a1b4a887b17d42dc08c6889973dd3e1514cc34bb8598dbf;Path=/;HttpOnly;SameSite=None;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 732a7cf4-034c-48da-92e3-a8303000dc4a + x-ms-lamport-ts: + - '2230672563' + x-ms-opsarmpath64: + - L3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkw + x-powered-by: + - ASP.NET + x-rate-limit-limit: + - '0' + x-rate-limit-remaining: + - '9223372036854775807' + x-rate-limit-reset: + - '0' + status: + code: 200 + message: OK +- request: + body: '{"tags": {"tag1": "value1", "tag2": "value2"}, "properties": {"description": + "des1", "friendlyName": "friendly"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization workspace update + Connection: + - keep-alive + Content-Length: + - '113' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --description --friendly-name --tags --name + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-desktopvirtualization/1.0.0b1 Python/3.9.5 + (Windows-10-10.0.19044-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1?api-version=2021-07-12 + response: + body: + string: '{"name":"workspace1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1","type":"Microsoft.DesktopVirtualization/workspaces","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"systemData":{"createdBy":"zelinwang@microsoft.com","createdByType":"User","createdAt":"2022-03-25T10:59:10.15Z","lastModifiedBy":"zelinwang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-25T10:59:21.30Z"},"properties":{"description":"des1","friendlyName":"friendly","applicationGroupReferences":[],"cloudPcResource":false,"publicNetworkAccess":null,"objectId":"5b6de428-d34f-4dbe-b6a3-d10b0d3738f0"}}' + headers: + cache-control: + - no-cache + content-length: + - '724' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Mar 2022 10:59:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=dfef65d5d005decdf16ca6c5670ca470d3b3147889c1170e73f46a07f21ca5ae;Path=/;HttpOnly;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + - ARRAffinitySameSite=dfef65d5d005decdf16ca6c5670ca470d3b3147889c1170e73f46a07f21ca5ae;Path=/;HttpOnly;SameSite=None;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - 3e712508-c56e-4392-85b7-0c3904d27e6f + x-ms-lamport-ts: + - '2230669971' + x-ms-opsarmpath64: + - L3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaXRlc3Q3ZzNpcm5jZHRxM3JrMzVsZHlwYTZobWh1NDd2eXF4YmZla3ZiNndpZnFtNjRscWF5Z3l5NHdjenpuM2l1dTRlbW92My9wcm92aWRlcnMvTWljcm9zb2Z0LkRlc2t0b3BWaXJ0dWFsaXphdGlvbi93b3Jrc3BhY2VzL3dvcmtzcGFjZTE= + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + x-rate-limit-limit: + - '0' + x-rate-limit-remaining: + - '9223372036854775807' + x-rate-limit-reset: + - '0' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - desktopvirtualization workspace delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-desktopvirtualization/1.0.0b1 Python/3.9.5 + (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1?api-version=2021-07-12 + response: + body: + string: '{"name":"workspace1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.DesktopVirtualization/workspaces/workspace1","type":"Microsoft.DesktopVirtualization/workspaces","location":"centralus","tags":{"tag1":"value1","tag2":"value2"},"kind":null,"systemData":null,"properties":{"description":"des1","friendlyName":"friendly","applicationGroupReferences":[],"cloudPcResource":false,"publicNetworkAccess":null,"objectId":"5b6de428-d34f-4dbe-b6a3-d10b0d3738f0"}}' + headers: + cache-control: + - no-cache + content-length: + - '514' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 25 Mar 2022 10:59:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=7370067215f49a50b9568dd2af2b20f273b5ad9b4ce5a0042e2457ca35096ce0;Path=/;HttpOnly;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + - ARRAffinitySameSite=7370067215f49a50b9568dd2af2b20f273b5ad9b4ce5a0042e2457ca35096ce0;Path=/;HttpOnly;SameSite=None;Secure;Domain=rdarmprovider-g-us-r0.wvd.microsoft.com + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-correlation-id: + - eaa85797-77ab-4060-a209-a18cc51fa6a5 + x-ms-lamport-ts: + - '2230670025' + x-ms-opsarmpath64: + - L3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaXRlc3Q3ZzNpcm5jZHRxM3JrMzVsZHlwYTZobWh1NDd2eXF4YmZla3ZiNndpZnFtNjRscWF5Z3l5NHdjenpuM2l1dTRlbW92My9wcm92aWRlcnMvTWljcm9zb2Z0LkRlc2t0b3BWaXJ0dWFsaXphdGlvbi93b3Jrc3BhY2VzL3dvcmtzcGFjZTE= + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + x-rate-limit-limit: + - '0' + x-rate-limit-remaining: + - '9223372036854775807' + x-rate-limit-reset: + - '0' + status: + code: 200 + message: OK +version: 1 diff --git a/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/test_desktopvirtualization_scenario.py b/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/test_desktopvirtualization_scenario.py index b7e6600e568..2501ff63724 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/test_desktopvirtualization_scenario.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/tests/latest/test_desktopvirtualization_scenario.py @@ -10,248 +10,165 @@ import os from azure.cli.testsdk import ScenarioTest -from .. import try_manual, raise_if from azure.cli.testsdk import ResourceGroupPreparer +from .example_steps import step_hostpool_create +from .example_steps import step_hostpool_show +from .example_steps import step_hostpool_list +from .example_steps import step_hostpool_list2 +from .example_steps import step_hostpool_update +from .example_steps import step_hostpool_retrieve_registration_token +from .example_steps import step_applicationgroup_create +from .example_steps import step_applicationgroup_show +from .example_steps import step_applicationgroup_list +from .example_steps import step_applicationgroup_list2 +from .example_steps import step_applicationgroup_update +from .example_steps import step_applicationgroup_delete +from .example_steps import step_hostpool_delete +from .example_steps import step_workspace_create +from .example_steps import step_workspace_show +from .example_steps import step_workspace_list +from .example_steps import step_workspace_list2 +from .example_steps import step_workspace_update +from .example_steps import step_workspace_delete +from .. import ( + try_manual, + raise_if, + calc_coverage +) TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) +# Env setup_scenario @try_manual -def setup(test, rg): +def setup_scenario(test): pass -# EXAMPLE: /HostPools/put/HostPool_Create +# Env cleanup_scenario @try_manual -def step__hostpools_put_hostpool_create(test, rg): - test.cmd('az desktopvirtualization hostpool create ' - '--location "centralus" ' - '--description "des1" ' - '--friendly-name "friendly" ' - '--host-pool-type "Pooled" ' - '--load-balancer-type "BreadthFirst" ' - '--max-session-limit 999999 ' - '--personal-desktop-assignment-type "Automatic" ' - '--registration-info expiration-time="2020-08-20T08:57:45.479Z" registration-token-operation="Update" ' - '--sso-context "KeyVaultPath" ' - '--tags tag1="value1" tag2="value2" ' - '--name "{myHostPool}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: /HostPools/get/HostPool_Get -@try_manual -def step__hostpools_get_hostpool_get(test, rg): - test.cmd('az desktopvirtualization hostpool show ' - '--name "{myHostPool}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: /HostPools/get/HostPool_List -@try_manual -def step__hostpools_get_hostpool_list(test, rg): - test.cmd('az desktopvirtualization hostpool list ' - '-g ""', - checks=[]) - - -# EXAMPLE: /HostPools/get/HostPool_ListByResourceGroup -@try_manual -def step__hostpools_get_hostpool_listbyresourcegroup(test, rg): - test.cmd('az desktopvirtualization hostpool list ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: /HostPools/patch/HostPool_Update -@try_manual -def step__hostpools_patch_hostpool_update(test, rg): - test.cmd('az desktopvirtualization hostpool update ' - '--description "des1" ' - '--friendly-name "friendly" ' - '--load-balancer-type "BreadthFirst" ' - '--max-session-limit 999999 ' - '--personal-desktop-assignment-type "Automatic" ' - '--registration-info expiration-time="2020-08-20T08:57:45.522Z" registration-token-operation="Update" ' - '--sso-context "KeyVaultPath" ' - '--tags tag1="value1" tag2="value2" ' - '--name "{myHostPool}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: /ApplicationGroups/put/ApplicationGroup_Create -@try_manual -def step__applicationgroups_put_applicationgroup_create(test, rg): - test.cmd('az desktopvirtualization applicationgroup create ' - '--location "centralus" ' - '--description "des1" ' - '--application-group-type "RemoteApp" ' - '--friendly-name "friendly" ' - '--host-pool-arm-path "/subscriptions/{subscription_id}/resourcegroups/{rg}/providers/Microsoft.DesktopVir' - 'tualization/hostpools/{myHostPool}" ' - '--tags tag1="value1" tag2="value2" ' - '--name "{myApplicationGroup}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: /ApplicationGroups/get/ApplicationGroup_Get -@try_manual -def step__applicationgroups_get_applicationgroup_get(test, rg): - test.cmd('az desktopvirtualization applicationgroup show ' - '--name "{myApplicationGroup}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: /ApplicationGroups/get/ApplicationGroup_List -@try_manual -def step__applicationgroups_get_applicationgroup_list(test, rg): - test.cmd('az desktopvirtualization applicationgroup list ' - '--filter "applicationGroupType eq \'RailApplication\'" ' - '-g ""', - checks=[]) - - -# EXAMPLE: /ApplicationGroups/get/ApplicationGroup_ListByResourceGroup -@try_manual -def step__applicationgroups_get_applicationgroup_listbyresourcegroup(test, rg): - test.cmd('az desktopvirtualization applicationgroup list ' - '--filter "applicationGroupType eq \'RailApplication\'" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: /ApplicationGroups/patch/ApplicationGroups_Update -@try_manual -def step__applicationgroups_patch_applicationgroups_update(test, rg): - test.cmd('az desktopvirtualization applicationgroup update ' - '--description "des1" ' - '--friendly-name "friendly" ' - '--tags tag1="value1" tag2="value2" ' - '--name "{myApplicationGroup}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: /ApplicationGroups/delete/ApplicationGroup_Delete -@try_manual -def step__applicationgroups_delete_applicationgroup_delete(test, rg): - test.cmd('az desktopvirtualization applicationgroup delete ' - '--name "{myApplicationGroup}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: /Workspaces/put/Workspace_Create -@try_manual -def step__workspaces_put_workspace_create(test, rg): - test.cmd('az desktopvirtualization workspace create ' - '--resource-group "{rg}" ' - '--location "centralus" ' - '--description "des1" ' - '--friendly-name "friendly" ' - '--tags tag1="value1" tag2="value2" ' - '--name "{myWorkspace}"', - checks=[]) - - -# EXAMPLE: /Workspaces/get/Workspace_Get -@try_manual -def step__workspaces_get_workspace_get(test, rg): - test.cmd('az desktopvirtualization workspace show ' - '--resource-group "{rg}" ' - '--name "{myWorkspace}"', - checks=[]) - - -# EXAMPLE: /Workspaces/get/Workspace_ListByResourceGroup -@try_manual -def step__workspaces_get_workspace_listbyresourcegroup(test, rg): - test.cmd('az desktopvirtualization workspace list ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: /Workspaces/get/Workspace_ListBySubscription -@try_manual -def step__workspaces_get_workspace_listbysubscription(test, rg): - test.cmd('az desktopvirtualization workspace list ' - '-g ""', - checks=[]) - - -# EXAMPLE: /Workspaces/patch/Workspace_Update -@try_manual -def step__workspaces_patch_workspace_update(test, rg): - test.cmd('az desktopvirtualization workspace update ' - '--resource-group "{rg}" ' - '--description "des1" ' - '--friendly-name "friendly" ' - '--tags tag1="value1" tag2="value2" ' - '--name "{myWorkspace}"', - checks=[]) - - -# EXAMPLE: /HostPools/delete/HostPool_Delete -@try_manual -def step__hostpools_delete_hostpool_delete(test, rg): - test.cmd('az desktopvirtualization hostpool delete ' - '--force true ' - '--name "{myHostPool}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: /Workspaces/delete/Workspace_Delete -@try_manual -def step__workspaces_delete_workspace_delete(test, rg): - test.cmd('az desktopvirtualization workspace delete ' - '--resource-group "{rg}" ' - '--name "{myWorkspace}"', - checks=[]) - - -@try_manual -def cleanup(test, rg): +def cleanup_scenario(test): pass -@try_manual -def call_scenario(test, rg): - setup(test, rg) - step__hostpools_put_hostpool_create(test, rg) - step__hostpools_get_hostpool_get(test, rg) - step__hostpools_get_hostpool_list(test, rg) - step__hostpools_get_hostpool_listbyresourcegroup(test, rg) - step__hostpools_patch_hostpool_update(test, rg) - step__applicationgroups_put_applicationgroup_create(test, rg) - step__applicationgroups_get_applicationgroup_get(test, rg) - step__applicationgroups_get_applicationgroup_list(test, rg) - step__applicationgroups_get_applicationgroup_listbyresourcegroup(test, rg) - step__applicationgroups_patch_applicationgroups_update(test, rg) - step__applicationgroups_delete_applicationgroup_delete(test, rg) - step__workspaces_put_workspace_create(test, rg) - step__workspaces_get_workspace_get(test, rg) - step__workspaces_get_workspace_listbyresourcegroup(test, rg) - step__workspaces_get_workspace_listbysubscription(test, rg) - step__workspaces_patch_workspace_update(test, rg) - step__hostpools_delete_hostpool_delete(test, rg) - step__workspaces_delete_workspace_delete(test, rg) - cleanup(test, rg) - - -@try_manual -class DesktopVirtualizationAPIClientScenarioTest(ScenarioTest): - - @ResourceGroupPreparer(name_prefix='clitestdesktopvirtualization_resourceGroup1'[:7], key='rg', - parameter_name='rg') - def test_desktopvirtualization(self, rg): - +# Testcase: Scenario +@try_manual +def call_scenario(test): + setup_scenario(test) + + step_hostpool_create(test, checks=[ + test.check("location", "centralus", case_sensitive=False), + test.check("description", "des1", case_sensitive=False), + test.check("friendlyName", "friendly", case_sensitive=False), + test.check("hostPoolType", "Pooled", case_sensitive=False), + test.check("loadBalancerType", "BreadthFirst", case_sensitive=False), + test.check("maxSessionLimit", 999999), + test.check("preferredAppGroupType", "Desktop", case_sensitive=False), + test.check("ssoClientId", "client", case_sensitive=False), + test.check("ssoClientSecretKeyVaultPath", "https://keyvault/secret", case_sensitive=False), + test.check("ssoSecretType", "SharedKey", case_sensitive=False), + test.check("name", "{myHostPool}", case_sensitive=False), + ]) + step_hostpool_show(test, checks=[ + test.check("location", "centralus", case_sensitive=False), + test.check("description", "des1", case_sensitive=False), + test.check("friendlyName", "friendly", case_sensitive=False), + test.check("hostPoolType", "Pooled", case_sensitive=False), + test.check("loadBalancerType", "BreadthFirst", case_sensitive=False), + test.check("maxSessionLimit", 999999), + test.check("preferredAppGroupType", "Desktop", case_sensitive=False), + test.check("ssoClientId", "client", case_sensitive=False), + test.check("ssoClientSecretKeyVaultPath", "https://keyvault/secret", case_sensitive=False), + test.check("ssoSecretType", "SharedKey", case_sensitive=False), + test.check("name", "{myHostPool}", case_sensitive=False), + ]) + step_hostpool_list(test, checks=[ + test.check('length(@)', 1), + ]) + step_hostpool_list2(test, checks=[ + test.check('length(@)', 1), + ]) + step_hostpool_update(test, checks=[ + test.check("location", "centralus", case_sensitive=False), + test.check("description", "des1", case_sensitive=False), + test.check("friendlyName", "friendly", case_sensitive=False), + test.check("hostPoolType", "Pooled", case_sensitive=False), + test.check("loadBalancerType", "BreadthFirst", case_sensitive=False), + test.check("maxSessionLimit", 999999), + test.check("preferredAppGroupType", "Desktop", case_sensitive=False), + test.check("ssoClientId", "client", case_sensitive=False), + test.check("ssoClientSecretKeyVaultPath", "https://keyvault/secret", case_sensitive=False), + test.check("ssoSecretType", "SharedKey", case_sensitive=False), + test.check("name", "{myHostPool}", case_sensitive=False), + ]) + step_hostpool_retrieve_registration_token(test, checks=[]) + + step_applicationgroup_create(test, checks=[ + test.check("location", "centralus", case_sensitive=False), + test.check("description", "des1", case_sensitive=False), + test.check("applicationGroupType", "RemoteApp", case_sensitive=False), + test.check("friendlyName", "friendly", case_sensitive=False), + test.check("hostPoolArmPath", "/subscriptions/{subscription_id}/resourceGroups/{rg}/providers/Microsoft.Desktop" + "Virtualization/hostPools/{myHostPool}", case_sensitive=False), + test.check("name", "{myApplicationGroup}", case_sensitive=False), + ]) + step_applicationgroup_show(test, checks=[ + test.check("location", "centralus", case_sensitive=False), + test.check("description", "des1", case_sensitive=False), + test.check("applicationGroupType", "RemoteApp", case_sensitive=False), + test.check("friendlyName", "friendly", case_sensitive=False), + test.check("hostPoolArmPath", "/subscriptions/{subscription_id}/resourceGroups/{rg}/providers/Microsoft.Desktop" + "Virtualization/hostPools/{myHostPool}", case_sensitive=False), + test.check("name", "{myApplicationGroup}", case_sensitive=False), + ]) + step_applicationgroup_list(test, checks=[]) + step_applicationgroup_list2(test, checks=[]) + step_applicationgroup_update(test, checks=[ + test.check("location", "centralus", case_sensitive=False), + test.check("description", "des1", case_sensitive=False), + test.check("applicationGroupType", "RemoteApp", case_sensitive=False), + test.check("friendlyName", "friendly", case_sensitive=False), + test.check("hostPoolArmPath", "/subscriptions/{subscription_id}/resourceGroups/{rg}/providers/Microsoft.Desktop" + "Virtualization/hostPools/{myHostPool}", case_sensitive=False), + test.check("name", "{myApplicationGroup}", case_sensitive=False), + ]) + step_applicationgroup_delete(test, checks=[]) + + step_hostpool_delete(test, checks=[]) + step_workspace_create(test, checks=[ + test.check("location", "centralus", case_sensitive=False), + test.check("description", "des1", case_sensitive=False), + test.check("friendlyName", "friendly", case_sensitive=False), + test.check("name", "{myWorkspace}", case_sensitive=False), + ]) + step_workspace_show(test, checks=[ + test.check("location", "centralus", case_sensitive=False), + test.check("description", "des1", case_sensitive=False), + test.check("friendlyName", "friendly", case_sensitive=False), + test.check("name", "{myWorkspace}", case_sensitive=False), + ]) + step_workspace_list(test, checks=[ + test.check('length(@)', 1), + ]) + step_workspace_list2(test, checks=[ + test.check('length(@)', 1), + ]) + step_workspace_update(test, checks=[ + test.check("location", "centralus", case_sensitive=False), + test.check("description", "des1", case_sensitive=False), + test.check("friendlyName", "friendly", case_sensitive=False), + test.check("name", "{myWorkspace}", case_sensitive=False), + ]) + step_workspace_delete(test, checks=[]) + cleanup_scenario(test) + + +# Test class for Scenario +@try_manual +class DesktopvirtualizationScenarioTest(ScenarioTest): + def __init__(self, *args, **kwargs): + super(DesktopvirtualizationScenarioTest, self).__init__(*args, **kwargs) self.kwargs.update({ 'subscription_id': self.get_subscription_id() }) @@ -259,8 +176,14 @@ def test_desktopvirtualization(self, rg): self.kwargs.update({ 'myWorkspace': 'workspace1', 'myHostPool': 'hostPool1', + 'myHostPool2': 'hostPool2', + 'myScalingPlan': 'scalingPlan1', 'myApplicationGroup': 'applicationGroup1', }) - call_scenario(self, rg) + @ResourceGroupPreparer(name_prefix='clitestdesktopvirtualization_resourceGroup1'[:7], key='rg', + parameter_name='rg', location='centralus') + def test_desktopvirtualization_Scenario(self, rg): + call_scenario(self) + calc_coverage(__file__) raise_if() diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/__init__.py index d4c9600e5ab..fcebd4b5654 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/__init__.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/__init__.py @@ -7,10 +7,13 @@ # -------------------------------------------------------------------------- from ._desktop_virtualization_api_client import DesktopVirtualizationAPIClient +from ._version import VERSION + +__version__ = VERSION __all__ = ['DesktopVirtualizationAPIClient'] try: - from ._patch import patch_sdk + from ._patch import patch_sdk # type: ignore patch_sdk() except ImportError: pass diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_configuration.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_configuration.py index ff8530a3c79..fa566f2c1ac 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_configuration.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_configuration.py @@ -10,6 +10,9 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +from ._version import VERSION if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports @@ -17,7 +20,6 @@ from azure.core.credentials import TokenCredential -VERSION = "unknown" class DesktopVirtualizationAPIClientConfiguration(Configuration): """Configuration for DesktopVirtualizationAPIClient. @@ -46,10 +48,9 @@ def __init__( self.credential = credential self.subscription_id = subscription_id - self.api_version = "2019-12-10-preview" - self.credential_scopes = ['https://management.azure.com/.default'] - self.credential_scopes.extend(kwargs.pop('credential_scopes', [])) - kwargs.setdefault('sdk_moniker', 'desktopvirtualizationapiclient/{}'.format(VERSION)) + self.api_version = "2021-07-12" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-desktopvirtualization/{}'.format(VERSION)) self._configure(**kwargs) def _configure( @@ -61,6 +62,7 @@ def _configure( self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_desktop_virtualization_api_client.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_desktop_virtualization_api_client.py index b772c438678..790cf05b1f2 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_desktop_virtualization_api_client.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_desktop_virtualization_api_client.py @@ -18,51 +18,53 @@ from azure.core.credentials import TokenCredential from ._configuration import DesktopVirtualizationAPIClientConfiguration -from .operations import OperationOperations -from .operations import WorkspaceOperations -from .operations import ApplicationGroupAssignmentOperations -from .operations import ApplicationGroupOperations -from .operations import StartMenuItemOperations -from .operations import ApplicationOperations -from .operations import DesktopOperations -from .operations import HostPoolOperations -from .operations import UserSessionOperations -from .operations import SessionHostOperations -from .operations import ActiveApplicationOperations +from .operations import Operations +from .operations import WorkspacesOperations +from .operations import ScalingPlansOperations +from .operations import ApplicationGroupsOperations +from .operations import StartMenuItemsOperations +from .operations import ApplicationsOperations +from .operations import DesktopsOperations +from .operations import HostPoolsOperations +from .operations import UserSessionsOperations +from .operations import SessionHostsOperations +from .operations import MsixPackagesOperations +from .operations import MsixImagesOperations from . import models class DesktopVirtualizationAPIClient(object): """DesktopVirtualizationAPIClient. - :ivar operation: OperationOperations operations - :vartype operation: desktop_virtualization_api_client.operations.OperationOperations - :ivar workspace: WorkspaceOperations operations - :vartype workspace: desktop_virtualization_api_client.operations.WorkspaceOperations - :ivar application_group_assignment: ApplicationGroupAssignmentOperations operations - :vartype application_group_assignment: desktop_virtualization_api_client.operations.ApplicationGroupAssignmentOperations - :ivar application_group: ApplicationGroupOperations operations - :vartype application_group: desktop_virtualization_api_client.operations.ApplicationGroupOperations - :ivar start_menu_item: StartMenuItemOperations operations - :vartype start_menu_item: desktop_virtualization_api_client.operations.StartMenuItemOperations - :ivar application: ApplicationOperations operations - :vartype application: desktop_virtualization_api_client.operations.ApplicationOperations - :ivar desktop: DesktopOperations operations - :vartype desktop: desktop_virtualization_api_client.operations.DesktopOperations - :ivar host_pool: HostPoolOperations operations - :vartype host_pool: desktop_virtualization_api_client.operations.HostPoolOperations - :ivar user_session: UserSessionOperations operations - :vartype user_session: desktop_virtualization_api_client.operations.UserSessionOperations - :ivar session_host: SessionHostOperations operations - :vartype session_host: desktop_virtualization_api_client.operations.SessionHostOperations - :ivar active_application: ActiveApplicationOperations operations - :vartype active_application: desktop_virtualization_api_client.operations.ActiveApplicationOperations + :ivar operations: Operations operations + :vartype operations: desktop_virtualization_api_client.operations.Operations + :ivar workspaces: WorkspacesOperations operations + :vartype workspaces: desktop_virtualization_api_client.operations.WorkspacesOperations + :ivar scaling_plans: ScalingPlansOperations operations + :vartype scaling_plans: desktop_virtualization_api_client.operations.ScalingPlansOperations + :ivar application_groups: ApplicationGroupsOperations operations + :vartype application_groups: desktop_virtualization_api_client.operations.ApplicationGroupsOperations + :ivar start_menu_items: StartMenuItemsOperations operations + :vartype start_menu_items: desktop_virtualization_api_client.operations.StartMenuItemsOperations + :ivar applications: ApplicationsOperations operations + :vartype applications: desktop_virtualization_api_client.operations.ApplicationsOperations + :ivar desktops: DesktopsOperations operations + :vartype desktops: desktop_virtualization_api_client.operations.DesktopsOperations + :ivar host_pools: HostPoolsOperations operations + :vartype host_pools: desktop_virtualization_api_client.operations.HostPoolsOperations + :ivar user_sessions: UserSessionsOperations operations + :vartype user_sessions: desktop_virtualization_api_client.operations.UserSessionsOperations + :ivar session_hosts: SessionHostsOperations operations + :vartype session_hosts: desktop_virtualization_api_client.operations.SessionHostsOperations + :ivar msix_packages: MsixPackagesOperations operations + :vartype msix_packages: desktop_virtualization_api_client.operations.MsixPackagesOperations + :ivar msix_images: MsixImagesOperations operations + :vartype msix_images: desktop_virtualization_api_client.operations.MsixImagesOperations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The ID of the target subscription. :type subscription_id: str :param str base_url: Service URL - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ def __init__( @@ -80,29 +82,32 @@ def __init__( client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) + self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) - self.operation = OperationOperations( + self.operations = Operations( self._client, self._config, self._serialize, self._deserialize) - self.workspace = WorkspaceOperations( + self.workspaces = WorkspacesOperations( self._client, self._config, self._serialize, self._deserialize) - self.application_group_assignment = ApplicationGroupAssignmentOperations( + self.scaling_plans = ScalingPlansOperations( self._client, self._config, self._serialize, self._deserialize) - self.application_group = ApplicationGroupOperations( + self.application_groups = ApplicationGroupsOperations( self._client, self._config, self._serialize, self._deserialize) - self.start_menu_item = StartMenuItemOperations( + self.start_menu_items = StartMenuItemsOperations( self._client, self._config, self._serialize, self._deserialize) - self.application = ApplicationOperations( + self.applications = ApplicationsOperations( self._client, self._config, self._serialize, self._deserialize) - self.desktop = DesktopOperations( + self.desktops = DesktopsOperations( self._client, self._config, self._serialize, self._deserialize) - self.host_pool = HostPoolOperations( + self.host_pools = HostPoolsOperations( self._client, self._config, self._serialize, self._deserialize) - self.user_session = UserSessionOperations( + self.user_sessions = UserSessionsOperations( self._client, self._config, self._serialize, self._deserialize) - self.session_host = SessionHostOperations( + self.session_hosts = SessionHostsOperations( self._client, self._config, self._serialize, self._deserialize) - self.active_application = ActiveApplicationOperations( + self.msix_packages = MsixPackagesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.msix_images = MsixImagesOperations( self._client, self._config, self._serialize, self._deserialize) def close(self): diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_version.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_version.py index 035146e99a2..e5754a47ce6 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_version.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "0.2.0" +VERSION = "1.0.0b1" diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/__init__.py index 541fe112221..3160c7b3c30 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/__init__.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/__init__.py @@ -6,5 +6,5 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._desktop_virtualization_api_client_async import DesktopVirtualizationAPIClient +from ._desktop_virtualization_api_client import DesktopVirtualizationAPIClient __all__ = ['DesktopVirtualizationAPIClient'] diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/_configuration_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/_configuration.py similarity index 86% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/_configuration_async.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/_configuration.py index e6ea359defd..cf5dbe17ec0 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/_configuration_async.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/_configuration.py @@ -10,12 +10,14 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +from .._version import VERSION if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential -VERSION = "unknown" class DesktopVirtualizationAPIClientConfiguration(Configuration): """Configuration for DesktopVirtualizationAPIClient. @@ -43,10 +45,9 @@ def __init__( self.credential = credential self.subscription_id = subscription_id - self.api_version = "2019-12-10-preview" - self.credential_scopes = ['https://management.azure.com/.default'] - self.credential_scopes.extend(kwargs.pop('credential_scopes', [])) - kwargs.setdefault('sdk_moniker', 'desktopvirtualizationapiclient/{}'.format(VERSION)) + self.api_version = "2021-07-12" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-desktopvirtualization/{}'.format(VERSION)) self._configure(**kwargs) def _configure( @@ -57,6 +58,7 @@ def _configure( self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/_desktop_virtualization_api_client.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/_desktop_virtualization_api_client.py new file mode 100644 index 00000000000..3b740dd0647 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/_desktop_virtualization_api_client.py @@ -0,0 +1,118 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional, TYPE_CHECKING + +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +from ._configuration import DesktopVirtualizationAPIClientConfiguration +from .operations import Operations +from .operations import WorkspacesOperations +from .operations import ScalingPlansOperations +from .operations import ApplicationGroupsOperations +from .operations import StartMenuItemsOperations +from .operations import ApplicationsOperations +from .operations import DesktopsOperations +from .operations import HostPoolsOperations +from .operations import UserSessionsOperations +from .operations import SessionHostsOperations +from .operations import MsixPackagesOperations +from .operations import MsixImagesOperations +from .. import models + + +class DesktopVirtualizationAPIClient(object): + """DesktopVirtualizationAPIClient. + + :ivar operations: Operations operations + :vartype operations: desktop_virtualization_api_client.aio.operations.Operations + :ivar workspaces: WorkspacesOperations operations + :vartype workspaces: desktop_virtualization_api_client.aio.operations.WorkspacesOperations + :ivar scaling_plans: ScalingPlansOperations operations + :vartype scaling_plans: desktop_virtualization_api_client.aio.operations.ScalingPlansOperations + :ivar application_groups: ApplicationGroupsOperations operations + :vartype application_groups: desktop_virtualization_api_client.aio.operations.ApplicationGroupsOperations + :ivar start_menu_items: StartMenuItemsOperations operations + :vartype start_menu_items: desktop_virtualization_api_client.aio.operations.StartMenuItemsOperations + :ivar applications: ApplicationsOperations operations + :vartype applications: desktop_virtualization_api_client.aio.operations.ApplicationsOperations + :ivar desktops: DesktopsOperations operations + :vartype desktops: desktop_virtualization_api_client.aio.operations.DesktopsOperations + :ivar host_pools: HostPoolsOperations operations + :vartype host_pools: desktop_virtualization_api_client.aio.operations.HostPoolsOperations + :ivar user_sessions: UserSessionsOperations operations + :vartype user_sessions: desktop_virtualization_api_client.aio.operations.UserSessionsOperations + :ivar session_hosts: SessionHostsOperations operations + :vartype session_hosts: desktop_virtualization_api_client.aio.operations.SessionHostsOperations + :ivar msix_packages: MsixPackagesOperations operations + :vartype msix_packages: desktop_virtualization_api_client.aio.operations.MsixPackagesOperations + :ivar msix_images: MsixImagesOperations operations + :vartype msix_images: desktop_virtualization_api_client.aio.operations.MsixImagesOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = DesktopVirtualizationAPIClientConfiguration(credential, subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._serialize.client_side_validation = False + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self._config, self._serialize, self._deserialize) + self.workspaces = WorkspacesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.scaling_plans = ScalingPlansOperations( + self._client, self._config, self._serialize, self._deserialize) + self.application_groups = ApplicationGroupsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.start_menu_items = StartMenuItemsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.applications = ApplicationsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.desktops = DesktopsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.host_pools = HostPoolsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.user_sessions = UserSessionsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.session_hosts = SessionHostsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.msix_packages = MsixPackagesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.msix_images = MsixImagesOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "DesktopVirtualizationAPIClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/_desktop_virtualization_api_client_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/_desktop_virtualization_api_client_async.py deleted file mode 100644 index 481123f11c0..00000000000 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/_desktop_virtualization_api_client_async.py +++ /dev/null @@ -1,113 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from typing import Any, Optional, TYPE_CHECKING - -from azure.mgmt.core import AsyncARMPipelineClient -from msrest import Deserializer, Serializer - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from azure.core.credentials_async import AsyncTokenCredential - -from ._configuration_async import DesktopVirtualizationAPIClientConfiguration -from .operations_async import OperationOperations -from .operations_async import WorkspaceOperations -from .operations_async import ApplicationGroupAssignmentOperations -from .operations_async import ApplicationGroupOperations -from .operations_async import StartMenuItemOperations -from .operations_async import ApplicationOperations -from .operations_async import DesktopOperations -from .operations_async import HostPoolOperations -from .operations_async import UserSessionOperations -from .operations_async import SessionHostOperations -from .operations_async import ActiveApplicationOperations -from .. import models - - -class DesktopVirtualizationAPIClient(object): - """DesktopVirtualizationAPIClient. - - :ivar operation: OperationOperations operations - :vartype operation: desktop_virtualization_api_client.aio.operations_async.OperationOperations - :ivar workspace: WorkspaceOperations operations - :vartype workspace: desktop_virtualization_api_client.aio.operations_async.WorkspaceOperations - :ivar application_group_assignment: ApplicationGroupAssignmentOperations operations - :vartype application_group_assignment: desktop_virtualization_api_client.aio.operations_async.ApplicationGroupAssignmentOperations - :ivar application_group: ApplicationGroupOperations operations - :vartype application_group: desktop_virtualization_api_client.aio.operations_async.ApplicationGroupOperations - :ivar start_menu_item: StartMenuItemOperations operations - :vartype start_menu_item: desktop_virtualization_api_client.aio.operations_async.StartMenuItemOperations - :ivar application: ApplicationOperations operations - :vartype application: desktop_virtualization_api_client.aio.operations_async.ApplicationOperations - :ivar desktop: DesktopOperations operations - :vartype desktop: desktop_virtualization_api_client.aio.operations_async.DesktopOperations - :ivar host_pool: HostPoolOperations operations - :vartype host_pool: desktop_virtualization_api_client.aio.operations_async.HostPoolOperations - :ivar user_session: UserSessionOperations operations - :vartype user_session: desktop_virtualization_api_client.aio.operations_async.UserSessionOperations - :ivar session_host: SessionHostOperations operations - :vartype session_host: desktop_virtualization_api_client.aio.operations_async.SessionHostOperations - :ivar active_application: ActiveApplicationOperations operations - :vartype active_application: desktop_virtualization_api_client.aio.operations_async.ActiveApplicationOperations - :param credential: Credential needed for the client to connect to Azure. - :type credential: ~azure.core.credentials_async.AsyncTokenCredential - :param subscription_id: The ID of the target subscription. - :type subscription_id: str - :param str base_url: Service URL - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - """ - - def __init__( - self, - credential: "AsyncTokenCredential", - subscription_id: str, - base_url: Optional[str] = None, - **kwargs: Any - ) -> None: - if not base_url: - base_url = 'https://management.azure.com' - self._config = DesktopVirtualizationAPIClientConfiguration(credential, subscription_id, **kwargs) - self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) - - client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self._serialize = Serializer(client_models) - self._deserialize = Deserializer(client_models) - - self.operation = OperationOperations( - self._client, self._config, self._serialize, self._deserialize) - self.workspace = WorkspaceOperations( - self._client, self._config, self._serialize, self._deserialize) - self.application_group_assignment = ApplicationGroupAssignmentOperations( - self._client, self._config, self._serialize, self._deserialize) - self.application_group = ApplicationGroupOperations( - self._client, self._config, self._serialize, self._deserialize) - self.start_menu_item = StartMenuItemOperations( - self._client, self._config, self._serialize, self._deserialize) - self.application = ApplicationOperations( - self._client, self._config, self._serialize, self._deserialize) - self.desktop = DesktopOperations( - self._client, self._config, self._serialize, self._deserialize) - self.host_pool = HostPoolOperations( - self._client, self._config, self._serialize, self._deserialize) - self.user_session = UserSessionOperations( - self._client, self._config, self._serialize, self._deserialize) - self.session_host = SessionHostOperations( - self._client, self._config, self._serialize, self._deserialize) - self.active_application = ActiveApplicationOperations( - self._client, self._config, self._serialize, self._deserialize) - - async def close(self) -> None: - await self._client.close() - - async def __aenter__(self) -> "DesktopVirtualizationAPIClient": - await self._client.__aenter__() - return self - - async def __aexit__(self, *exc_details) -> None: - await self._client.__aexit__(*exc_details) diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/__init__.py new file mode 100644 index 00000000000..7fecc9b4d93 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/__init__.py @@ -0,0 +1,35 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ._workspaces_operations import WorkspacesOperations +from ._scaling_plans_operations import ScalingPlansOperations +from ._application_groups_operations import ApplicationGroupsOperations +from ._start_menu_items_operations import StartMenuItemsOperations +from ._applications_operations import ApplicationsOperations +from ._desktops_operations import DesktopsOperations +from ._host_pools_operations import HostPoolsOperations +from ._user_sessions_operations import UserSessionsOperations +from ._session_hosts_operations import SessionHostsOperations +from ._msix_packages_operations import MsixPackagesOperations +from ._msix_images_operations import MsixImagesOperations + +__all__ = [ + 'Operations', + 'WorkspacesOperations', + 'ScalingPlansOperations', + 'ApplicationGroupsOperations', + 'StartMenuItemsOperations', + 'ApplicationsOperations', + 'DesktopsOperations', + 'HostPoolsOperations', + 'UserSessionsOperations', + 'SessionHostsOperations', + 'MsixPackagesOperations', + 'MsixImagesOperations', +] diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_application_group_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_application_groups_operations.py similarity index 82% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_application_group_operations_async.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_application_groups_operations.py index 67d6e2fb3eb..9c717a2a303 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_application_group_operations_async.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_application_groups_operations.py @@ -9,7 +9,7 @@ import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core.exceptions import ARMErrorFormat @@ -19,8 +19,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class ApplicationGroupOperations: - """ApplicationGroupOperations async operations. +class ApplicationGroupsOperations: + """ApplicationGroupsOperations async operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -59,16 +59,19 @@ async def get( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroup"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -78,9 +81,8 @@ async def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -101,12 +103,7 @@ async def create_or_update( self, resource_group_name: str, application_group_name: str, - location: str, - host_pool_arm_path: str, - application_group_type: Union[str, "models.ApplicationGroupType"], - tags: Optional[Dict[str, str]] = None, - description: Optional[str] = None, - friendly_name: Optional[str] = None, + application_group: "models.ApplicationGroup", **kwargs ) -> "models.ApplicationGroup": """Create or update an applicationGroup. @@ -115,37 +112,28 @@ async def create_or_update( :type resource_group_name: str :param application_group_name: The name of the application group. :type application_group_name: str - :param location: The geo-location where the resource lives. - :type location: str - :param host_pool_arm_path: HostPool arm path of ApplicationGroup. - :type host_pool_arm_path: str - :param application_group_type: Resource Type of ApplicationGroup. - :type application_group_type: str or ~desktop_virtualization_api_client.models.ApplicationGroupType - :param tags: Resource tags. - :type tags: dict[str, str] - :param description: Description of ApplicationGroup. - :type description: str - :param friendly_name: Friendly name of ApplicationGroup. - :type friendly_name: str + :param application_group: Object containing ApplicationGroup definitions. + :type application_group: ~desktop_virtualization_api_client.models.ApplicationGroup :keyword callable cls: A custom type or function that will be passed the direct response :return: ApplicationGroup, or the result of cls(response) :rtype: ~desktop_virtualization_api_client.models.ApplicationGroup :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroup"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _application_group = models.ApplicationGroup(tags=tags, location=location, description=description, friendly_name=friendly_name, host_pool_arm_path=host_pool_arm_path, application_group_type=application_group_type) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.create_or_update.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -156,14 +144,12 @@ async def create_or_update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_application_group, 'ApplicationGroup') + body_content = self._serialize.body(application_group, 'ApplicationGroup') body_content_kwargs['content'] = body_content request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -171,7 +157,6 @@ async def create_or_update( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('ApplicationGroup', pipeline_response) @@ -202,16 +187,19 @@ async def delete( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.delete.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -221,8 +209,8 @@ async def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -240,9 +228,7 @@ async def update( self, resource_group_name: str, application_group_name: str, - tags: Optional[Dict[str, str]] = None, - description: Optional[str] = None, - friendly_name: Optional[str] = None, + application_group: Optional["models.ApplicationGroupPatch"] = None, **kwargs ) -> "models.ApplicationGroup": """Update an applicationGroup. @@ -251,31 +237,28 @@ async def update( :type resource_group_name: str :param application_group_name: The name of the application group. :type application_group_name: str - :param tags: tags to be updated. - :type tags: dict[str, str] - :param description: Description of ApplicationGroup. - :type description: str - :param friendly_name: Friendly name of ApplicationGroup. - :type friendly_name: str + :param application_group: Object containing ApplicationGroup definitions. + :type application_group: ~desktop_virtualization_api_client.models.ApplicationGroupPatch :keyword callable cls: A custom type or function that will be passed the direct response :return: ApplicationGroup, or the result of cls(response) :rtype: ~desktop_virtualization_api_client.models.ApplicationGroup :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroup"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _application_group = models.ApplicationGroupPatch(tags=tags, description=description, friendly_name=friendly_name) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.update.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -286,17 +269,15 @@ async def update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - if _application_group is not None: - body_content = self._serialize.body(_application_group, 'ApplicationGroupPatch') + if application_group is not None: + body_content = self._serialize.body(application_group, 'ApplicationGroupPatch') else: body_content = None body_content_kwargs['content'] = body_content request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -323,7 +304,7 @@ def list_by_resource_group( :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param filter: OData filter expression. Valid properties for filtering are - applicationGroupType. + applicationGroupType. :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ApplicationGroupList or the result of cls(response) @@ -331,17 +312,24 @@ def list_by_resource_group( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroupList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list_by_resource_group.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + '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 @@ -350,15 +338,11 @@ def prepare_request(next_link=None): if filter is not None: query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): @@ -393,7 +377,7 @@ def list_by_subscription( """List applicationGroups in subscription. :param filter: OData filter expression. Valid properties for filtering are - applicationGroupType. + applicationGroupType. :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ApplicationGroupList or the result of cls(response) @@ -401,11 +385,18 @@ def list_by_subscription( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroupList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list_by_subscription.metadata['url'] # type: ignore @@ -419,15 +410,11 @@ def prepare_request(next_link=None): if filter is not None: query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_application_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_applications_operations.py similarity index 75% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_application_operations_async.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_applications_operations.py index 2d106a34c43..2be6bf42a8c 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_application_operations_async.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_applications_operations.py @@ -9,7 +9,7 @@ import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core.exceptions import ARMErrorFormat @@ -19,8 +19,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class ApplicationOperations: - """ApplicationOperations async operations. +class ApplicationsOperations: + """ApplicationsOperations async operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -62,16 +62,19 @@ async def get( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Application"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=24, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -82,9 +85,8 @@ async def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -106,14 +108,7 @@ async def create_or_update( resource_group_name: str, application_group_name: str, application_name: str, - command_line_setting: Union[str, "models.CommandLineSetting"], - description: Optional[str] = None, - friendly_name: Optional[str] = None, - file_path: Optional[str] = None, - command_line_arguments: Optional[str] = None, - show_in_portal: Optional[bool] = None, - icon_path: Optional[str] = None, - icon_index: Optional[int] = None, + application: "models.Application", **kwargs ) -> "models.Application": """Create or update an application. @@ -124,44 +119,28 @@ async def create_or_update( :type application_group_name: str :param application_name: The name of the application within the specified application group. :type application_name: str - :param command_line_setting: Specifies whether this published application can be launched with - command line arguments provided by the client, command line arguments specified at publish - time, or no command line arguments at all. - :type command_line_setting: str or ~desktop_virtualization_api_client.models.CommandLineSetting - :param description: Description of Application. - :type description: str - :param friendly_name: Friendly name of Application. - :type friendly_name: str - :param file_path: Specifies a path for the executable file for the application. - :type file_path: str - :param command_line_arguments: Command Line Arguments for Application. - :type command_line_arguments: str - :param show_in_portal: Specifies whether to show the RemoteApp program in the RD Web Access - server. - :type show_in_portal: bool - :param icon_path: Path to icon. - :type icon_path: str - :param icon_index: Index of the icon. - :type icon_index: int + :param application: Object containing Application definitions. + :type application: ~desktop_virtualization_api_client.models.Application :keyword callable cls: A custom type or function that will be passed the direct response :return: Application, or the result of cls(response) :rtype: ~desktop_virtualization_api_client.models.Application :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Application"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _application = models.Application(description=description, friendly_name=friendly_name, file_path=file_path, command_line_setting=command_line_setting, command_line_arguments=command_line_arguments, show_in_portal=show_in_portal, icon_path=icon_path, icon_index=icon_index) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.create_or_update.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=24, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -173,14 +152,12 @@ async def create_or_update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_application, 'Application') + body_content = self._serialize.body(application, 'Application') body_content_kwargs['content'] = body_content request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -188,7 +165,6 @@ async def create_or_update( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('Application', pipeline_response) @@ -222,16 +198,19 @@ async def delete( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.delete.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=24, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -242,8 +221,8 @@ async def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -262,15 +241,7 @@ async def update( resource_group_name: str, application_group_name: str, application_name: str, - tags: Optional[Dict[str, str]] = None, - description: Optional[str] = None, - friendly_name: Optional[str] = None, - file_path: Optional[str] = None, - command_line_setting: Optional[Union[str, "models.CommandLineSetting"]] = None, - command_line_arguments: Optional[str] = None, - show_in_portal: Optional[bool] = None, - icon_path: Optional[str] = None, - icon_index: Optional[int] = None, + application: Optional["models.ApplicationPatch"] = None, **kwargs ) -> "models.Application": """Update an application. @@ -281,46 +252,28 @@ async def update( :type application_group_name: str :param application_name: The name of the application within the specified application group. :type application_name: str - :param tags: tags to be updated. - :type tags: dict[str, str] - :param description: Description of Application. - :type description: str - :param friendly_name: Friendly name of Application. - :type friendly_name: str - :param file_path: Specifies a path for the executable file for the application. - :type file_path: str - :param command_line_setting: Specifies whether this published application can be launched with - command line arguments provided by the client, command line arguments specified at publish - time, or no command line arguments at all. - :type command_line_setting: str or ~desktop_virtualization_api_client.models.CommandLineSetting - :param command_line_arguments: Command Line Arguments for Application. - :type command_line_arguments: str - :param show_in_portal: Specifies whether to show the RemoteApp program in the RD Web Access - server. - :type show_in_portal: bool - :param icon_path: Path to icon. - :type icon_path: str - :param icon_index: Index of the icon. - :type icon_index: int + :param application: Object containing Application definitions. + :type application: ~desktop_virtualization_api_client.models.ApplicationPatch :keyword callable cls: A custom type or function that will be passed the direct response :return: Application, or the result of cls(response) :rtype: ~desktop_virtualization_api_client.models.Application :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Application"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _application = models.ApplicationPatch(tags=tags, description=description, friendly_name=friendly_name, file_path=file_path, command_line_setting=command_line_setting, command_line_arguments=command_line_arguments, show_in_portal=show_in_portal, icon_path=icon_path, icon_index=icon_index) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.update.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=24, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -332,17 +285,15 @@ async def update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - if _application is not None: - body_content = self._serialize.body(_application, 'ApplicationPatch') + if application is not None: + body_content = self._serialize.body(application, 'ApplicationPatch') else: body_content = None body_content_kwargs['content'] = body_content request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -376,33 +327,36 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_desktop_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_desktops_operations.py similarity index 85% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_desktop_operations_async.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_desktops_operations.py index 22bfcf90da0..b62729b1da9 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_desktop_operations_async.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_desktops_operations.py @@ -8,7 +8,7 @@ from typing import Any, Callable, Dict, Generic, Optional, TypeVar import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core.exceptions import ARMErrorFormat @@ -18,8 +18,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class DesktopOperations: - """DesktopOperations async operations. +class DesktopsOperations: + """DesktopsOperations async operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -61,16 +61,19 @@ async def get( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Desktop"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), 'desktopName': self._serialize.url("desktop_name", desktop_name, 'str', max_length=24, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -81,9 +84,8 @@ async def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -105,9 +107,7 @@ async def update( resource_group_name: str, application_group_name: str, desktop_name: str, - tags: Optional[Dict[str, str]] = None, - description: Optional[str] = None, - friendly_name: Optional[str] = None, + desktop: Optional["models.DesktopPatch"] = None, **kwargs ) -> "models.Desktop": """Update a desktop. @@ -118,31 +118,28 @@ async def update( :type application_group_name: str :param desktop_name: The name of the desktop within the specified desktop group. :type desktop_name: str - :param tags: tags to be updated. - :type tags: dict[str, str] - :param description: Description of Desktop. - :type description: str - :param friendly_name: Friendly name of Desktop. - :type friendly_name: str + :param desktop: Object containing Desktop definitions. + :type desktop: ~desktop_virtualization_api_client.models.DesktopPatch :keyword callable cls: A custom type or function that will be passed the direct response :return: Desktop, or the result of cls(response) :rtype: ~desktop_virtualization_api_client.models.Desktop :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Desktop"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _desktop = models.DesktopPatch(tags=tags, description=description, friendly_name=friendly_name) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.update.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), 'desktopName': self._serialize.url("desktop_name", desktop_name, 'str', max_length=24, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -154,17 +151,15 @@ async def update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - if _desktop is not None: - body_content = self._serialize.body(_desktop, 'DesktopPatch') + if desktop is not None: + body_content = self._serialize.body(desktop, 'DesktopPatch') else: body_content = None body_content_kwargs['content'] = body_content request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -198,16 +193,19 @@ async def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.DesktopList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.list.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -217,9 +215,8 @@ async def list( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_host_pool_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_host_pools_operations.py similarity index 70% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_host_pool_operations_async.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_host_pools_operations.py index 1c297620523..f742a37c18e 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_host_pool_operations_async.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_host_pools_operations.py @@ -9,7 +9,7 @@ import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core.exceptions import ARMErrorFormat @@ -19,8 +19,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class HostPoolOperations: - """HostPoolOperations async operations. +class HostPoolsOperations: + """HostPoolsOperations async operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -59,16 +59,19 @@ async def get( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.HostPool"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -78,9 +81,8 @@ async def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -101,20 +103,7 @@ async def create_or_update( self, resource_group_name: str, host_pool_name: str, - location: str, - host_pool_type: Union[str, "models.HostPoolType"], - personal_desktop_assignment_type: Union[str, "models.PersonalDesktopAssignmentType"], - load_balancer_type: Union[str, "models.LoadBalancerType"], - tags: Optional[Dict[str, str]] = None, - friendly_name: Optional[str] = None, - description: Optional[str] = None, - custom_rdp_property: Optional[str] = None, - max_session_limit: Optional[int] = None, - ring: Optional[int] = None, - validation_environment: Optional[bool] = None, - registration_info: Optional["models.RegistrationInfo"] = None, - vm_template: Optional[str] = None, - sso_context: Optional[str] = None, + host_pool: "models.HostPool", **kwargs ) -> "models.HostPool": """Create or update a host pool. @@ -123,53 +112,28 @@ async def create_or_update( :type resource_group_name: str :param host_pool_name: The name of the host pool within the specified resource group. :type host_pool_name: str - :param location: The geo-location where the resource lives. - :type location: str - :param host_pool_type: HostPool type for desktop. - :type host_pool_type: str or ~desktop_virtualization_api_client.models.HostPoolType - :param personal_desktop_assignment_type: PersonalDesktopAssignment type for HostPool. - :type personal_desktop_assignment_type: str or ~desktop_virtualization_api_client.models.PersonalDesktopAssignmentType - :param load_balancer_type: The type of the load balancer. - :type load_balancer_type: str or ~desktop_virtualization_api_client.models.LoadBalancerType - :param tags: Resource tags. - :type tags: dict[str, str] - :param friendly_name: Friendly name of HostPool. - :type friendly_name: str - :param description: Description of HostPool. - :type description: str - :param custom_rdp_property: Custom rdp property of HostPool. - :type custom_rdp_property: str - :param max_session_limit: The max session limit of HostPool. - :type max_session_limit: int - :param ring: The ring number of HostPool. - :type ring: int - :param validation_environment: Is validation environment. - :type validation_environment: bool - :param registration_info: The registration info of HostPool. - :type registration_info: ~desktop_virtualization_api_client.models.RegistrationInfo - :param vm_template: VM template for sessionhosts configuration within hostpool. - :type vm_template: str - :param sso_context: Path to keyvault containing ssoContext secret. - :type sso_context: str + :param host_pool: Object containing HostPool definitions. + :type host_pool: ~desktop_virtualization_api_client.models.HostPool :keyword callable cls: A custom type or function that will be passed the direct response :return: HostPool, or the result of cls(response) :rtype: ~desktop_virtualization_api_client.models.HostPool :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.HostPool"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _host_pool = models.HostPool(tags=tags, location=location, friendly_name=friendly_name, description=description, host_pool_type=host_pool_type, personal_desktop_assignment_type=personal_desktop_assignment_type, custom_rdp_property=custom_rdp_property, max_session_limit=max_session_limit, load_balancer_type=load_balancer_type, ring=ring, validation_environment=validation_environment, registration_info=registration_info, vm_template=vm_template, sso_context=sso_context) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.create_or_update.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -180,14 +144,12 @@ async def create_or_update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_host_pool, 'HostPool') + body_content = self._serialize.body(host_pool, 'HostPool') body_content_kwargs['content'] = body_content request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -195,7 +157,6 @@ async def create_or_update( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('HostPool', pipeline_response) @@ -229,16 +190,19 @@ async def delete( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.delete.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -250,8 +214,8 @@ async def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -269,17 +233,7 @@ async def update( self, resource_group_name: str, host_pool_name: str, - tags: Optional[Dict[str, str]] = None, - friendly_name: Optional[str] = None, - description: Optional[str] = None, - custom_rdp_property: Optional[str] = None, - max_session_limit: Optional[int] = None, - personal_desktop_assignment_type: Optional[Union[str, "models.PersonalDesktopAssignmentType"]] = None, - load_balancer_type: Optional[Union[str, "models.LoadBalancerType"]] = None, - ring: Optional[int] = None, - validation_environment: Optional[bool] = None, - registration_info: Optional["models.RegistrationInfoPatch"] = None, - sso_context: Optional[str] = None, + host_pool: Optional["models.HostPoolPatch"] = None, **kwargs ) -> "models.HostPool": """Update a host pool. @@ -288,47 +242,28 @@ async def update( :type resource_group_name: str :param host_pool_name: The name of the host pool within the specified resource group. :type host_pool_name: str - :param tags: tags to be updated. - :type tags: dict[str, str] - :param friendly_name: Friendly name of HostPool. - :type friendly_name: str - :param description: Description of HostPool. - :type description: str - :param custom_rdp_property: Custom rdp property of HostPool. - :type custom_rdp_property: str - :param max_session_limit: The max session limit of HostPool. - :type max_session_limit: int - :param personal_desktop_assignment_type: PersonalDesktopAssignment type for HostPool. - :type personal_desktop_assignment_type: str or ~desktop_virtualization_api_client.models.PersonalDesktopAssignmentType - :param load_balancer_type: The type of the load balancer. - :type load_balancer_type: str or ~desktop_virtualization_api_client.models.LoadBalancerType - :param ring: The ring number of HostPool. - :type ring: int - :param validation_environment: Is validation environment. - :type validation_environment: bool - :param registration_info: The registration info of HostPool. - :type registration_info: ~desktop_virtualization_api_client.models.RegistrationInfoPatch - :param sso_context: Path to keyvault containing ssoContext secret. - :type sso_context: str + :param host_pool: Object containing HostPool definitions. + :type host_pool: ~desktop_virtualization_api_client.models.HostPoolPatch :keyword callable cls: A custom type or function that will be passed the direct response :return: HostPool, or the result of cls(response) :rtype: ~desktop_virtualization_api_client.models.HostPool :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.HostPool"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _host_pool = models.HostPoolPatch(tags=tags, friendly_name=friendly_name, description=description, custom_rdp_property=custom_rdp_property, max_session_limit=max_session_limit, personal_desktop_assignment_type=personal_desktop_assignment_type, load_balancer_type=load_balancer_type, ring=ring, validation_environment=validation_environment, registration_info=registration_info, sso_context=sso_context) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.update.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -339,17 +274,15 @@ async def update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - if _host_pool is not None: - body_content = self._serialize.body(_host_pool, 'HostPoolPatch') + if host_pool is not None: + body_content = self._serialize.body(host_pool, 'HostPoolPatch') else: body_content = None body_content_kwargs['content'] = body_content request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -380,32 +313,35 @@ def list_by_resource_group( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.HostPoolList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list_by_resource_group.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + '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 = {} # type: Dict[str, Any] query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): @@ -444,11 +380,18 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.HostPoolList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list.metadata['url'] # type: ignore @@ -460,15 +403,11 @@ def prepare_request(next_link=None): query_parameters = {} # type: Dict[str, Any] query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): @@ -494,3 +433,61 @@ async def get_next(next_link=None): get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools'} # type: ignore + + async def retrieve_registration_token( + self, + resource_group_name: str, + host_pool_name: str, + **kwargs + ) -> "models.RegistrationInfo": + """Registration token of the host pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RegistrationInfo, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.RegistrationInfo + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RegistrationInfo"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + accept = "application/json" + + # Construct URL + url = self.retrieve_registration_token.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('RegistrationInfo', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + retrieve_registration_token.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/retrieveRegistrationToken'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_active_application_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_msix_images_operations.py similarity index 64% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_active_application_operations_async.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_msix_images_operations.py index 481d74f208d..ae9eea62353 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_active_application_operations_async.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_msix_images_operations.py @@ -9,7 +9,7 @@ import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core.exceptions import ARMErrorFormat @@ -19,8 +19,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class ActiveApplicationOperations: - """ActiveApplicationOperations async operations. +class MsixImagesOperations: + """MsixImagesOperations async operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -41,65 +41,69 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config - def list_by_session_host( + def expand( self, resource_group_name: str, host_pool_name: str, - session_host_name: str, - filter: Optional[str] = None, + msix_image_uri: "models.MsixImageUri", **kwargs - ) -> AsyncIterable["models.ApplicationList"]: - """List applications for the given session host. + ) -> AsyncIterable["models.ExpandMsixImageList"]: + """Expands and Lists MSIX packages in an Image, given the Image Path. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param host_pool_name: The name of the host pool within the specified resource group. :type host_pool_name: str - :param session_host_name: The name of the session host within the specified host pool. - :type session_host_name: str - :param filter: OData filter expression. Valid properties for filtering are userprincipalname - and sessionstate. - :type filter: str + :param msix_image_uri: Object containing URI to MSIX Image. + :type msix_image_uri: ~desktop_virtualization_api_client.models.MsixImageUri :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ApplicationList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~desktop_virtualization_api_client.models.ApplicationList] + :return: An iterator like instance of either ExpandMsixImageList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~desktop_virtualization_api_client.models.ExpandMsixImageList] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + cls = kwargs.pop('cls', None) # type: ClsType["models.ExpandMsixImageList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + content_type = "application/json" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_by_session_host.metadata['url'] # type: ignore + url = self.expand.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), - 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if filter is not None: - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(msix_image_uri, 'MsixImageUri') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(msix_image_uri, 'MsixImageUri') + body_content_kwargs['content'] = body_content + request = self._client.get(url, query_parameters, header_parameters, **body_content_kwargs) return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ApplicationList', pipeline_response) + deserialized = self._deserialize('ExpandMsixImageList', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -120,4 +124,4 @@ async def get_next(next_link=None): return AsyncItemPaged( get_next, extract_data ) - list_by_session_host.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications'} # type: ignore + expand.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/expandMsixImage'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_msix_packages_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_msix_packages_operations.py new file mode 100644 index 00000000000..9a0ab963a6e --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_msix_packages_operations.py @@ -0,0 +1,388 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class MsixPackagesOperations: + """MsixPackagesOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + host_pool_name: str, + msix_package_full_name: str, + **kwargs + ) -> "models.MsixPackage": + """Get a msixpackage. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param msix_package_full_name: The version specific package full name of the MSIX package + within specified hostpool. + :type msix_package_full_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MsixPackage, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.MsixPackage + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MsixPackage"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), + 'msixPackageFullName': self._serialize.url("msix_package_full_name", msix_package_full_name, 'str', max_length=100, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('MsixPackage', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages/{msixPackageFullName}'} # type: ignore + + async def create_or_update( + self, + resource_group_name: str, + host_pool_name: str, + msix_package_full_name: str, + msix_package: "models.MsixPackage", + **kwargs + ) -> "models.MsixPackage": + """Create or update a MSIX package. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param msix_package_full_name: The version specific package full name of the MSIX package + within specified hostpool. + :type msix_package_full_name: str + :param msix_package: Object containing MSIX Package definitions. + :type msix_package: ~desktop_virtualization_api_client.models.MsixPackage + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MsixPackage, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.MsixPackage + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MsixPackage"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), + 'msixPackageFullName': self._serialize.url("msix_package_full_name", msix_package_full_name, 'str', max_length=100, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(msix_package, 'MsixPackage') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('MsixPackage', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('MsixPackage', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages/{msixPackageFullName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + host_pool_name: str, + msix_package_full_name: str, + **kwargs + ) -> None: + """Remove an MSIX Package. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param msix_package_full_name: The version specific package full name of the MSIX package + within specified hostpool. + :type msix_package_full_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), + 'msixPackageFullName': self._serialize.url("msix_package_full_name", msix_package_full_name, 'str', max_length=100, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages/{msixPackageFullName}'} # type: ignore + + async def update( + self, + resource_group_name: str, + host_pool_name: str, + msix_package_full_name: str, + msix_package: Optional["models.MsixPackagePatch"] = None, + **kwargs + ) -> "models.MsixPackage": + """Update an MSIX Package. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param msix_package_full_name: The version specific package full name of the MSIX package + within specified hostpool. + :type msix_package_full_name: str + :param msix_package: Object containing MSIX Package definitions. + :type msix_package: ~desktop_virtualization_api_client.models.MsixPackagePatch + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MsixPackage, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.MsixPackage + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MsixPackage"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), + 'msixPackageFullName': self._serialize.url("msix_package_full_name", msix_package_full_name, 'str', max_length=100, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if msix_package is not None: + body_content = self._serialize.body(msix_package, 'MsixPackagePatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('MsixPackage', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages/{msixPackageFullName}'} # type: ignore + + def list( + self, + resource_group_name: str, + host_pool_name: str, + **kwargs + ) -> AsyncIterable["models.MsixPackageList"]: + """List MSIX packages in hostpool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MsixPackageList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~desktop_virtualization_api_client.models.MsixPackageList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MsixPackageList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('MsixPackageList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_operation_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_operations.py similarity index 87% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_operation_operations_async.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_operations.py index 2cf37ab408a..14f4dbf8b84 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_operation_operations_async.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_operations.py @@ -8,7 +8,7 @@ from typing import Any, Callable, Dict, Generic, Optional, TypeVar import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core.exceptions import ARMErrorFormat @@ -18,8 +18,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class OperationOperations: - """OperationOperations async operations. +class Operations: + """Operations async operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -52,9 +52,12 @@ async def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ResourceProviderOperationList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.list.metadata['url'] # type: ignore @@ -65,9 +68,8 @@ async def list( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_scaling_plans_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_scaling_plans_operations.py new file mode 100644 index 00000000000..4f42c3c5aaa --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_scaling_plans_operations.py @@ -0,0 +1,504 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ScalingPlansOperations: + """ScalingPlansOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + scaling_plan_name: str, + **kwargs + ) -> "models.ScalingPlan": + """Get a scaling plan. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param scaling_plan_name: The name of the scaling plan. + :type scaling_plan_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ScalingPlan, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.ScalingPlan + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ScalingPlan"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'scalingPlanName': self._serialize.url("scaling_plan_name", scaling_plan_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ScalingPlan', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}'} # type: ignore + + async def create( + self, + resource_group_name: str, + scaling_plan_name: str, + scaling_plan: "models.ScalingPlan", + **kwargs + ) -> "models.ScalingPlan": + """Create or update a scaling plan. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param scaling_plan_name: The name of the scaling plan. + :type scaling_plan_name: str + :param scaling_plan: Object containing scaling plan definitions. + :type scaling_plan: ~desktop_virtualization_api_client.models.ScalingPlan + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ScalingPlan, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.ScalingPlan + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ScalingPlan"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'scalingPlanName': self._serialize.url("scaling_plan_name", scaling_plan_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(scaling_plan, 'ScalingPlan') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('ScalingPlan', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ScalingPlan', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + scaling_plan_name: str, + **kwargs + ) -> None: + """Remove a scaling plan. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param scaling_plan_name: The name of the scaling plan. + :type scaling_plan_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'scalingPlanName': self._serialize.url("scaling_plan_name", scaling_plan_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}'} # type: ignore + + async def update( + self, + resource_group_name: str, + scaling_plan_name: str, + scaling_plan: Optional["models.ScalingPlanPatch"] = None, + **kwargs + ) -> "models.ScalingPlan": + """Update a scaling plan. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param scaling_plan_name: The name of the scaling plan. + :type scaling_plan_name: str + :param scaling_plan: Object containing scaling plan definitions. + :type scaling_plan: ~desktop_virtualization_api_client.models.ScalingPlanPatch + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ScalingPlan, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.ScalingPlan + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ScalingPlan"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'scalingPlanName': self._serialize.url("scaling_plan_name", scaling_plan_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if scaling_plan is not None: + body_content = self._serialize.body(scaling_plan, 'ScalingPlanPatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ScalingPlan', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> AsyncIterable["models.ScalingPlanList"]: + """List scaling plans. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ScalingPlanList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~desktop_virtualization_api_client.models.ScalingPlanList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ScalingPlanList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ScalingPlanList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans'} # type: ignore + + def list_by_subscription( + self, + **kwargs + ) -> AsyncIterable["models.ScalingPlanList"]: + """List scaling plans in subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ScalingPlanList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~desktop_virtualization_api_client.models.ScalingPlanList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ScalingPlanList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ScalingPlanList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/scalingPlans'} # type: ignore + + def list_by_host_pool( + self, + resource_group_name: str, + host_pool_name: str, + **kwargs + ) -> AsyncIterable["models.ScalingPlanList"]: + """List scaling plan associated with hostpool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ScalingPlanList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~desktop_virtualization_api_client.models.ScalingPlanList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ScalingPlanList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_host_pool.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ScalingPlanList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_host_pool.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/scalingPlans'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_session_host_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_session_hosts_operations.py similarity index 86% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_session_host_operations_async.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_session_hosts_operations.py index a6afd849923..67aa4713379 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_session_host_operations_async.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_session_hosts_operations.py @@ -9,7 +9,7 @@ import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core.exceptions import ARMErrorFormat @@ -19,8 +19,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class SessionHostOperations: - """SessionHostOperations async operations. +class SessionHostsOperations: + """SessionHostsOperations async operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -62,16 +62,19 @@ async def get( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SessionHost"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -82,9 +85,8 @@ async def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -125,16 +127,19 @@ async def delete( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.delete.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -147,8 +152,8 @@ async def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -167,8 +172,7 @@ async def update( resource_group_name: str, host_pool_name: str, session_host_name: str, - allow_new_session: Optional[bool] = None, - assigned_user: Optional[str] = None, + session_host: Optional["models.SessionHostPatch"] = None, **kwargs ) -> "models.SessionHost": """Update a session host. @@ -179,29 +183,28 @@ async def update( :type host_pool_name: str :param session_host_name: The name of the session host within the specified host pool. :type session_host_name: str - :param allow_new_session: Allow a new session. - :type allow_new_session: bool - :param assigned_user: User assigned to SessionHost. - :type assigned_user: str + :param session_host: Object containing SessionHost definitions. + :type session_host: ~desktop_virtualization_api_client.models.SessionHostPatch :keyword callable cls: A custom type or function that will be passed the direct response :return: SessionHost, or the result of cls(response) :rtype: ~desktop_virtualization_api_client.models.SessionHost :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SessionHost"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _session_host = models.SessionHostPatch(allow_new_session=allow_new_session, assigned_user=assigned_user) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.update.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -213,17 +216,15 @@ async def update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - if _session_host is not None: - body_content = self._serialize.body(_session_host, 'SessionHostPatch') + if session_host is not None: + body_content = self._serialize.body(session_host, 'SessionHostPatch') else: body_content = None body_content_kwargs['content'] = body_content request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -257,33 +258,36 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SessionHostList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_start_menu_item_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_start_menu_items_operations.py similarity index 87% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_start_menu_item_operations_async.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_start_menu_items_operations.py index 2bd7b9faa4d..303972ebe25 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_start_menu_item_operations_async.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_start_menu_items_operations.py @@ -9,7 +9,7 @@ import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core.exceptions import ARMErrorFormat @@ -19,8 +19,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class StartMenuItemOperations: - """StartMenuItemOperations async operations. +class StartMenuItemsOperations: + """StartMenuItemsOperations async operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -59,33 +59,36 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.StartMenuItemList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_user_session_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_user_sessions_operations.py similarity index 87% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_user_session_operations_async.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_user_sessions_operations.py index 1b3fb3c181c..0ce7f83e3cb 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_user_session_operations_async.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_user_sessions_operations.py @@ -9,7 +9,7 @@ import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core.exceptions import ARMErrorFormat @@ -19,8 +19,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class UserSessionOperations: - """UserSessionOperations async operations. +class UserSessionsOperations: + """UserSessionsOperations async operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -55,7 +55,7 @@ def list_by_host_pool( :param host_pool_name: The name of the host pool within the specified resource group. :type host_pool_name: str :param filter: OData filter expression. Valid properties for filtering are userprincipalname - and sessionstate. + and sessionstate. :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either UserSessionList or the result of cls(response) @@ -63,18 +63,25 @@ def list_by_host_pool( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.UserSessionList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list_by_host_pool.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) # Construct parameters @@ -83,15 +90,11 @@ def prepare_request(next_link=None): if filter is not None: query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): @@ -142,16 +145,19 @@ async def get( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.UserSession"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), 'userSessionId': self._serialize.url("user_session_id", user_session_id, 'str', max_length=24, min_length=1), } @@ -163,9 +169,8 @@ async def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -209,16 +214,19 @@ async def delete( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.delete.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), 'userSessionId': self._serialize.url("user_session_id", user_session_id, 'str', max_length=24, min_length=1), } @@ -232,8 +240,8 @@ async def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -268,18 +276,25 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.UserSessionList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -287,15 +302,11 @@ def prepare_request(next_link=None): query_parameters = {} # type: Dict[str, Any] query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): @@ -346,16 +357,19 @@ async def disconnect( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.disconnect.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), 'userSessionId': self._serialize.url("user_session_id", user_session_id, 'str', max_length=24, min_length=1), } @@ -367,8 +381,8 @@ async def disconnect( # Construct headers header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.post(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -388,8 +402,7 @@ async def send_message( host_pool_name: str, session_host_name: str, user_session_id: str, - message_title: Optional[str] = None, - message_body: Optional[str] = None, + send_message: Optional["models.SendMessage"] = None, **kwargs ) -> None: """Send a message to a user. @@ -402,29 +415,28 @@ async def send_message( :type session_host_name: str :param user_session_id: The name of the user session within the specified session host. :type user_session_id: str - :param message_title: Title of message. - :type message_title: str - :param message_body: Body of message. - :type message_body: str + :param send_message: Object containing message includes title and message body. + :type send_message: ~desktop_virtualization_api_client.models.SendMessage :keyword callable cls: A custom type or function that will be passed the direct response :return: None, or the result of cls(response) :rtype: None :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _send_message = models.SendMessage(message_title=message_title, message_body=message_body) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.send_message.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), 'userSessionId': self._serialize.url("user_session_id", user_session_id, 'str', max_length=24, min_length=1), } @@ -437,16 +449,15 @@ async def send_message( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - if _send_message is not None: - body_content = self._serialize.body(_send_message, 'SendMessage') + if send_message is not None: + body_content = self._serialize.body(send_message, 'SendMessage') else: body_content = None body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_workspace_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_workspaces_operations.py similarity index 82% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_workspace_operations_async.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_workspaces_operations.py index 9a611f38f55..fa33c74a610 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_workspace_operations_async.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations/_workspaces_operations.py @@ -5,11 +5,11 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, AsyncIterable, Callable, Dict, Generic, List, Optional, TypeVar, Union +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core.exceptions import ARMErrorFormat @@ -19,8 +19,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class WorkspaceOperations: - """WorkspaceOperations async operations. +class WorkspacesOperations: + """WorkspacesOperations async operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -59,16 +59,19 @@ async def get( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Workspace"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -78,9 +81,8 @@ async def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -101,11 +103,7 @@ async def create_or_update( self, resource_group_name: str, workspace_name: str, - location: str, - tags: Optional[Dict[str, str]] = None, - description: Optional[str] = None, - friendly_name: Optional[str] = None, - application_group_references: Optional[List[str]] = None, + workspace: "models.Workspace", **kwargs ) -> "models.Workspace": """Create or update a workspace. @@ -114,35 +112,28 @@ async def create_or_update( :type resource_group_name: str :param workspace_name: The name of the workspace. :type workspace_name: str - :param location: The geo-location where the resource lives. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param description: Description of Workspace. - :type description: str - :param friendly_name: Friendly name of Workspace. - :type friendly_name: str - :param application_group_references: List of applicationGroup resource Ids. - :type application_group_references: list[str] + :param workspace: Object containing Workspace definitions. + :type workspace: ~desktop_virtualization_api_client.models.Workspace :keyword callable cls: A custom type or function that will be passed the direct response :return: Workspace, or the result of cls(response) :rtype: ~desktop_virtualization_api_client.models.Workspace :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Workspace"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _workspace = models.Workspace(tags=tags, location=location, description=description, friendly_name=friendly_name, application_group_references=application_group_references) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.create_or_update.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -153,14 +144,12 @@ async def create_or_update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_workspace, 'Workspace') + body_content = self._serialize.body(workspace, 'Workspace') body_content_kwargs['content'] = body_content request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -168,7 +157,6 @@ async def create_or_update( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('Workspace', pipeline_response) @@ -199,16 +187,19 @@ async def delete( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.delete.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -218,8 +209,8 @@ async def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -237,10 +228,7 @@ async def update( self, resource_group_name: str, workspace_name: str, - tags: Optional[Dict[str, str]] = None, - description: Optional[str] = None, - friendly_name: Optional[str] = None, - application_group_references: Optional[List[str]] = None, + workspace: Optional["models.WorkspacePatch"] = None, **kwargs ) -> "models.Workspace": """Update a workspace. @@ -249,33 +237,28 @@ async def update( :type resource_group_name: str :param workspace_name: The name of the workspace. :type workspace_name: str - :param tags: tags to be updated. - :type tags: dict[str, str] - :param description: Description of Workspace. - :type description: str - :param friendly_name: Friendly name of Workspace. - :type friendly_name: str - :param application_group_references: List of applicationGroup links. - :type application_group_references: list[str] + :param workspace: Object containing Workspace definitions. + :type workspace: ~desktop_virtualization_api_client.models.WorkspacePatch :keyword callable cls: A custom type or function that will be passed the direct response :return: Workspace, or the result of cls(response) :rtype: ~desktop_virtualization_api_client.models.Workspace :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Workspace"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _workspace = models.WorkspacePatch(tags=tags, description=description, friendly_name=friendly_name, application_group_references=application_group_references) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.update.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -286,17 +269,15 @@ async def update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - if _workspace is not None: - body_content = self._serialize.body(_workspace, 'WorkspacePatch') + if workspace is not None: + body_content = self._serialize.body(workspace, 'WorkspacePatch') else: body_content = None body_content_kwargs['content'] = body_content request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -327,32 +308,35 @@ def list_by_resource_group( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.WorkspaceList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list_by_resource_group.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + '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 = {} # type: Dict[str, Any] query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): @@ -391,11 +375,18 @@ def list_by_subscription( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.WorkspaceList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list_by_subscription.metadata['url'] # type: ignore @@ -407,15 +398,11 @@ def prepare_request(next_link=None): query_parameters = {} # type: Dict[str, Any] query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/__init__.py deleted file mode 100644 index 8168693886f..00000000000 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/__init__.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 ._operation_operations_async import OperationOperations -from ._workspace_operations_async import WorkspaceOperations -from ._application_group_assignment_operations_async import ApplicationGroupAssignmentOperations -from ._application_group_operations_async import ApplicationGroupOperations -from ._start_menu_item_operations_async import StartMenuItemOperations -from ._application_operations_async import ApplicationOperations -from ._desktop_operations_async import DesktopOperations -from ._host_pool_operations_async import HostPoolOperations -from ._user_session_operations_async import UserSessionOperations -from ._session_host_operations_async import SessionHostOperations -from ._active_application_operations_async import ActiveApplicationOperations - -__all__ = [ - 'OperationOperations', - 'WorkspaceOperations', - 'ApplicationGroupAssignmentOperations', - 'ApplicationGroupOperations', - 'StartMenuItemOperations', - 'ApplicationOperations', - 'DesktopOperations', - 'HostPoolOperations', - 'UserSessionOperations', - 'SessionHostOperations', - 'ActiveApplicationOperations', -] diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_application_group_assignment_operations_async.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_application_group_assignment_operations_async.py deleted file mode 100644 index 3fab60278d4..00000000000 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/aio/operations_async/_application_group_assignment_operations_async.py +++ /dev/null @@ -1,119 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar -import warnings - -from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error -from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest -from azure.mgmt.core.exceptions import ARMErrorFormat - -from ... import models - -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] - -class ApplicationGroupAssignmentOperations: - """ApplicationGroupAssignmentOperations async operations. - - You should not instantiate this class directly. Instead, you should create a Client instance that - instantiates it for you and attaches it as an attribute. - - :ivar models: Alias to model classes used in this operation group. - :type models: ~desktop_virtualization_api_client.models - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - """ - - models = models - - def __init__(self, client, config, serializer, deserializer) -> None: - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self._config = config - - def workspace_level_list( - self, - resource_group_name: str, - workspace_name: str, - filter: Optional[str] = None, - **kwargs - ) -> AsyncIterable["models.ApplicationGroupList"]: - """List application group that user can use. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param workspace_name: The name of the workspace. - :type workspace_name: str - :param filter: OData filter expression. Valid properties for filtering are - applicationGroupType. - :type filter: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ApplicationGroupList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~desktop_virtualization_api_client.models.ApplicationGroupList] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroupList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.workspace_level_list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=24, min_length=3), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if filter is not None: - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('ApplicationGroupList', pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) - return deserialized.next_link or None, AsyncList(list_of_elem) - - async def get_next(next_link=None): - request = prepare_request(next_link) - - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - return pipeline_response - - return AsyncItemPaged( - get_next, extract_data - ) - workspace_level_list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/__init__.py index b642bd2d7f5..22b524b83e2 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/__init__.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/__init__.py @@ -13,25 +13,51 @@ from ._models_py3 import ApplicationGroupPatch from ._models_py3 import ApplicationList from ._models_py3 import ApplicationPatch + from ._models_py3 import CloudErrorProperties from ._models_py3 import Desktop from ._models_py3 import DesktopList from ._models_py3 import DesktopPatch + from ._models_py3 import ExpandMsixImage + from ._models_py3 import ExpandMsixImageList from ._models_py3 import HostPool from ._models_py3 import HostPoolList from ._models_py3 import HostPoolPatch + from ._models_py3 import Identity + from ._models_py3 import LogSpecification + from ._models_py3 import MigrationRequestProperties + from ._models_py3 import MsixImageUri + from ._models_py3 import MsixPackage + from ._models_py3 import MsixPackageApplications + from ._models_py3 import MsixPackageDependencies + from ._models_py3 import MsixPackageList + from ._models_py3 import MsixPackagePatch + from ._models_py3 import OperationProperties + from ._models_py3 import Plan from ._models_py3 import RegistrationInfo from ._models_py3 import RegistrationInfoPatch from ._models_py3 import Resource + from ._models_py3 import ResourceModelWithAllowedPropertySet + from ._models_py3 import ResourceModelWithAllowedPropertySetIdentity + from ._models_py3 import ResourceModelWithAllowedPropertySetPlan + from ._models_py3 import ResourceModelWithAllowedPropertySetSku from ._models_py3 import ResourceProviderOperation from ._models_py3 import ResourceProviderOperationDisplay from ._models_py3 import ResourceProviderOperationList + from ._models_py3 import ScalingHostPoolReference + from ._models_py3 import ScalingPlan + from ._models_py3 import ScalingPlanList + from ._models_py3 import ScalingPlanPatch + from ._models_py3 import ScalingSchedule from ._models_py3 import SendMessage + from ._models_py3 import ServiceSpecification from ._models_py3 import SessionHost + from ._models_py3 import SessionHostHealthCheckFailureDetails + from ._models_py3 import SessionHostHealthCheckReport from ._models_py3 import SessionHostList from ._models_py3 import SessionHostPatch + from ._models_py3 import Sku from ._models_py3 import StartMenuItem from ._models_py3 import StartMenuItemList - from ._models_py3 import TrackedResource from ._models_py3 import UserSession from ._models_py3 import UserSessionList from ._models_py3 import Workspace @@ -44,25 +70,51 @@ from ._models import ApplicationGroupPatch # type: ignore from ._models import ApplicationList # type: ignore from ._models import ApplicationPatch # type: ignore + from ._models import CloudErrorProperties # type: ignore from ._models import Desktop # type: ignore from ._models import DesktopList # type: ignore from ._models import DesktopPatch # type: ignore + from ._models import ExpandMsixImage # type: ignore + from ._models import ExpandMsixImageList # type: ignore from ._models import HostPool # type: ignore from ._models import HostPoolList # type: ignore from ._models import HostPoolPatch # type: ignore + from ._models import Identity # type: ignore + from ._models import LogSpecification # type: ignore + from ._models import MigrationRequestProperties # type: ignore + from ._models import MsixImageUri # type: ignore + from ._models import MsixPackage # type: ignore + from ._models import MsixPackageApplications # type: ignore + from ._models import MsixPackageDependencies # type: ignore + from ._models import MsixPackageList # type: ignore + from ._models import MsixPackagePatch # type: ignore + from ._models import OperationProperties # type: ignore + from ._models import Plan # type: ignore from ._models import RegistrationInfo # type: ignore from ._models import RegistrationInfoPatch # type: ignore from ._models import Resource # type: ignore + from ._models import ResourceModelWithAllowedPropertySet # type: ignore + from ._models import ResourceModelWithAllowedPropertySetIdentity # type: ignore + from ._models import ResourceModelWithAllowedPropertySetPlan # type: ignore + from ._models import ResourceModelWithAllowedPropertySetSku # type: ignore from ._models import ResourceProviderOperation # type: ignore from ._models import ResourceProviderOperationDisplay # type: ignore from ._models import ResourceProviderOperationList # type: ignore + from ._models import ScalingHostPoolReference # type: ignore + from ._models import ScalingPlan # type: ignore + from ._models import ScalingPlanList # type: ignore + from ._models import ScalingPlanPatch # type: ignore + from ._models import ScalingSchedule # type: ignore from ._models import SendMessage # type: ignore + from ._models import ServiceSpecification # type: ignore from ._models import SessionHost # type: ignore + from ._models import SessionHostHealthCheckFailureDetails # type: ignore + from ._models import SessionHostHealthCheckReport # type: ignore from ._models import SessionHostList # type: ignore from ._models import SessionHostPatch # type: ignore + from ._models import Sku # type: ignore from ._models import StartMenuItem # type: ignore from ._models import StartMenuItemList # type: ignore - from ._models import TrackedResource # type: ignore from ._models import UserSession # type: ignore from ._models import UserSessionList # type: ignore from ._models import Workspace # type: ignore @@ -73,12 +125,22 @@ ApplicationGroupType, ApplicationType, CommandLineSetting, + HealthCheckName, + HealthCheckResult, HostPoolType, LoadBalancerType, + Operation, PersonalDesktopAssignmentType, + PreferredAppGroupType, RegistrationTokenOperation, + RemoteApplicationType, + ScalingScheduleDaysOfWeekItem, + SessionHostLoadBalancingAlgorithm, SessionState, + SkuTier, + SsoSecretType, Status, + StopHostsWhen, UpdateState, ) @@ -89,25 +151,51 @@ 'ApplicationGroupPatch', 'ApplicationList', 'ApplicationPatch', + 'CloudErrorProperties', 'Desktop', 'DesktopList', 'DesktopPatch', + 'ExpandMsixImage', + 'ExpandMsixImageList', 'HostPool', 'HostPoolList', 'HostPoolPatch', + 'Identity', + 'LogSpecification', + 'MigrationRequestProperties', + 'MsixImageUri', + 'MsixPackage', + 'MsixPackageApplications', + 'MsixPackageDependencies', + 'MsixPackageList', + 'MsixPackagePatch', + 'OperationProperties', + 'Plan', 'RegistrationInfo', 'RegistrationInfoPatch', 'Resource', + 'ResourceModelWithAllowedPropertySet', + 'ResourceModelWithAllowedPropertySetIdentity', + 'ResourceModelWithAllowedPropertySetPlan', + 'ResourceModelWithAllowedPropertySetSku', 'ResourceProviderOperation', 'ResourceProviderOperationDisplay', 'ResourceProviderOperationList', + 'ScalingHostPoolReference', + 'ScalingPlan', + 'ScalingPlanList', + 'ScalingPlanPatch', + 'ScalingSchedule', 'SendMessage', + 'ServiceSpecification', 'SessionHost', + 'SessionHostHealthCheckFailureDetails', + 'SessionHostHealthCheckReport', 'SessionHostList', 'SessionHostPatch', + 'Sku', 'StartMenuItem', 'StartMenuItemList', - 'TrackedResource', 'UserSession', 'UserSessionList', 'Workspace', @@ -116,11 +204,21 @@ 'ApplicationGroupType', 'ApplicationType', 'CommandLineSetting', + 'HealthCheckName', + 'HealthCheckResult', 'HostPoolType', 'LoadBalancerType', + 'Operation', 'PersonalDesktopAssignmentType', + 'PreferredAppGroupType', 'RegistrationTokenOperation', + 'RemoteApplicationType', + 'ScalingScheduleDaysOfWeekItem', + 'SessionHostLoadBalancingAlgorithm', 'SessionState', + 'SkuTier', + 'SsoSecretType', 'Status', + 'StopHostsWhen', 'UpdateState', ] diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_desktop_virtualization_api_client_enums.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_desktop_virtualization_api_client_enums.py index f087ff99f72..61a6b2cff2c 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_desktop_virtualization_api_client_enums.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_desktop_virtualization_api_client_enums.py @@ -6,90 +6,208 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from enum import Enum - -class ApplicationGroupType(str, Enum): +from enum import Enum, EnumMeta +from six import with_metaclass + +class _CaseInsensitiveEnumMeta(EnumMeta): + def __getitem__(self, name): + return super().__getitem__(name.upper()) + + def __getattr__(cls, name): + """Return the enum member matching `name` + We use __getattr__ instead of descriptors or inserting into the enum + class' __dict__ in order to support `name` and `value` being both + properties for enum members (which live in the class' __dict__) and + enum members themselves. + """ + try: + return cls._member_map_[name.upper()] + except KeyError: + raise AttributeError(name) + + +class ApplicationGroupType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Resource Type of ApplicationGroup. """ - remote_app = "RemoteApp" - desktop = "Desktop" + REMOTE_APP = "RemoteApp" + DESKTOP = "Desktop" -class ApplicationType(str, Enum): +class ApplicationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Application type of application. """ - remote_app = "RemoteApp" - desktop = "Desktop" + REMOTE_APP = "RemoteApp" + DESKTOP = "Desktop" -class CommandLineSetting(str, Enum): +class CommandLineSetting(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. """ - do_not_allow = "DoNotAllow" - allow = "Allow" - require = "Require" + DO_NOT_ALLOW = "DoNotAllow" + ALLOW = "Allow" + REQUIRE = "Require" + +class HealthCheckName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Represents the name of the health check operation performed. + """ -class HostPoolType(str, Enum): + DOMAIN_JOINED_CHECK = "DomainJoinedCheck" #: Verifies the SessionHost is joined to a domain. If this check fails is classified as fatal as no connection can succeed if the SessionHost is not joined to the domain. + DOMAIN_TRUST_CHECK = "DomainTrustCheck" #: Verifies the SessionHost is not experiencing domain trust issues that will prevent authentication on SessionHost at connection time when session is created. If this check fails is classified as fatal as no connection can succeed if we cannot reach the domain for authentication on the SessionHost. + FS_LOGIX_HEALTH_CHECK = "FSLogixHealthCheck" #: Verifies the FSLogix service is up and running to make sure users' profiles are loaded in the session. If this check fails is classified as fatal as even if the connection can succeed, user experience is bad as the user profile cannot be loaded and user will get a temporary profile in the session. + SX_S_STACK_LISTENER_CHECK = "SxSStackListenerCheck" #: Verifies that the SxS stack is up and running so connections can succeed. If this check fails is classified as fatal as no connection can succeed if the SxS stack is not ready. + URLS_ACCESSIBLE_CHECK = "UrlsAccessibleCheck" #: Verifies that the required WVD service and Geneva URLs are reachable from the SessionHost. These URLs are: RdTokenUri, RdBrokerURI, RdDiagnosticsUri and storage blob URLs for agent monitoring (geneva). If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is unable to store warm path data (logs, operations ...). + MONITORING_AGENT_CHECK = "MonitoringAgentCheck" #: Verifies that the required Geneva agent is running. If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is missing or running (possibly) older version. + DOMAIN_REACHABLE = "DomainReachable" #: Verifies the domain the SessionHost is joined to is still reachable. If this check fails is classified as fatal as no connection can succeed if the domain the SessionHost is joined is not reachable at the time of connection. + WEB_RTC_REDIRECTOR_CHECK = "WebRTCRedirectorCheck" #: Verifies whether the WebRTCRedirector component is healthy. The WebRTCRedirector component is used to optimize video and audio performance in Microsoft Teams. This checks whether the component is still running, and whether there is a higher version available. If this check fails, it is non fatal and the machine still can service connections, main issue may be the WebRTCRedirector component has to be restarted or updated. + SUPPORTED_ENCRYPTION_CHECK = "SupportedEncryptionCheck" #: Verifies the value of SecurityLayer registration key. If the value is 0 (SecurityLayer.RDP) this check fails with Error code = NativeMethodErrorCode.E_FAIL and is fatal. If the value is 1 (SecurityLayer.Negotiate) this check fails with Error code = NativeMethodErrorCode.ERROR_SUCCESS and is non fatal. + META_DATA_SERVICE_CHECK = "MetaDataServiceCheck" #: Verifies the metadata service is accessible and return compute properties. + APP_ATTACH_HEALTH_CHECK = "AppAttachHealthCheck" #: Verifies that the AppAttachService is healthy (there were no issues during package staging). The AppAttachService is used to enable the staging/registration (and eventual deregistration/destaging) of MSIX apps that have been set up by the tenant admin. This checks whether the component had any failures during package staging. Failures in staging will prevent some MSIX apps from working properly for the end user. If this check fails, it is non fatal and the machine still can service connections, main issue may be certain apps will not work for end-users. + +class HealthCheckResult(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Represents the Health state of the health check we performed. + """ + + UNKNOWN = "Unknown" #: Health check result is not currently known. + HEALTH_CHECK_SUCCEEDED = "HealthCheckSucceeded" #: Health check passed. + HEALTH_CHECK_FAILED = "HealthCheckFailed" #: Health check failed. + SESSION_HOST_SHUTDOWN = "SessionHostShutdown" #: We received a Shutdown notification. + +class HostPoolType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """HostPool type for desktop. """ - personal = "Personal" - pooled = "Pooled" + PERSONAL = "Personal" #: Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost. + POOLED = "Pooled" #: Users get a new (random) SessionHost every time it connects to the HostPool. + BYO_DESKTOP = "BYODesktop" #: Users assign their own machines, load balancing logic remains the same as Personal. PersonalDesktopAssignmentType must be Direct. -class LoadBalancerType(str, Enum): +class LoadBalancerType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """The type of the load balancer. """ - breadth_first = "BreadthFirst" - depth_first = "DepthFirst" - persistent = "Persistent" + BREADTH_FIRST = "BreadthFirst" + DEPTH_FIRST = "DepthFirst" + PERSISTENT = "Persistent" + +class Operation(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of operation for migration. + """ + + START = "Start" #: Start the migration. + REVOKE = "Revoke" #: Revoke the migration. + COMPLETE = "Complete" #: Complete the migration. + HIDE = "Hide" #: Hide the hostpool. + UNHIDE = "Unhide" #: Unhide the hostpool. -class PersonalDesktopAssignmentType(str, Enum): +class PersonalDesktopAssignmentType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """PersonalDesktopAssignment type for HostPool. """ - automatic = "Automatic" - direct = "Direct" + AUTOMATIC = "Automatic" + DIRECT = "Direct" + +class PreferredAppGroupType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of preferred application group type, default to Desktop Application Group + """ -class RegistrationTokenOperation(str, Enum): + NONE = "None" + DESKTOP = "Desktop" + RAIL_APPLICATIONS = "RailApplications" + +class RegistrationTokenOperation(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """The type of resetting the token. """ - delete = "Delete" - none = "None" - update = "Update" + DELETE = "Delete" + NONE = "None" + UPDATE = "Update" + +class RemoteApplicationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Resource Type of Application. + """ + + IN_BUILT = "InBuilt" + MSIX_APPLICATION = "MsixApplication" + +class ScalingScheduleDaysOfWeekItem(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): -class SessionState(str, Enum): + SUNDAY = "Sunday" + MONDAY = "Monday" + TUESDAY = "Tuesday" + WEDNESDAY = "Wednesday" + THURSDAY = "Thursday" + FRIDAY = "Friday" + SATURDAY = "Saturday" + +class SessionHostLoadBalancingAlgorithm(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Load balancing algorithm for ramp up period. + """ + + BREADTH_FIRST = "BreadthFirst" + DEPTH_FIRST = "DepthFirst" + +class SessionState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """State of user session. """ - unknown = "Unknown" - active = "Active" - disconnected = "Disconnected" - pending = "Pending" - log_off = "LogOff" - user_profile_disk_mounted = "UserProfileDiskMounted" + UNKNOWN = "Unknown" + ACTIVE = "Active" + DISCONNECTED = "Disconnected" + PENDING = "Pending" + LOG_OFF = "LogOff" + USER_PROFILE_DISK_MOUNTED = "UserProfileDiskMounted" + +class SkuTier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """This field is required to be implemented by the Resource Provider if the service has more than + one tier, but is not required on a PUT. + """ + + FREE = "Free" + BASIC = "Basic" + STANDARD = "Standard" + PREMIUM = "Premium" + +class SsoSecretType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of single sign on Secret Type. + """ -class Status(str, Enum): + SHARED_KEY = "SharedKey" + CERTIFICATE = "Certificate" + SHARED_KEY_IN_KEY_VAULT = "SharedKeyInKeyVault" + CERTIFICATE_IN_KEY_VAULT = "CertificateInKeyVault" + +class Status(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Status for a SessionHost. """ - available = "Available" - unavailable = "Unavailable" - shutdown = "Shutdown" - disconnected = "Disconnected" - upgrading = "Upgrading" - upgrade_failed = "UpgradeFailed" + AVAILABLE = "Available" #: Session Host has passed all the health checks and is available to handle connections. + UNAVAILABLE = "Unavailable" #: Session Host is either turned off or has failed critical health checks which is causing service not to be able to route connections to this session host. Note this replaces previous 'NoHeartBeat' status. + SHUTDOWN = "Shutdown" #: Session Host is shutdown - RD Agent reported session host to be stopped or deallocated. + DISCONNECTED = "Disconnected" #: The Session Host is unavailable because it is currently disconnected. + UPGRADING = "Upgrading" #: Session Host is unavailable because currently an upgrade of RDAgent/side-by-side stack is in progress. Note: this state will be removed once the upgrade completes and the host is able to accept connections. + UPGRADE_FAILED = "UpgradeFailed" #: Session Host is unavailable because the critical component upgrade (agent, side-by-side stack, etc.) failed. + NO_HEARTBEAT = "NoHeartbeat" #: The Session Host is not heart beating. + NOT_JOINED_TO_DOMAIN = "NotJoinedToDomain" #: SessionHost is not joined to domain. + DOMAIN_TRUST_RELATIONSHIP_LOST = "DomainTrustRelationshipLost" #: SessionHost's domain trust relationship lost. + SX_S_STACK_LISTENER_NOT_READY = "SxSStackListenerNotReady" #: SxS stack installed on the SessionHost is not ready to receive connections. + FS_LOGIX_NOT_HEALTHY = "FSLogixNotHealthy" #: FSLogix is in an unhealthy state on the session host. + NEEDS_ASSISTANCE = "NeedsAssistance" #: New status to inform admins that the health on their endpoint needs to be fixed. The connections might not fail, as these issues are not fatal. + +class StopHostsWhen(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Specifies when to stop hosts during ramp down period. + """ + + ZERO_SESSIONS = "ZeroSessions" + ZERO_ACTIVE_SESSIONS = "ZeroActiveSessions" -class UpdateState(str, Enum): +class UpdateState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Update state of a SessionHost. """ - initial = "Initial" - pending = "Pending" - started = "Started" - succeeded = "Succeeded" - failed = "Failed" + INITIAL = "Initial" + PENDING = "Pending" + STARTED = "Started" + SUCCEEDED = "Succeeded" + FAILED = "Failed" diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_models.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_models.py index bea5d4e283b..0791145c654 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_models.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_models.py @@ -10,17 +10,17 @@ class Resource(msrest.serialization.Model): - """Resource. + """Common fields that are returned in the response for all Azure Resource Manager 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. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str """ @@ -53,20 +53,29 @@ class Application(Resource): All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str + :ivar object_id: ObjectId of Application. (internal use). + :vartype object_id: str :param description: Description of Application. :type description: str :param friendly_name: Friendly name of Application. :type friendly_name: str :param file_path: Specifies a path for the executable file for the application. :type file_path: str + :param msix_package_family_name: Specifies the package family name for MSIX applications. + :type msix_package_family_name: str + :param msix_package_application_id: Specifies the package application Id for MSIX applications. + :type msix_package_application_id: str + :param application_type: Resource Type of Application. Possible values include: "InBuilt", + "MsixApplication". + :type application_type: str or ~desktop_virtualization_api_client.models.RemoteApplicationType :param command_line_setting: Required. Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. Possible values include: "DoNotAllow", @@ -91,6 +100,7 @@ class Application(Resource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'object_id': {'readonly': True}, 'command_line_setting': {'required': True}, 'icon_hash': {'readonly': True}, 'icon_content': {'readonly': True}, @@ -100,9 +110,13 @@ class Application(Resource): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'object_id': {'key': 'properties.objectId', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, 'file_path': {'key': 'properties.filePath', 'type': 'str'}, + 'msix_package_family_name': {'key': 'properties.msixPackageFamilyName', 'type': 'str'}, + 'msix_package_application_id': {'key': 'properties.msixPackageApplicationId', 'type': 'str'}, + 'application_type': {'key': 'properties.applicationType', 'type': 'str'}, 'command_line_setting': {'key': 'properties.commandLineSetting', 'type': 'str'}, 'command_line_arguments': {'key': 'properties.commandLineArguments', 'type': 'str'}, 'show_in_portal': {'key': 'properties.showInPortal', 'type': 'bool'}, @@ -117,9 +131,13 @@ def __init__( **kwargs ): super(Application, self).__init__(**kwargs) + self.object_id = None self.description = kwargs.get('description', None) self.friendly_name = kwargs.get('friendly_name', None) self.file_path = kwargs.get('file_path', None) + self.msix_package_family_name = kwargs.get('msix_package_family_name', None) + self.msix_package_application_id = kwargs.get('msix_package_application_id', None) + self.application_type = kwargs.get('application_type', None) self.command_line_setting = kwargs['command_line_setting'] self.command_line_arguments = kwargs.get('command_line_arguments', None) self.show_in_portal = kwargs.get('show_in_portal', None) @@ -129,70 +147,128 @@ def __init__( self.icon_content = None -class TrackedResource(Resource): - """The resource model definition for a ARM tracked top level resource. +class ResourceModelWithAllowedPropertySet(msrest.serialization.Model): + """The resource model definition containing the full set of allowed properties for a resource. Except properties bag, there cannot be a top level property outside of this set. Variables are only populated by the server, and will be ignored when sending a request. - All required parameters must be populated in order to send to Azure. - - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str + :param location: The geo-location where the resource lives. + :type location: str + :param managed_by: The fully qualified resource ID of the resource that manages this resource. + Indicates if this resource is managed by another Azure resource. If this is present, complete + mode deployment will not delete the resource if it is removed from the template since it is + managed by another resource. + :type managed_by: str + :param kind: Metadata used by portal/tooling/etc to render different UX experiences for + resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, + the resource provider must validate and persist this value. + :type kind: str + :ivar etag: The etag field is *not* required. If it is provided in the response body, it must + also be provided as a header per the normal etag convention. Entity tags are used for + comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in + the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range + (section 14.27) header fields. + :vartype etag: str :param tags: A set of tags. Resource tags. :type tags: dict[str, str] - :param location: Required. The geo-location where the resource lives. - :type location: str + :param identity: Identity for the resource. + :type identity: ~desktop_virtualization_api_client.models.Identity + :param sku: The resource model definition representing SKU. + :type sku: ~desktop_virtualization_api_client.models.Sku + :param plan: Plan for the resource. + :type plan: ~desktop_virtualization_api_client.models.Plan """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, - 'location': {'required': True}, + 'kind': {'pattern': r'^[-\w\._,\(\)]+$'}, + 'etag': {'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'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, } def __init__( self, **kwargs ): - super(TrackedResource, self).__init__(**kwargs) + super(ResourceModelWithAllowedPropertySet, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.managed_by = kwargs.get('managed_by', None) + self.kind = kwargs.get('kind', None) + self.etag = None self.tags = kwargs.get('tags', None) - self.location = kwargs['location'] + self.identity = kwargs.get('identity', None) + self.sku = kwargs.get('sku', None) + self.plan = kwargs.get('plan', None) -class ApplicationGroup(TrackedResource): +class ApplicationGroup(ResourceModelWithAllowedPropertySet): """Represents a ApplicationGroup definition. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str + :param location: The geo-location where the resource lives. + :type location: str + :param managed_by: The fully qualified resource ID of the resource that manages this resource. + Indicates if this resource is managed by another Azure resource. If this is present, complete + mode deployment will not delete the resource if it is removed from the template since it is + managed by another resource. + :type managed_by: str + :param kind: Metadata used by portal/tooling/etc to render different UX experiences for + resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, + the resource provider must validate and persist this value. + :type kind: str + :ivar etag: The etag field is *not* required. If it is provided in the response body, it must + also be provided as a header per the normal etag convention. Entity tags are used for + comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in + the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range + (section 14.27) header fields. + :vartype etag: str :param tags: A set of tags. Resource tags. :type tags: dict[str, str] - :param location: Required. The geo-location where the resource lives. - :type location: str + :param identity: Identity for the resource. + :type identity: ~desktop_virtualization_api_client.models.Identity + :param sku: The resource model definition representing SKU. + :type sku: ~desktop_virtualization_api_client.models.Sku + :param plan: Plan for the resource. + :type plan: ~desktop_virtualization_api_client.models.Plan + :ivar object_id: ObjectId of ApplicationGroup. (internal use). + :vartype object_id: str :param description: Description of ApplicationGroup. :type description: str :param friendly_name: Friendly name of ApplicationGroup. @@ -205,29 +281,45 @@ class ApplicationGroup(TrackedResource): include: "RemoteApp", "Desktop". :type application_group_type: str or ~desktop_virtualization_api_client.models.ApplicationGroupType + :param migration_request: The registration info of HostPool. + :type migration_request: ~desktop_virtualization_api_client.models.MigrationRequestProperties + :ivar cloud_pc_resource: Is cloud pc resource. + :vartype cloud_pc_resource: bool """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, - 'location': {'required': True}, + 'kind': {'pattern': r'^[-\w\._,\(\)]+$'}, + 'etag': {'readonly': True}, + 'object_id': {'readonly': True}, 'host_pool_arm_path': {'required': True}, 'workspace_arm_path': {'readonly': True}, 'application_group_type': {'required': True}, + 'cloud_pc_resource': {'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'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, + 'object_id': {'key': 'properties.objectId', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, 'host_pool_arm_path': {'key': 'properties.hostPoolArmPath', 'type': 'str'}, 'workspace_arm_path': {'key': 'properties.workspaceArmPath', 'type': 'str'}, 'application_group_type': {'key': 'properties.applicationGroupType', 'type': 'str'}, + 'migration_request': {'key': 'properties.migrationRequest', 'type': 'MigrationRequestProperties'}, + 'cloud_pc_resource': {'key': 'properties.cloudPcResource', 'type': 'bool'}, } def __init__( @@ -235,11 +327,14 @@ def __init__( **kwargs ): super(ApplicationGroup, self).__init__(**kwargs) + self.object_id = None self.description = kwargs.get('description', None) self.friendly_name = kwargs.get('friendly_name', None) self.host_pool_arm_path = kwargs['host_pool_arm_path'] self.workspace_arm_path = None self.application_group_type = kwargs['application_group_type'] + self.migration_request = kwargs.get('migration_request', None) + self.cloud_pc_resource = None class ApplicationGroupList(msrest.serialization.Model): @@ -276,13 +371,13 @@ class ApplicationGroupPatch(Resource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str :param tags: A set of tags. tags to be updated. :type tags: dict[str, str] @@ -371,6 +466,13 @@ class ApplicationPatch(msrest.serialization.Model): :type icon_path: str :param icon_index: Index of the icon. :type icon_index: int + :param msix_package_family_name: Specifies the package family name for MSIX applications. + :type msix_package_family_name: str + :param msix_package_application_id: Specifies the package application Id for MSIX applications. + :type msix_package_application_id: str + :param application_type: Resource Type of Application. Possible values include: "InBuilt", + "MsixApplication". + :type application_type: str or ~desktop_virtualization_api_client.models.RemoteApplicationType """ _attribute_map = { @@ -383,6 +485,9 @@ class ApplicationPatch(msrest.serialization.Model): 'show_in_portal': {'key': 'properties.showInPortal', 'type': 'bool'}, 'icon_path': {'key': 'properties.iconPath', 'type': 'str'}, 'icon_index': {'key': 'properties.iconIndex', 'type': 'int'}, + 'msix_package_family_name': {'key': 'properties.msixPackageFamilyName', 'type': 'str'}, + 'msix_package_application_id': {'key': 'properties.msixPackageApplicationId', 'type': 'str'}, + 'application_type': {'key': 'properties.applicationType', 'type': 'str'}, } def __init__( @@ -399,6 +504,32 @@ def __init__( self.show_in_portal = kwargs.get('show_in_portal', None) self.icon_path = kwargs.get('icon_path', None) self.icon_index = kwargs.get('icon_index', None) + self.msix_package_family_name = kwargs.get('msix_package_family_name', None) + self.msix_package_application_id = kwargs.get('msix_package_application_id', None) + self.application_type = kwargs.get('application_type', None) + + +class CloudErrorProperties(msrest.serialization.Model): + """CloudErrorProperties. + + :param code: Error code. + :type code: str + :param message: Error message indicating why the operation failed. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CloudErrorProperties, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) class Desktop(Resource): @@ -406,14 +537,16 @@ class Desktop(Resource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str + :ivar object_id: ObjectId of Desktop. (internal use). + :vartype object_id: str :param description: Description of Desktop. :type description: str :param friendly_name: Friendly name of Desktop. @@ -428,6 +561,7 @@ class Desktop(Resource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'object_id': {'readonly': True}, 'icon_hash': {'readonly': True}, 'icon_content': {'readonly': True}, } @@ -436,6 +570,7 @@ class Desktop(Resource): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'object_id': {'key': 'properties.objectId', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, 'icon_hash': {'key': 'properties.iconHash', 'type': 'str'}, @@ -447,6 +582,7 @@ def __init__( **kwargs ): super(Desktop, self).__init__(**kwargs) + self.object_id = None self.description = kwargs.get('description', None) self.friendly_name = kwargs.get('friendly_name', None) self.icon_hash = None @@ -509,34 +645,175 @@ def __init__( self.friendly_name = kwargs.get('friendly_name', None) -class HostPool(TrackedResource): +class ExpandMsixImage(Resource): + """Represents the definition of contents retrieved after expanding the MSIX Image. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :param package_alias: Alias of MSIX Package. + :type package_alias: str + :param image_path: VHD/CIM image path on Network Share. + :type image_path: str + :param package_name: Package Name from appxmanifest.xml. + :type package_name: str + :param package_family_name: Package Family Name from appxmanifest.xml. Contains Package Name + and Publisher name. + :type package_family_name: str + :param package_full_name: Package Full Name from appxmanifest.xml. + :type package_full_name: str + :param display_name: User friendly Name to be displayed in the portal. + :type display_name: str + :param package_relative_path: Relative Path to the package inside the image. + :type package_relative_path: str + :param is_regular_registration: Specifies how to register Package in feed. + :type is_regular_registration: bool + :param is_active: Make this version of the package the active one across the hostpool. + :type is_active: bool + :param package_dependencies: List of package dependencies. + :type package_dependencies: + list[~desktop_virtualization_api_client.models.MsixPackageDependencies] + :param version: Package Version found in the appxmanifest.xml. + :type version: str + :param last_updated: Date Package was last updated, found in the appxmanifest.xml. + :type last_updated: ~datetime.datetime + :param package_applications: List of package applications. + :type package_applications: + list[~desktop_virtualization_api_client.models.MsixPackageApplications] + """ + + _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'}, + 'package_alias': {'key': 'properties.packageAlias', 'type': 'str'}, + 'image_path': {'key': 'properties.imagePath', 'type': 'str'}, + 'package_name': {'key': 'properties.packageName', 'type': 'str'}, + 'package_family_name': {'key': 'properties.packageFamilyName', 'type': 'str'}, + 'package_full_name': {'key': 'properties.packageFullName', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'package_relative_path': {'key': 'properties.packageRelativePath', 'type': 'str'}, + 'is_regular_registration': {'key': 'properties.isRegularRegistration', 'type': 'bool'}, + 'is_active': {'key': 'properties.isActive', 'type': 'bool'}, + 'package_dependencies': {'key': 'properties.packageDependencies', 'type': '[MsixPackageDependencies]'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'last_updated': {'key': 'properties.lastUpdated', 'type': 'iso-8601'}, + 'package_applications': {'key': 'properties.packageApplications', 'type': '[MsixPackageApplications]'}, + } + + def __init__( + self, + **kwargs + ): + super(ExpandMsixImage, self).__init__(**kwargs) + self.package_alias = kwargs.get('package_alias', None) + self.image_path = kwargs.get('image_path', None) + self.package_name = kwargs.get('package_name', None) + self.package_family_name = kwargs.get('package_family_name', None) + self.package_full_name = kwargs.get('package_full_name', None) + self.display_name = kwargs.get('display_name', None) + self.package_relative_path = kwargs.get('package_relative_path', None) + self.is_regular_registration = kwargs.get('is_regular_registration', None) + self.is_active = kwargs.get('is_active', None) + self.package_dependencies = kwargs.get('package_dependencies', None) + self.version = kwargs.get('version', None) + self.last_updated = kwargs.get('last_updated', None) + self.package_applications = kwargs.get('package_applications', None) + + +class ExpandMsixImageList(msrest.serialization.Model): + """List of MSIX package properties retrieved from MSIX Image expansion. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of MSIX package properties from give MSIX Image. + :type value: list[~desktop_virtualization_api_client.models.ExpandMsixImage] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpandMsixImage]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ExpandMsixImageList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class HostPool(ResourceModelWithAllowedPropertySet): """Represents a HostPool definition. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str + :param location: The geo-location where the resource lives. + :type location: str + :param managed_by: The fully qualified resource ID of the resource that manages this resource. + Indicates if this resource is managed by another Azure resource. If this is present, complete + mode deployment will not delete the resource if it is removed from the template since it is + managed by another resource. + :type managed_by: str + :param kind: Metadata used by portal/tooling/etc to render different UX experiences for + resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, + the resource provider must validate and persist this value. + :type kind: str + :ivar etag: The etag field is *not* required. If it is provided in the response body, it must + also be provided as a header per the normal etag convention. Entity tags are used for + comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in + the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range + (section 14.27) header fields. + :vartype etag: str :param tags: A set of tags. Resource tags. :type tags: dict[str, str] - :param location: Required. The geo-location where the resource lives. - :type location: str + :param identity: Identity for the resource. + :type identity: ~desktop_virtualization_api_client.models.Identity + :param sku: The resource model definition representing SKU. + :type sku: ~desktop_virtualization_api_client.models.Sku + :param plan: Plan for the resource. + :type plan: ~desktop_virtualization_api_client.models.Plan + :ivar object_id: ObjectId of HostPool. (internal use). + :vartype object_id: str :param friendly_name: Friendly name of HostPool. :type friendly_name: str :param description: Description of HostPool. :type description: str :param host_pool_type: Required. HostPool type for desktop. Possible values include: - "Personal", "Pooled". + "Personal", "Pooled", "BYODesktop". :type host_pool_type: str or ~desktop_virtualization_api_client.models.HostPoolType - :param personal_desktop_assignment_type: Required. PersonalDesktopAssignment type for HostPool. - Possible values include: "Automatic", "Direct". + :param personal_desktop_assignment_type: PersonalDesktopAssignment type for HostPool. Possible + values include: "Automatic", "Direct". :type personal_desktop_assignment_type: str or ~desktop_virtualization_api_client.models.PersonalDesktopAssignmentType :param custom_rdp_property: Custom rdp property of HostPool. @@ -556,27 +833,57 @@ class HostPool(TrackedResource): :type vm_template: str :ivar application_group_references: List of applicationGroup links. :vartype application_group_references: list[str] - :param sso_context: Path to keyvault containing ssoContext secret. - :type sso_context: str + :param ssoadfs_authority: URL to customer ADFS server for signing WVD SSO certificates. + :type ssoadfs_authority: str + :param sso_client_id: ClientId for the registered Relying Party used to issue WVD SSO + certificates. + :type sso_client_id: str + :param sso_client_secret_key_vault_path: Path to Azure KeyVault storing the secret used for + communication to ADFS. + :type sso_client_secret_key_vault_path: str + :param sso_secret_type: The type of single sign on Secret Type. Possible values include: + "SharedKey", "Certificate", "SharedKeyInKeyVault", "CertificateInKeyVault". + :type sso_secret_type: str or ~desktop_virtualization_api_client.models.SsoSecretType + :param preferred_app_group_type: Required. The type of preferred application group type, + default to Desktop Application Group. Possible values include: "None", "Desktop", + "RailApplications". + :type preferred_app_group_type: str or + ~desktop_virtualization_api_client.models.PreferredAppGroupType + :param start_vm_on_connect: The flag to turn on/off StartVMOnConnect feature. + :type start_vm_on_connect: bool + :param migration_request: The registration info of HostPool. + :type migration_request: ~desktop_virtualization_api_client.models.MigrationRequestProperties + :ivar cloud_pc_resource: Is cloud pc resource. + :vartype cloud_pc_resource: bool """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, - 'location': {'required': True}, + 'kind': {'pattern': r'^[-\w\._,\(\)]+$'}, + 'etag': {'readonly': True}, + 'object_id': {'readonly': True}, 'host_pool_type': {'required': True}, - 'personal_desktop_assignment_type': {'required': True}, 'load_balancer_type': {'required': True}, 'application_group_references': {'readonly': True}, + 'preferred_app_group_type': {'required': True}, + 'cloud_pc_resource': {'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'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, + 'object_id': {'key': 'properties.objectId', 'type': 'str'}, 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'host_pool_type': {'key': 'properties.hostPoolType', 'type': 'str'}, @@ -589,7 +896,14 @@ class HostPool(TrackedResource): 'registration_info': {'key': 'properties.registrationInfo', 'type': 'RegistrationInfo'}, 'vm_template': {'key': 'properties.vmTemplate', 'type': 'str'}, 'application_group_references': {'key': 'properties.applicationGroupReferences', 'type': '[str]'}, - 'sso_context': {'key': 'properties.ssoContext', 'type': 'str'}, + 'ssoadfs_authority': {'key': 'properties.ssoadfsAuthority', 'type': 'str'}, + 'sso_client_id': {'key': 'properties.ssoClientId', 'type': 'str'}, + 'sso_client_secret_key_vault_path': {'key': 'properties.ssoClientSecretKeyVaultPath', 'type': 'str'}, + 'sso_secret_type': {'key': 'properties.ssoSecretType', 'type': 'str'}, + 'preferred_app_group_type': {'key': 'properties.preferredAppGroupType', 'type': 'str'}, + 'start_vm_on_connect': {'key': 'properties.startVMOnConnect', 'type': 'bool'}, + 'migration_request': {'key': 'properties.migrationRequest', 'type': 'MigrationRequestProperties'}, + 'cloud_pc_resource': {'key': 'properties.cloudPcResource', 'type': 'bool'}, } def __init__( @@ -597,10 +911,11 @@ def __init__( **kwargs ): super(HostPool, self).__init__(**kwargs) + self.object_id = None self.friendly_name = kwargs.get('friendly_name', None) self.description = kwargs.get('description', None) self.host_pool_type = kwargs['host_pool_type'] - self.personal_desktop_assignment_type = kwargs['personal_desktop_assignment_type'] + self.personal_desktop_assignment_type = kwargs.get('personal_desktop_assignment_type', None) self.custom_rdp_property = kwargs.get('custom_rdp_property', None) self.max_session_limit = kwargs.get('max_session_limit', None) self.load_balancer_type = kwargs['load_balancer_type'] @@ -609,7 +924,14 @@ def __init__( self.registration_info = kwargs.get('registration_info', None) self.vm_template = kwargs.get('vm_template', None) self.application_group_references = None - self.sso_context = kwargs.get('sso_context', None) + self.ssoadfs_authority = kwargs.get('ssoadfs_authority', None) + self.sso_client_id = kwargs.get('sso_client_id', None) + self.sso_client_secret_key_vault_path = kwargs.get('sso_client_secret_key_vault_path', None) + self.sso_secret_type = kwargs.get('sso_secret_type', None) + self.preferred_app_group_type = kwargs['preferred_app_group_type'] + self.start_vm_on_connect = kwargs.get('start_vm_on_connect', None) + self.migration_request = kwargs.get('migration_request', None) + self.cloud_pc_resource = None class HostPoolList(msrest.serialization.Model): @@ -646,13 +968,13 @@ class HostPoolPatch(Resource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str :param tags: A set of tags. tags to be updated. :type tags: dict[str, str] @@ -677,8 +999,25 @@ class HostPoolPatch(Resource): :type validation_environment: bool :param registration_info: The registration info of HostPool. :type registration_info: ~desktop_virtualization_api_client.models.RegistrationInfoPatch - :param sso_context: Path to keyvault containing ssoContext secret. - :type sso_context: str + :param vm_template: VM template for sessionhosts configuration within hostpool. + :type vm_template: str + :param ssoadfs_authority: URL to customer ADFS server for signing WVD SSO certificates. + :type ssoadfs_authority: str + :param sso_client_id: ClientId for the registered Relying Party used to issue WVD SSO + certificates. + :type sso_client_id: str + :param sso_client_secret_key_vault_path: Path to Azure KeyVault storing the secret used for + communication to ADFS. + :type sso_client_secret_key_vault_path: str + :param sso_secret_type: The type of single sign on Secret Type. Possible values include: + "SharedKey", "Certificate", "SharedKeyInKeyVault", "CertificateInKeyVault". + :type sso_secret_type: str or ~desktop_virtualization_api_client.models.SsoSecretType + :param preferred_app_group_type: The type of preferred application group type, default to + Desktop Application Group. Possible values include: "None", "Desktop", "RailApplications". + :type preferred_app_group_type: str or + ~desktop_virtualization_api_client.models.PreferredAppGroupType + :param start_vm_on_connect: The flag to turn on/off StartVMOnConnect feature. + :type start_vm_on_connect: bool """ _validation = { @@ -701,7 +1040,13 @@ class HostPoolPatch(Resource): 'ring': {'key': 'properties.ring', 'type': 'int'}, 'validation_environment': {'key': 'properties.validationEnvironment', 'type': 'bool'}, 'registration_info': {'key': 'properties.registrationInfo', 'type': 'RegistrationInfoPatch'}, - 'sso_context': {'key': 'properties.ssoContext', 'type': 'str'}, + 'vm_template': {'key': 'properties.vmTemplate', 'type': 'str'}, + 'ssoadfs_authority': {'key': 'properties.ssoadfsAuthority', 'type': 'str'}, + 'sso_client_id': {'key': 'properties.ssoClientId', 'type': 'str'}, + 'sso_client_secret_key_vault_path': {'key': 'properties.ssoClientSecretKeyVaultPath', 'type': 'str'}, + 'sso_secret_type': {'key': 'properties.ssoSecretType', 'type': 'str'}, + 'preferred_app_group_type': {'key': 'properties.preferredAppGroupType', 'type': 'str'}, + 'start_vm_on_connect': {'key': 'properties.startVMOnConnect', 'type': 'bool'}, } def __init__( @@ -719,216 +1064,1137 @@ def __init__( self.ring = kwargs.get('ring', None) self.validation_environment = kwargs.get('validation_environment', None) self.registration_info = kwargs.get('registration_info', None) - self.sso_context = kwargs.get('sso_context', None) + self.vm_template = kwargs.get('vm_template', None) + self.ssoadfs_authority = kwargs.get('ssoadfs_authority', None) + self.sso_client_id = kwargs.get('sso_client_id', None) + self.sso_client_secret_key_vault_path = kwargs.get('sso_client_secret_key_vault_path', None) + self.sso_secret_type = kwargs.get('sso_secret_type', None) + self.preferred_app_group_type = kwargs.get('preferred_app_group_type', None) + self.start_vm_on_connect = kwargs.get('start_vm_on_connect', None) -class RegistrationInfo(msrest.serialization.Model): - """Represents a RegistrationInfo definition. +class Identity(msrest.serialization.Model): + """Identity for the resource. - :param expiration_time: Expiration time of registration token. - :type expiration_time: ~datetime.datetime - :param token: The registration token base64 encoded string. - :type token: str - :param registration_token_operation: The type of resetting the token. Possible values include: - "Delete", "None", "Update". - :type registration_token_operation: str or - ~desktop_virtualization_api_client.models.RegistrationTokenOperation + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: The identity type. Default value: "SystemAssigned". + :vartype type: str """ + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'type': {'constant': True}, + } + _attribute_map = { - 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, - 'token': {'key': 'token', 'type': 'str'}, - 'registration_token_operation': {'key': 'registrationTokenOperation', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, } + type = "SystemAssigned" + def __init__( self, **kwargs ): - super(RegistrationInfo, self).__init__(**kwargs) - self.expiration_time = kwargs.get('expiration_time', None) - self.token = kwargs.get('token', None) - self.registration_token_operation = kwargs.get('registration_token_operation', None) + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None -class RegistrationInfoPatch(msrest.serialization.Model): - """Represents a RegistrationInfo definition. +class LogSpecification(msrest.serialization.Model): + """Specifications of the Log for Azure Monitoring. - :param expiration_time: Expiration time of registration token. - :type expiration_time: ~datetime.datetime - :param registration_token_operation: The type of resetting the token. Possible values include: - "Delete", "None", "Update". - :type registration_token_operation: str or - ~desktop_virtualization_api_client.models.RegistrationTokenOperation + :param name: Name of the log. + :type name: str + :param display_name: Localized friendly display name of the log. + :type display_name: str + :param blob_duration: Blob duration of the log. + :type blob_duration: str """ _attribute_map = { - 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, - 'registration_token_operation': {'key': 'registrationTokenOperation', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, } def __init__( self, **kwargs ): - super(RegistrationInfoPatch, self).__init__(**kwargs) - self.expiration_time = kwargs.get('expiration_time', None) - self.registration_token_operation = kwargs.get('registration_token_operation', None) + super(LogSpecification, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.blob_duration = kwargs.get('blob_duration', None) -class ResourceProviderOperation(msrest.serialization.Model): - """Supported operation of this resource provider. +class MigrationRequestProperties(msrest.serialization.Model): + """Properties for arm migration. - :param name: Operation name, in format of {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: ~desktop_virtualization_api_client.models.ResourceProviderOperationDisplay + :param operation: The type of operation for migration. Possible values include: "Start", + "Revoke", "Complete", "Hide", "Unhide". + :type operation: str or ~desktop_virtualization_api_client.models.Operation + :param migration_path: The path to the legacy object to migrate. + :type migration_path: str """ _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'migration_path': {'key': 'migrationPath', 'type': 'str'}, } def __init__( self, **kwargs ): - super(ResourceProviderOperation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display = kwargs.get('display', None) + super(MigrationRequestProperties, self).__init__(**kwargs) + self.operation = kwargs.get('operation', None) + self.migration_path = kwargs.get('migration_path', None) -class ResourceProviderOperationDisplay(msrest.serialization.Model): - """Display metadata associated with the operation. +class MsixImageUri(msrest.serialization.Model): + """Represents URI referring to MSIX Image. - :param provider: Resource provider: Microsoft Desktop Virtualization. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :param description: Description of this operation. + :param uri: URI to Image. + :type uri: str + """ + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MsixImageUri, self).__init__(**kwargs) + self.uri = kwargs.get('uri', None) + + +class MsixPackage(Resource): + """Schema for MSIX Package properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :param image_path: VHD/CIM image path on Network Share. + :type image_path: str + :param package_name: Package Name from appxmanifest.xml. + :type package_name: str + :param package_family_name: Package Family Name from appxmanifest.xml. Contains Package Name + and Publisher name. + :type package_family_name: str + :param display_name: User friendly Name to be displayed in the portal. + :type display_name: str + :param package_relative_path: Relative Path to the package inside the image. + :type package_relative_path: str + :param is_regular_registration: Specifies how to register Package in feed. + :type is_regular_registration: bool + :param is_active: Make this version of the package the active one across the hostpool. + :type is_active: bool + :param package_dependencies: List of package dependencies. + :type package_dependencies: + list[~desktop_virtualization_api_client.models.MsixPackageDependencies] + :param version: Package Version found in the appxmanifest.xml. + :type version: str + :param last_updated: Date Package was last updated, found in the appxmanifest.xml. + :type last_updated: ~datetime.datetime + :param package_applications: List of package applications. + :type package_applications: + list[~desktop_virtualization_api_client.models.MsixPackageApplications] + """ + + _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'}, + 'image_path': {'key': 'properties.imagePath', 'type': 'str'}, + 'package_name': {'key': 'properties.packageName', 'type': 'str'}, + 'package_family_name': {'key': 'properties.packageFamilyName', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'package_relative_path': {'key': 'properties.packageRelativePath', 'type': 'str'}, + 'is_regular_registration': {'key': 'properties.isRegularRegistration', 'type': 'bool'}, + 'is_active': {'key': 'properties.isActive', 'type': 'bool'}, + 'package_dependencies': {'key': 'properties.packageDependencies', 'type': '[MsixPackageDependencies]'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'last_updated': {'key': 'properties.lastUpdated', 'type': 'iso-8601'}, + 'package_applications': {'key': 'properties.packageApplications', 'type': '[MsixPackageApplications]'}, + } + + def __init__( + self, + **kwargs + ): + super(MsixPackage, self).__init__(**kwargs) + self.image_path = kwargs.get('image_path', None) + self.package_name = kwargs.get('package_name', None) + self.package_family_name = kwargs.get('package_family_name', None) + self.display_name = kwargs.get('display_name', None) + self.package_relative_path = kwargs.get('package_relative_path', None) + self.is_regular_registration = kwargs.get('is_regular_registration', None) + self.is_active = kwargs.get('is_active', None) + self.package_dependencies = kwargs.get('package_dependencies', None) + self.version = kwargs.get('version', None) + self.last_updated = kwargs.get('last_updated', None) + self.package_applications = kwargs.get('package_applications', None) + + +class MsixPackageApplications(msrest.serialization.Model): + """Schema for MSIX Package Application properties. + + :param app_id: Package Application Id, found in appxmanifest.xml. + :type app_id: str + :param description: Description of Package Application. :type description: str + :param app_user_model_id: Used to activate Package Application. Consists of Package Name and + ApplicationID. Found in appxmanifest.xml. + :type app_user_model_id: str + :param friendly_name: User friendly name. + :type friendly_name: str + :param icon_image_name: User friendly name. + :type icon_image_name: str + :param raw_icon: the icon a 64 bit string as a byte array. + :type raw_icon: bytearray + :param raw_png: the icon a 64 bit string as a byte array. + :type raw_png: bytearray """ _attribute_map = { - 'provider': {'key': 'provider', 'type': 'str'}, - 'resource': {'key': 'resource', 'type': 'str'}, - 'operation': {'key': 'operation', 'type': 'str'}, + 'app_id': {'key': 'appId', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, + 'app_user_model_id': {'key': 'appUserModelID', 'type': 'str'}, + 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, + 'icon_image_name': {'key': 'iconImageName', 'type': 'str'}, + 'raw_icon': {'key': 'rawIcon', 'type': 'bytearray'}, + 'raw_png': {'key': 'rawPng', 'type': 'bytearray'}, } 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) + super(MsixPackageApplications, self).__init__(**kwargs) + self.app_id = kwargs.get('app_id', None) self.description = kwargs.get('description', None) + self.app_user_model_id = kwargs.get('app_user_model_id', None) + self.friendly_name = kwargs.get('friendly_name', None) + self.icon_image_name = kwargs.get('icon_image_name', None) + self.raw_icon = kwargs.get('raw_icon', None) + self.raw_png = kwargs.get('raw_png', None) -class ResourceProviderOperationList(msrest.serialization.Model): - """Result of the request to list operations. +class MsixPackageDependencies(msrest.serialization.Model): + """Schema for MSIX Package Dependencies properties. - :param value: List of operations supported by this resource provider. - :type value: list[~desktop_virtualization_api_client.models.ResourceProviderOperation] + :param dependency_name: Name of package dependency. + :type dependency_name: str + :param publisher: Name of dependency publisher. + :type publisher: str + :param min_version: Dependency version required. + :type min_version: str """ _attribute_map = { - 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'dependency_name': {'key': 'dependencyName', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'min_version': {'key': 'minVersion', 'type': 'str'}, } def __init__( self, **kwargs ): - super(ResourceProviderOperationList, self).__init__(**kwargs) - self.value = kwargs.get('value', None) + super(MsixPackageDependencies, self).__init__(**kwargs) + self.dependency_name = kwargs.get('dependency_name', None) + self.publisher = kwargs.get('publisher', None) + self.min_version = kwargs.get('min_version', None) -class SendMessage(msrest.serialization.Model): - """Represents message sent to a UserSession. +class MsixPackageList(msrest.serialization.Model): + """List of MSIX Package definitions. - :param message_title: Title of message. - :type message_title: str - :param message_body: Body of message. - :type message_body: str + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of MSIX Package definitions. + :type value: list[~desktop_virtualization_api_client.models.MsixPackage] + :ivar next_link: Link to the next page of results. + :vartype next_link: str """ + _validation = { + 'next_link': {'readonly': True}, + } + _attribute_map = { - 'message_title': {'key': 'messageTitle', 'type': 'str'}, - 'message_body': {'key': 'messageBody', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[MsixPackage]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, } def __init__( self, **kwargs ): - super(SendMessage, self).__init__(**kwargs) - self.message_title = kwargs.get('message_title', None) - self.message_body = kwargs.get('message_body', None) + super(MsixPackageList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None -class SessionHost(Resource): - """Represents a SessionHost definition. +class MsixPackagePatch(Resource): + """MSIX Package properties that can be patched. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str - :param last_heart_beat: Last heart beat from SessionHost. - :type last_heart_beat: ~datetime.datetime - :param sessions: Number of sessions on SessionHost. - :type sessions: int - :param agent_version: Version of agent on SessionHost. - :type agent_version: str - :param allow_new_session: Allow a new session. - :type allow_new_session: bool - :param assigned_user: User assigned to SessionHost. - :type assigned_user: str - :param status: Status for a SessionHost. Possible values include: "Available", "Unavailable", - "Shutdown", "Disconnected", "Upgrading", "UpgradeFailed". - :type status: str or ~desktop_virtualization_api_client.models.Status - :ivar status_timestamp: The timestamp of the status. - :vartype status_timestamp: ~datetime.datetime - :param os_version: The version of the OS on the session host. - :type os_version: str - :param sx_s_stack_version: The version of the side by side stack on the session host. - :type sx_s_stack_version: str - :param update_state: Update state of a SessionHost. Possible values include: "Initial", - "Pending", "Started", "Succeeded", "Failed". - :type update_state: str or ~desktop_virtualization_api_client.models.UpdateState - :ivar last_update_time: The timestamp of the last update. - :vartype last_update_time: ~datetime.datetime - :param update_error_message: The error message. - :type update_error_message: str + :param is_active: Set a version of the package to be active across hostpool. + :type is_active: bool + :param is_regular_registration: Set Registration mode. Regular or Delayed. + :type is_regular_registration: bool + :param display_name: Display name for MSIX Package. + :type display_name: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, - 'status_timestamp': {'readonly': True}, - 'last_update_time': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'is_active': {'key': 'properties.isActive', 'type': 'bool'}, + 'is_regular_registration': {'key': 'properties.isRegularRegistration', 'type': 'bool'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MsixPackagePatch, self).__init__(**kwargs) + self.is_active = kwargs.get('is_active', None) + self.is_regular_registration = kwargs.get('is_regular_registration', None) + self.display_name = kwargs.get('display_name', None) + + +class OperationProperties(msrest.serialization.Model): + """Properties of the operation. + + :param service_specification: Service specification payload. + :type service_specification: ~desktop_virtualization_api_client.models.ServiceSpecification + """ + + _attribute_map = { + 'service_specification': {'key': 'serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationProperties, self).__init__(**kwargs) + self.service_specification = kwargs.get('service_specification', None) + + +class Plan(msrest.serialization.Model): + """Plan for the resource. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. A user defined name of the 3rd Party Artifact that is being procured. + :type name: str + :param publisher: Required. The publisher of the 3rd Party Artifact that is being bought. E.g. + NewRelic. + :type publisher: str + :param product: Required. The 3rd Party artifact that is being procured. E.g. NewRelic. Product + maps to the OfferID specified for the artifact at the time of Data Market onboarding. + :type product: str + :param promotion_code: A publisher provided promotion code as provisioned in Data Market for + the said product/artifact. + :type promotion_code: str + :param version: The version of the desired product/artifact. + :type version: str + """ + + _validation = { + 'name': {'required': True}, + 'publisher': {'required': True}, + 'product': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'product': {'key': 'product', 'type': 'str'}, + 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Plan, self).__init__(**kwargs) + self.name = kwargs['name'] + self.publisher = kwargs['publisher'] + self.product = kwargs['product'] + self.promotion_code = kwargs.get('promotion_code', None) + self.version = kwargs.get('version', None) + + +class RegistrationInfo(msrest.serialization.Model): + """Represents a RegistrationInfo definition. + + :param expiration_time: Expiration time of registration token. + :type expiration_time: ~datetime.datetime + :param token: The registration token base64 encoded string. + :type token: str + :param registration_token_operation: The type of resetting the token. Possible values include: + "Delete", "None", "Update". + :type registration_token_operation: str or + ~desktop_virtualization_api_client.models.RegistrationTokenOperation + """ + + _attribute_map = { + 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, + 'token': {'key': 'token', 'type': 'str'}, + 'registration_token_operation': {'key': 'registrationTokenOperation', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RegistrationInfo, self).__init__(**kwargs) + self.expiration_time = kwargs.get('expiration_time', None) + self.token = kwargs.get('token', None) + self.registration_token_operation = kwargs.get('registration_token_operation', None) + + +class RegistrationInfoPatch(msrest.serialization.Model): + """Represents a RegistrationInfo definition. + + :param expiration_time: Expiration time of registration token. + :type expiration_time: ~datetime.datetime + :param registration_token_operation: The type of resetting the token. Possible values include: + "Delete", "None", "Update". + :type registration_token_operation: str or + ~desktop_virtualization_api_client.models.RegistrationTokenOperation + """ + + _attribute_map = { + 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, + 'registration_token_operation': {'key': 'registrationTokenOperation', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RegistrationInfoPatch, self).__init__(**kwargs) + self.expiration_time = kwargs.get('expiration_time', None) + self.registration_token_operation = kwargs.get('registration_token_operation', None) + + +class ResourceModelWithAllowedPropertySetIdentity(Identity): + """ResourceModelWithAllowedPropertySetIdentity. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: The identity type. Default value: "SystemAssigned". + :vartype type: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'type': {'constant': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + type = "SystemAssigned" + + def __init__( + self, + **kwargs + ): + super(ResourceModelWithAllowedPropertySetIdentity, self).__init__(**kwargs) + + +class ResourceModelWithAllowedPropertySetPlan(Plan): + """ResourceModelWithAllowedPropertySetPlan. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. A user defined name of the 3rd Party Artifact that is being procured. + :type name: str + :param publisher: Required. The publisher of the 3rd Party Artifact that is being bought. E.g. + NewRelic. + :type publisher: str + :param product: Required. The 3rd Party artifact that is being procured. E.g. NewRelic. Product + maps to the OfferID specified for the artifact at the time of Data Market onboarding. + :type product: str + :param promotion_code: A publisher provided promotion code as provisioned in Data Market for + the said product/artifact. + :type promotion_code: str + :param version: The version of the desired product/artifact. + :type version: str + """ + + _validation = { + 'name': {'required': True}, + 'publisher': {'required': True}, + 'product': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'product': {'key': 'product', 'type': 'str'}, + 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceModelWithAllowedPropertySetPlan, self).__init__(**kwargs) + + +class Sku(msrest.serialization.Model): + """The resource model definition representing SKU. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the SKU. Ex - P3. It is typically a letter+number code. + :type name: str + :param tier: This field is required to be implemented by the Resource Provider if the service + has more than one tier, but is not required on a PUT. Possible values include: "Free", "Basic", + "Standard", "Premium". + :type tier: str or ~desktop_virtualization_api_client.models.SkuTier + :param size: The SKU size. When the name field is the combination of tier and some other value, + this would be the standalone code. + :type size: str + :param family: If the service has different generations of hardware, for the same SKU, then + that can be captured here. + :type family: str + :param capacity: If the SKU supports scale out/in then the capacity integer should be included. + If scale out/in is not possible for the resource this may be omitted. + :type capacity: int + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(Sku, self).__init__(**kwargs) + self.name = kwargs['name'] + self.tier = kwargs.get('tier', None) + self.size = kwargs.get('size', None) + self.family = kwargs.get('family', None) + self.capacity = kwargs.get('capacity', None) + + +class ResourceModelWithAllowedPropertySetSku(Sku): + """ResourceModelWithAllowedPropertySetSku. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the SKU. Ex - P3. It is typically a letter+number code. + :type name: str + :param tier: This field is required to be implemented by the Resource Provider if the service + has more than one tier, but is not required on a PUT. Possible values include: "Free", "Basic", + "Standard", "Premium". + :type tier: str or ~desktop_virtualization_api_client.models.SkuTier + :param size: The SKU size. When the name field is the combination of tier and some other value, + this would be the standalone code. + :type size: str + :param family: If the service has different generations of hardware, for the same SKU, then + that can be captured here. + :type family: str + :param capacity: If the SKU supports scale out/in then the capacity integer should be included. + If scale out/in is not possible for the resource this may be omitted. + :type capacity: int + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceModelWithAllowedPropertySetSku, self).__init__(**kwargs) + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + :param name: Operation name, in format of {provider}/{resource}/{operation}. + :type name: str + :param display: Display metadata associated with the operation. + :type display: ~desktop_virtualization_api_client.models.ResourceProviderOperationDisplay + :param is_data_action: Is a data action. + :type is_data_action: bool + :param properties: Properties of the operation. + :type properties: ~desktop_virtualization_api_client.models.OperationProperties + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'properties': {'key': 'properties', 'type': 'OperationProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + self.is_data_action = kwargs.get('is_data_action', None) + self.properties = kwargs.get('properties', None) + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :param provider: Resource provider: Microsoft Desktop Virtualization. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of operation: get, read, delete, etc. + :type operation: str + :param description: Description of this 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) + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + :param value: List of operations supported by this resource provider. + :type value: list[~desktop_virtualization_api_client.models.ResourceProviderOperation] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class ScalingHostPoolReference(msrest.serialization.Model): + """Scaling plan reference to hostpool. + + :param host_pool_arm_path: Arm path of referenced hostpool. + :type host_pool_arm_path: str + :param scaling_plan_enabled: Is the scaling plan enabled for this hostpool. + :type scaling_plan_enabled: bool + """ + + _attribute_map = { + 'host_pool_arm_path': {'key': 'hostPoolArmPath', 'type': 'str'}, + 'scaling_plan_enabled': {'key': 'scalingPlanEnabled', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(ScalingHostPoolReference, self).__init__(**kwargs) + self.host_pool_arm_path = kwargs.get('host_pool_arm_path', None) + self.scaling_plan_enabled = kwargs.get('scaling_plan_enabled', None) + + +class ScalingPlan(ResourceModelWithAllowedPropertySet): + """Represents a scaling plan definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :param location: The geo-location where the resource lives. + :type location: str + :param managed_by: The fully qualified resource ID of the resource that manages this resource. + Indicates if this resource is managed by another Azure resource. If this is present, complete + mode deployment will not delete the resource if it is removed from the template since it is + managed by another resource. + :type managed_by: str + :param kind: Metadata used by portal/tooling/etc to render different UX experiences for + resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, + the resource provider must validate and persist this value. + :type kind: str + :ivar etag: The etag field is *not* required. If it is provided in the response body, it must + also be provided as a header per the normal etag convention. Entity tags are used for + comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in + the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range + (section 14.27) header fields. + :vartype etag: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param identity: Identity for the resource. + :type identity: ~desktop_virtualization_api_client.models.Identity + :param sku: The resource model definition representing SKU. + :type sku: ~desktop_virtualization_api_client.models.Sku + :param plan: Plan for the resource. + :type plan: ~desktop_virtualization_api_client.models.Plan + :ivar object_id: ObjectId of scaling plan. (internal use). + :vartype object_id: str + :param description: Description of scaling plan. + :type description: str + :param friendly_name: User friendly name of scaling plan. + :type friendly_name: str + :param time_zone: Timezone of the scaling plan. + :type time_zone: str + :param host_pool_type: HostPool type for desktop. Possible values include: "Personal", + "Pooled", "BYODesktop". + :type host_pool_type: str or ~desktop_virtualization_api_client.models.HostPoolType + :param exclusion_tag: Exclusion tag for scaling plan. + :type exclusion_tag: str + :param schedules: List of ScalingSchedule definitions. + :type schedules: list[~desktop_virtualization_api_client.models.ScalingSchedule] + :param host_pool_references: List of ScalingHostPoolReference definitions. + :type host_pool_references: + list[~desktop_virtualization_api_client.models.ScalingHostPoolReference] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'pattern': r'^[-\w\._,\(\)]+$'}, + 'etag': {'readonly': True}, + 'object_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, + 'object_id': {'key': 'properties.objectId', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'time_zone': {'key': 'properties.timeZone', 'type': 'str'}, + 'host_pool_type': {'key': 'properties.hostPoolType', 'type': 'str'}, + 'exclusion_tag': {'key': 'properties.exclusionTag', 'type': 'str'}, + 'schedules': {'key': 'properties.schedules', 'type': '[ScalingSchedule]'}, + 'host_pool_references': {'key': 'properties.hostPoolReferences', 'type': '[ScalingHostPoolReference]'}, + } + + def __init__( + self, + **kwargs + ): + super(ScalingPlan, self).__init__(**kwargs) + self.object_id = None + self.description = kwargs.get('description', None) + self.friendly_name = kwargs.get('friendly_name', None) + self.time_zone = kwargs.get('time_zone', None) + self.host_pool_type = kwargs.get('host_pool_type', None) + self.exclusion_tag = kwargs.get('exclusion_tag', None) + self.schedules = kwargs.get('schedules', None) + self.host_pool_references = kwargs.get('host_pool_references', None) + + +class ScalingPlanList(msrest.serialization.Model): + """List of scaling plan definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of scaling plan definitions. + :type value: list[~desktop_virtualization_api_client.models.ScalingPlan] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ScalingPlan]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ScalingPlanList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class ScalingPlanPatch(msrest.serialization.Model): + """Scaling plan properties that can be patched. + + :param tags: A set of tags. tags to be updated. + :type tags: dict[str, str] + :param description: Description of scaling plan. + :type description: str + :param friendly_name: User friendly name of scaling plan. + :type friendly_name: str + :param time_zone: Timezone of the scaling plan. + :type time_zone: str + :param host_pool_type: HostPool type for desktop. Possible values include: "Personal", + "Pooled", "BYODesktop". + :type host_pool_type: str or ~desktop_virtualization_api_client.models.HostPoolType + :param exclusion_tag: Exclusion tag for scaling plan. + :type exclusion_tag: str + :param schedules: List of ScalingSchedule definitions. + :type schedules: list[~desktop_virtualization_api_client.models.ScalingSchedule] + :param host_pool_references: List of ScalingHostPoolReference definitions. + :type host_pool_references: + list[~desktop_virtualization_api_client.models.ScalingHostPoolReference] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'time_zone': {'key': 'properties.timeZone', 'type': 'str'}, + 'host_pool_type': {'key': 'properties.hostPoolType', 'type': 'str'}, + 'exclusion_tag': {'key': 'properties.exclusionTag', 'type': 'str'}, + 'schedules': {'key': 'properties.schedules', 'type': '[ScalingSchedule]'}, + 'host_pool_references': {'key': 'properties.hostPoolReferences', 'type': '[ScalingHostPoolReference]'}, + } + + def __init__( + self, + **kwargs + ): + super(ScalingPlanPatch, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.description = kwargs.get('description', None) + self.friendly_name = kwargs.get('friendly_name', None) + self.time_zone = kwargs.get('time_zone', None) + self.host_pool_type = kwargs.get('host_pool_type', None) + self.exclusion_tag = kwargs.get('exclusion_tag', None) + self.schedules = kwargs.get('schedules', None) + self.host_pool_references = kwargs.get('host_pool_references', None) + + +class ScalingSchedule(msrest.serialization.Model): + """Scaling plan schedule. + + :param name: Name of the scaling schedule. + :type name: str + :param days_of_week: Set of days of the week on which this schedule is active. + :type days_of_week: list[str or + ~desktop_virtualization_api_client.models.ScalingScheduleDaysOfWeekItem] + :param ramp_up_start_time: Starting time for ramp up period. + :type ramp_up_start_time: ~datetime.datetime + :param ramp_up_load_balancing_algorithm: Load balancing algorithm for ramp up period. Possible + values include: "BreadthFirst", "DepthFirst". + :type ramp_up_load_balancing_algorithm: str or + ~desktop_virtualization_api_client.models.SessionHostLoadBalancingAlgorithm + :param ramp_up_minimum_hosts_pct: Minimum host percentage for ramp up period. + :type ramp_up_minimum_hosts_pct: int + :param ramp_up_capacity_threshold_pct: Capacity threshold for ramp up period. + :type ramp_up_capacity_threshold_pct: int + :param peak_start_time: Starting time for peak period. + :type peak_start_time: ~datetime.datetime + :param peak_load_balancing_algorithm: Load balancing algorithm for peak period. Possible values + include: "BreadthFirst", "DepthFirst". + :type peak_load_balancing_algorithm: str or + ~desktop_virtualization_api_client.models.SessionHostLoadBalancingAlgorithm + :param ramp_down_start_time: Starting time for ramp down period. + :type ramp_down_start_time: ~datetime.datetime + :param ramp_down_load_balancing_algorithm: Load balancing algorithm for ramp down period. + Possible values include: "BreadthFirst", "DepthFirst". + :type ramp_down_load_balancing_algorithm: str or + ~desktop_virtualization_api_client.models.SessionHostLoadBalancingAlgorithm + :param ramp_down_minimum_hosts_pct: Minimum host percentage for ramp down period. + :type ramp_down_minimum_hosts_pct: int + :param ramp_down_capacity_threshold_pct: Capacity threshold for ramp down period. + :type ramp_down_capacity_threshold_pct: int + :param ramp_down_force_logoff_users: Should users be logged off forcefully from hosts. + :type ramp_down_force_logoff_users: bool + :param ramp_down_stop_hosts_when: Specifies when to stop hosts during ramp down period. + Possible values include: "ZeroSessions", "ZeroActiveSessions". + :type ramp_down_stop_hosts_when: str or ~desktop_virtualization_api_client.models.StopHostsWhen + :param ramp_down_wait_time_minutes: Number of minutes to wait to stop hosts during ramp down + period. + :type ramp_down_wait_time_minutes: int + :param ramp_down_notification_message: Notification message for users during ramp down period. + :type ramp_down_notification_message: str + :param off_peak_start_time: Starting time for off-peak period. + :type off_peak_start_time: ~datetime.datetime + :param off_peak_load_balancing_algorithm: Load balancing algorithm for off-peak period. + Possible values include: "BreadthFirst", "DepthFirst". + :type off_peak_load_balancing_algorithm: str or + ~desktop_virtualization_api_client.models.SessionHostLoadBalancingAlgorithm + """ + + _validation = { + 'ramp_up_minimum_hosts_pct': {'maximum': 100, 'minimum': 0}, + 'ramp_up_capacity_threshold_pct': {'maximum': 100, 'minimum': 0}, + 'ramp_down_minimum_hosts_pct': {'maximum': 100, 'minimum': 0}, + 'ramp_down_capacity_threshold_pct': {'maximum': 100, 'minimum': 0}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'days_of_week': {'key': 'daysOfWeek', 'type': '[str]'}, + 'ramp_up_start_time': {'key': 'rampUpStartTime', 'type': 'iso-8601'}, + 'ramp_up_load_balancing_algorithm': {'key': 'rampUpLoadBalancingAlgorithm', 'type': 'str'}, + 'ramp_up_minimum_hosts_pct': {'key': 'rampUpMinimumHostsPct', 'type': 'int'}, + 'ramp_up_capacity_threshold_pct': {'key': 'rampUpCapacityThresholdPct', 'type': 'int'}, + 'peak_start_time': {'key': 'peakStartTime', 'type': 'iso-8601'}, + 'peak_load_balancing_algorithm': {'key': 'peakLoadBalancingAlgorithm', 'type': 'str'}, + 'ramp_down_start_time': {'key': 'rampDownStartTime', 'type': 'iso-8601'}, + 'ramp_down_load_balancing_algorithm': {'key': 'rampDownLoadBalancingAlgorithm', 'type': 'str'}, + 'ramp_down_minimum_hosts_pct': {'key': 'rampDownMinimumHostsPct', 'type': 'int'}, + 'ramp_down_capacity_threshold_pct': {'key': 'rampDownCapacityThresholdPct', 'type': 'int'}, + 'ramp_down_force_logoff_users': {'key': 'rampDownForceLogoffUsers', 'type': 'bool'}, + 'ramp_down_stop_hosts_when': {'key': 'rampDownStopHostsWhen', 'type': 'str'}, + 'ramp_down_wait_time_minutes': {'key': 'rampDownWaitTimeMinutes', 'type': 'int'}, + 'ramp_down_notification_message': {'key': 'rampDownNotificationMessage', 'type': 'str'}, + 'off_peak_start_time': {'key': 'offPeakStartTime', 'type': 'iso-8601'}, + 'off_peak_load_balancing_algorithm': {'key': 'offPeakLoadBalancingAlgorithm', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ScalingSchedule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.days_of_week = kwargs.get('days_of_week', None) + self.ramp_up_start_time = kwargs.get('ramp_up_start_time', None) + self.ramp_up_load_balancing_algorithm = kwargs.get('ramp_up_load_balancing_algorithm', None) + self.ramp_up_minimum_hosts_pct = kwargs.get('ramp_up_minimum_hosts_pct', None) + self.ramp_up_capacity_threshold_pct = kwargs.get('ramp_up_capacity_threshold_pct', None) + self.peak_start_time = kwargs.get('peak_start_time', None) + self.peak_load_balancing_algorithm = kwargs.get('peak_load_balancing_algorithm', None) + self.ramp_down_start_time = kwargs.get('ramp_down_start_time', None) + self.ramp_down_load_balancing_algorithm = kwargs.get('ramp_down_load_balancing_algorithm', None) + self.ramp_down_minimum_hosts_pct = kwargs.get('ramp_down_minimum_hosts_pct', None) + self.ramp_down_capacity_threshold_pct = kwargs.get('ramp_down_capacity_threshold_pct', None) + self.ramp_down_force_logoff_users = kwargs.get('ramp_down_force_logoff_users', None) + self.ramp_down_stop_hosts_when = kwargs.get('ramp_down_stop_hosts_when', None) + self.ramp_down_wait_time_minutes = kwargs.get('ramp_down_wait_time_minutes', None) + self.ramp_down_notification_message = kwargs.get('ramp_down_notification_message', None) + self.off_peak_start_time = kwargs.get('off_peak_start_time', None) + self.off_peak_load_balancing_algorithm = kwargs.get('off_peak_load_balancing_algorithm', None) + + +class SendMessage(msrest.serialization.Model): + """Represents message sent to a UserSession. + + :param message_title: Title of message. + :type message_title: str + :param message_body: Body of message. + :type message_body: str + """ + + _attribute_map = { + 'message_title': {'key': 'messageTitle', 'type': 'str'}, + 'message_body': {'key': 'messageBody', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SendMessage, self).__init__(**kwargs) + self.message_title = kwargs.get('message_title', None) + self.message_body = kwargs.get('message_body', None) + + +class ServiceSpecification(msrest.serialization.Model): + """Service specification payload. + + :param log_specifications: Specifications of the Log for Azure Monitoring. + :type log_specifications: list[~desktop_virtualization_api_client.models.LogSpecification] + """ + + _attribute_map = { + 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceSpecification, self).__init__(**kwargs) + self.log_specifications = kwargs.get('log_specifications', None) + + +class SessionHost(Resource): + """Represents a SessionHost definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar object_id: ObjectId of SessionHost. (internal use). + :vartype object_id: str + :param last_heart_beat: Last heart beat from SessionHost. + :type last_heart_beat: ~datetime.datetime + :param sessions: Number of sessions on SessionHost. + :type sessions: int + :param agent_version: Version of agent on SessionHost. + :type agent_version: str + :param allow_new_session: Allow a new session. + :type allow_new_session: bool + :ivar virtual_machine_id: Virtual Machine Id of SessionHost's underlying virtual machine. + :vartype virtual_machine_id: str + :ivar resource_id: Resource Id of SessionHost's underlying virtual machine. + :vartype resource_id: str + :param assigned_user: User assigned to SessionHost. + :type assigned_user: str + :param status: Status for a SessionHost. Possible values include: "Available", "Unavailable", + "Shutdown", "Disconnected", "Upgrading", "UpgradeFailed", "NoHeartbeat", "NotJoinedToDomain", + "DomainTrustRelationshipLost", "SxSStackListenerNotReady", "FSLogixNotHealthy", + "NeedsAssistance". + :type status: str or ~desktop_virtualization_api_client.models.Status + :ivar status_timestamp: The timestamp of the status. + :vartype status_timestamp: ~datetime.datetime + :param os_version: The version of the OS on the session host. + :type os_version: str + :param sx_s_stack_version: The version of the side by side stack on the session host. + :type sx_s_stack_version: str + :param update_state: Update state of a SessionHost. Possible values include: "Initial", + "Pending", "Started", "Succeeded", "Failed". + :type update_state: str or ~desktop_virtualization_api_client.models.UpdateState + :ivar last_update_time: The timestamp of the last update. + :vartype last_update_time: ~datetime.datetime + :param update_error_message: The error message. + :type update_error_message: str + :ivar session_host_health_check_results: List of SessionHostHealthCheckReports. + :vartype session_host_health_check_results: + list[~desktop_virtualization_api_client.models.SessionHostHealthCheckReport] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'object_id': {'readonly': True}, + 'virtual_machine_id': {'readonly': True}, + 'resource_id': {'readonly': True}, + 'status_timestamp': {'readonly': True}, + 'last_update_time': {'readonly': True}, + 'session_host_health_check_results': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'object_id': {'key': 'properties.objectId', 'type': 'str'}, 'last_heart_beat': {'key': 'properties.lastHeartBeat', 'type': 'iso-8601'}, 'sessions': {'key': 'properties.sessions', 'type': 'int'}, 'agent_version': {'key': 'properties.agentVersion', 'type': 'str'}, 'allow_new_session': {'key': 'properties.allowNewSession', 'type': 'bool'}, + 'virtual_machine_id': {'key': 'properties.virtualMachineId', 'type': 'str'}, + 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, 'assigned_user': {'key': 'properties.assignedUser', 'type': 'str'}, 'status': {'key': 'properties.status', 'type': 'str'}, 'status_timestamp': {'key': 'properties.statusTimestamp', 'type': 'iso-8601'}, @@ -937,6 +2203,7 @@ class SessionHost(Resource): 'update_state': {'key': 'properties.updateState', 'type': 'str'}, 'last_update_time': {'key': 'properties.lastUpdateTime', 'type': 'iso-8601'}, 'update_error_message': {'key': 'properties.updateErrorMessage', 'type': 'str'}, + 'session_host_health_check_results': {'key': 'properties.sessionHostHealthCheckResults', 'type': '[SessionHostHealthCheckReport]'}, } def __init__( @@ -944,10 +2211,13 @@ def __init__( **kwargs ): super(SessionHost, self).__init__(**kwargs) + self.object_id = None self.last_heart_beat = kwargs.get('last_heart_beat', None) self.sessions = kwargs.get('sessions', None) self.agent_version = kwargs.get('agent_version', None) self.allow_new_session = kwargs.get('allow_new_session', None) + self.virtual_machine_id = None + self.resource_id = None self.assigned_user = kwargs.get('assigned_user', None) self.status = kwargs.get('status', None) self.status_timestamp = None @@ -956,6 +2226,85 @@ def __init__( self.update_state = kwargs.get('update_state', None) self.last_update_time = None self.update_error_message = kwargs.get('update_error_message', None) + self.session_host_health_check_results = None + + +class SessionHostHealthCheckFailureDetails(msrest.serialization.Model): + """Contains details on the failure. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar message: Failure message: hints on what is wrong and how to recover. + :vartype message: str + :ivar error_code: Error code corresponding for the failure. + :vartype error_code: int + :ivar last_health_check_date_time: The timestamp of the last update. + :vartype last_health_check_date_time: ~datetime.datetime + """ + + _validation = { + 'message': {'readonly': True}, + 'error_code': {'readonly': True}, + 'last_health_check_date_time': {'readonly': True}, + } + + _attribute_map = { + 'message': {'key': 'message', 'type': 'str'}, + 'error_code': {'key': 'errorCode', 'type': 'int'}, + 'last_health_check_date_time': {'key': 'lastHealthCheckDateTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(SessionHostHealthCheckFailureDetails, self).__init__(**kwargs) + self.message = None + self.error_code = None + self.last_health_check_date_time = None + + +class SessionHostHealthCheckReport(msrest.serialization.Model): + """The report for session host information. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar health_check_name: Represents the name of the health check operation performed. Possible + values include: "DomainJoinedCheck", "DomainTrustCheck", "FSLogixHealthCheck", + "SxSStackListenerCheck", "UrlsAccessibleCheck", "MonitoringAgentCheck", "DomainReachable", + "WebRTCRedirectorCheck", "SupportedEncryptionCheck", "MetaDataServiceCheck", + "AppAttachHealthCheck". + :vartype health_check_name: str or ~desktop_virtualization_api_client.models.HealthCheckName + :ivar health_check_result: Represents the Health state of the health check we performed. + Possible values include: "Unknown", "HealthCheckSucceeded", "HealthCheckFailed", + "SessionHostShutdown". + :vartype health_check_result: str or + ~desktop_virtualization_api_client.models.HealthCheckResult + :ivar additional_failure_details: Additional detailed information on the failure. + :vartype additional_failure_details: + ~desktop_virtualization_api_client.models.SessionHostHealthCheckFailureDetails + """ + + _validation = { + 'health_check_name': {'readonly': True}, + 'health_check_result': {'readonly': True}, + 'additional_failure_details': {'readonly': True}, + } + + _attribute_map = { + 'health_check_name': {'key': 'healthCheckName', 'type': 'str'}, + 'health_check_result': {'key': 'healthCheckResult', 'type': 'str'}, + 'additional_failure_details': {'key': 'additionalFailureDetails', 'type': 'SessionHostHealthCheckFailureDetails'}, + } + + def __init__( + self, + **kwargs + ): + super(SessionHostHealthCheckReport, self).__init__(**kwargs) + self.health_check_name = None + self.health_check_result = None + self.additional_failure_details = None class SessionHostList(msrest.serialization.Model): @@ -992,13 +2341,13 @@ class SessionHostPatch(Resource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str :param allow_new_session: Allow a new session. :type allow_new_session: bool @@ -1034,18 +2383,16 @@ class StartMenuItem(Resource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str :param app_alias: Alias of StartMenuItem. :type app_alias: str - :param friendly_name: Friendly name of StartMenuItem. - :type friendly_name: str :param file_path: Path to the file of StartMenuItem. :type file_path: str :param command_line_arguments: Command line arguments for StartMenuItem. @@ -1067,7 +2414,6 @@ class StartMenuItem(Resource): 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'app_alias': {'key': 'properties.appAlias', 'type': 'str'}, - 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, 'file_path': {'key': 'properties.filePath', 'type': 'str'}, 'command_line_arguments': {'key': 'properties.commandLineArguments', 'type': 'str'}, 'icon_path': {'key': 'properties.iconPath', 'type': 'str'}, @@ -1080,7 +2426,6 @@ def __init__( ): super(StartMenuItem, self).__init__(**kwargs) self.app_alias = kwargs.get('app_alias', None) - self.friendly_name = kwargs.get('friendly_name', None) self.file_path = kwargs.get('file_path', None) self.command_line_arguments = kwargs.get('command_line_arguments', None) self.icon_path = kwargs.get('icon_path', None) @@ -1121,14 +2466,16 @@ class UserSession(Resource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str + :ivar object_id: ObjectId of user session. (internal use). + :vartype object_id: str :param user_principal_name: The user principal name. :type user_principal_name: str :param application_type: Application type of application. Possible values include: "RemoteApp", @@ -1147,12 +2494,14 @@ class UserSession(Resource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'object_id': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'object_id': {'key': 'properties.objectId', 'type': 'str'}, 'user_principal_name': {'key': 'properties.userPrincipalName', 'type': 'str'}, 'application_type': {'key': 'properties.applicationType', 'type': 'str'}, 'session_state': {'key': 'properties.sessionState', 'type': 'str'}, @@ -1165,6 +2514,7 @@ def __init__( **kwargs ): super(UserSession, self).__init__(**kwargs) + self.object_id = None self.user_principal_name = kwargs.get('user_principal_name', None) self.application_type = kwargs.get('application_type', None) self.session_state = kwargs.get('session_state', None) @@ -1201,49 +2551,83 @@ def __init__( self.next_link = None -class Workspace(TrackedResource): +class Workspace(ResourceModelWithAllowedPropertySet): """Represents a Workspace definition. Variables are only populated by the server, and will be ignored when sending a request. - All required parameters must be populated in order to send to Azure. - - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str + :param location: The geo-location where the resource lives. + :type location: str + :param managed_by: The fully qualified resource ID of the resource that manages this resource. + Indicates if this resource is managed by another Azure resource. If this is present, complete + mode deployment will not delete the resource if it is removed from the template since it is + managed by another resource. + :type managed_by: str + :param kind: Metadata used by portal/tooling/etc to render different UX experiences for + resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, + the resource provider must validate and persist this value. + :type kind: str + :ivar etag: The etag field is *not* required. If it is provided in the response body, it must + also be provided as a header per the normal etag convention. Entity tags are used for + comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in + the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range + (section 14.27) header fields. + :vartype etag: str :param tags: A set of tags. Resource tags. :type tags: dict[str, str] - :param location: Required. The geo-location where the resource lives. - :type location: str + :param identity: Identity for the resource. + :type identity: ~desktop_virtualization_api_client.models.Identity + :param sku: The resource model definition representing SKU. + :type sku: ~desktop_virtualization_api_client.models.Sku + :param plan: Plan for the resource. + :type plan: ~desktop_virtualization_api_client.models.Plan + :ivar object_id: ObjectId of Workspace. (internal use). + :vartype object_id: str :param description: Description of Workspace. :type description: str :param friendly_name: Friendly name of Workspace. :type friendly_name: str :param application_group_references: List of applicationGroup resource Ids. :type application_group_references: list[str] + :ivar cloud_pc_resource: Is cloud pc resource. + :vartype cloud_pc_resource: bool """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, - 'location': {'required': True}, + 'kind': {'pattern': r'^[-\w\._,\(\)]+$'}, + 'etag': {'readonly': True}, + 'object_id': {'readonly': True}, + 'cloud_pc_resource': {'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'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, + 'object_id': {'key': 'properties.objectId', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, 'application_group_references': {'key': 'properties.applicationGroupReferences', 'type': '[str]'}, + 'cloud_pc_resource': {'key': 'properties.cloudPcResource', 'type': 'bool'}, } def __init__( @@ -1251,9 +2635,11 @@ def __init__( **kwargs ): super(Workspace, self).__init__(**kwargs) + self.object_id = None self.description = kwargs.get('description', None) self.friendly_name = kwargs.get('friendly_name', None) self.application_group_references = kwargs.get('application_group_references', None) + self.cloud_pc_resource = None class WorkspaceList(msrest.serialization.Model): diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_models_py3.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_models_py3.py index cc133d4a876..2c185b35178 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_models_py3.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/models/_models_py3.py @@ -15,17 +15,17 @@ class Resource(msrest.serialization.Model): - """Resource. + """Common fields that are returned in the response for all Azure Resource Manager 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. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str """ @@ -58,20 +58,29 @@ class Application(Resource): All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str + :ivar object_id: ObjectId of Application. (internal use). + :vartype object_id: str :param description: Description of Application. :type description: str :param friendly_name: Friendly name of Application. :type friendly_name: str :param file_path: Specifies a path for the executable file for the application. :type file_path: str + :param msix_package_family_name: Specifies the package family name for MSIX applications. + :type msix_package_family_name: str + :param msix_package_application_id: Specifies the package application Id for MSIX applications. + :type msix_package_application_id: str + :param application_type: Resource Type of Application. Possible values include: "InBuilt", + "MsixApplication". + :type application_type: str or ~desktop_virtualization_api_client.models.RemoteApplicationType :param command_line_setting: Required. Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. Possible values include: "DoNotAllow", @@ -96,6 +105,7 @@ class Application(Resource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'object_id': {'readonly': True}, 'command_line_setting': {'required': True}, 'icon_hash': {'readonly': True}, 'icon_content': {'readonly': True}, @@ -105,9 +115,13 @@ class Application(Resource): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'object_id': {'key': 'properties.objectId', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, 'file_path': {'key': 'properties.filePath', 'type': 'str'}, + 'msix_package_family_name': {'key': 'properties.msixPackageFamilyName', 'type': 'str'}, + 'msix_package_application_id': {'key': 'properties.msixPackageApplicationId', 'type': 'str'}, + 'application_type': {'key': 'properties.applicationType', 'type': 'str'}, 'command_line_setting': {'key': 'properties.commandLineSetting', 'type': 'str'}, 'command_line_arguments': {'key': 'properties.commandLineArguments', 'type': 'str'}, 'show_in_portal': {'key': 'properties.showInPortal', 'type': 'bool'}, @@ -124,6 +138,9 @@ def __init__( description: Optional[str] = None, friendly_name: Optional[str] = None, file_path: Optional[str] = None, + msix_package_family_name: Optional[str] = None, + msix_package_application_id: Optional[str] = None, + application_type: Optional[Union[str, "RemoteApplicationType"]] = None, command_line_arguments: Optional[str] = None, show_in_portal: Optional[bool] = None, icon_path: Optional[str] = None, @@ -131,9 +148,13 @@ def __init__( **kwargs ): super(Application, self).__init__(**kwargs) + self.object_id = None self.description = description self.friendly_name = friendly_name self.file_path = file_path + self.msix_package_family_name = msix_package_family_name + self.msix_package_application_id = msix_package_application_id + self.application_type = application_type self.command_line_setting = command_line_setting self.command_line_arguments = command_line_arguments self.show_in_portal = show_in_portal @@ -143,73 +164,136 @@ def __init__( self.icon_content = None -class TrackedResource(Resource): - """The resource model definition for a ARM tracked top level resource. +class ResourceModelWithAllowedPropertySet(msrest.serialization.Model): + """The resource model definition containing the full set of allowed properties for a resource. Except properties bag, there cannot be a top level property outside of this set. Variables are only populated by the server, and will be ignored when sending a request. - All required parameters must be populated in order to send to Azure. - - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str + :param location: The geo-location where the resource lives. + :type location: str + :param managed_by: The fully qualified resource ID of the resource that manages this resource. + Indicates if this resource is managed by another Azure resource. If this is present, complete + mode deployment will not delete the resource if it is removed from the template since it is + managed by another resource. + :type managed_by: str + :param kind: Metadata used by portal/tooling/etc to render different UX experiences for + resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, + the resource provider must validate and persist this value. + :type kind: str + :ivar etag: The etag field is *not* required. If it is provided in the response body, it must + also be provided as a header per the normal etag convention. Entity tags are used for + comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in + the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range + (section 14.27) header fields. + :vartype etag: str :param tags: A set of tags. Resource tags. :type tags: dict[str, str] - :param location: Required. The geo-location where the resource lives. - :type location: str + :param identity: Identity for the resource. + :type identity: ~desktop_virtualization_api_client.models.Identity + :param sku: The resource model definition representing SKU. + :type sku: ~desktop_virtualization_api_client.models.Sku + :param plan: Plan for the resource. + :type plan: ~desktop_virtualization_api_client.models.Plan """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, - 'location': {'required': True}, + 'kind': {'pattern': r'^[-\w\._,\(\)]+$'}, + 'etag': {'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'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, } def __init__( self, *, - location: str, + location: Optional[str] = None, + managed_by: Optional[str] = None, + kind: Optional[str] = None, tags: Optional[Dict[str, str]] = None, + identity: Optional["Identity"] = None, + sku: Optional["Sku"] = None, + plan: Optional["Plan"] = None, **kwargs ): - super(TrackedResource, self).__init__(**kwargs) - self.tags = tags + super(ResourceModelWithAllowedPropertySet, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None self.location = location + self.managed_by = managed_by + self.kind = kind + self.etag = None + self.tags = tags + self.identity = identity + self.sku = sku + self.plan = plan -class ApplicationGroup(TrackedResource): +class ApplicationGroup(ResourceModelWithAllowedPropertySet): """Represents a ApplicationGroup definition. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str + :param location: The geo-location where the resource lives. + :type location: str + :param managed_by: The fully qualified resource ID of the resource that manages this resource. + Indicates if this resource is managed by another Azure resource. If this is present, complete + mode deployment will not delete the resource if it is removed from the template since it is + managed by another resource. + :type managed_by: str + :param kind: Metadata used by portal/tooling/etc to render different UX experiences for + resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, + the resource provider must validate and persist this value. + :type kind: str + :ivar etag: The etag field is *not* required. If it is provided in the response body, it must + also be provided as a header per the normal etag convention. Entity tags are used for + comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in + the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range + (section 14.27) header fields. + :vartype etag: str :param tags: A set of tags. Resource tags. :type tags: dict[str, str] - :param location: Required. The geo-location where the resource lives. - :type location: str + :param identity: Identity for the resource. + :type identity: ~desktop_virtualization_api_client.models.Identity + :param sku: The resource model definition representing SKU. + :type sku: ~desktop_virtualization_api_client.models.Sku + :param plan: Plan for the resource. + :type plan: ~desktop_virtualization_api_client.models.Plan + :ivar object_id: ObjectId of ApplicationGroup. (internal use). + :vartype object_id: str :param description: Description of ApplicationGroup. :type description: str :param friendly_name: Friendly name of ApplicationGroup. @@ -222,48 +306,73 @@ class ApplicationGroup(TrackedResource): include: "RemoteApp", "Desktop". :type application_group_type: str or ~desktop_virtualization_api_client.models.ApplicationGroupType + :param migration_request: The registration info of HostPool. + :type migration_request: ~desktop_virtualization_api_client.models.MigrationRequestProperties + :ivar cloud_pc_resource: Is cloud pc resource. + :vartype cloud_pc_resource: bool """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, - 'location': {'required': True}, + 'kind': {'pattern': r'^[-\w\._,\(\)]+$'}, + 'etag': {'readonly': True}, + 'object_id': {'readonly': True}, 'host_pool_arm_path': {'required': True}, 'workspace_arm_path': {'readonly': True}, 'application_group_type': {'required': True}, + 'cloud_pc_resource': {'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'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, + 'object_id': {'key': 'properties.objectId', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, 'host_pool_arm_path': {'key': 'properties.hostPoolArmPath', 'type': 'str'}, 'workspace_arm_path': {'key': 'properties.workspaceArmPath', 'type': 'str'}, 'application_group_type': {'key': 'properties.applicationGroupType', 'type': 'str'}, + 'migration_request': {'key': 'properties.migrationRequest', 'type': 'MigrationRequestProperties'}, + 'cloud_pc_resource': {'key': 'properties.cloudPcResource', 'type': 'bool'}, } def __init__( self, *, - location: str, host_pool_arm_path: str, application_group_type: Union[str, "ApplicationGroupType"], + location: Optional[str] = None, + managed_by: Optional[str] = None, + kind: Optional[str] = None, tags: Optional[Dict[str, str]] = None, + identity: Optional["Identity"] = None, + sku: Optional["Sku"] = None, + plan: Optional["Plan"] = None, description: Optional[str] = None, friendly_name: Optional[str] = None, + migration_request: Optional["MigrationRequestProperties"] = None, **kwargs ): - super(ApplicationGroup, self).__init__(tags=tags, location=location, **kwargs) + super(ApplicationGroup, self).__init__(location=location, managed_by=managed_by, kind=kind, tags=tags, identity=identity, sku=sku, plan=plan, **kwargs) + self.object_id = None self.description = description self.friendly_name = friendly_name self.host_pool_arm_path = host_pool_arm_path self.workspace_arm_path = None self.application_group_type = application_group_type + self.migration_request = migration_request + self.cloud_pc_resource = None class ApplicationGroupList(msrest.serialization.Model): @@ -302,13 +411,13 @@ class ApplicationGroupPatch(Resource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str :param tags: A set of tags. tags to be updated. :type tags: dict[str, str] @@ -403,6 +512,13 @@ class ApplicationPatch(msrest.serialization.Model): :type icon_path: str :param icon_index: Index of the icon. :type icon_index: int + :param msix_package_family_name: Specifies the package family name for MSIX applications. + :type msix_package_family_name: str + :param msix_package_application_id: Specifies the package application Id for MSIX applications. + :type msix_package_application_id: str + :param application_type: Resource Type of Application. Possible values include: "InBuilt", + "MsixApplication". + :type application_type: str or ~desktop_virtualization_api_client.models.RemoteApplicationType """ _attribute_map = { @@ -415,6 +531,9 @@ class ApplicationPatch(msrest.serialization.Model): 'show_in_portal': {'key': 'properties.showInPortal', 'type': 'bool'}, 'icon_path': {'key': 'properties.iconPath', 'type': 'str'}, 'icon_index': {'key': 'properties.iconIndex', 'type': 'int'}, + 'msix_package_family_name': {'key': 'properties.msixPackageFamilyName', 'type': 'str'}, + 'msix_package_application_id': {'key': 'properties.msixPackageApplicationId', 'type': 'str'}, + 'application_type': {'key': 'properties.applicationType', 'type': 'str'}, } def __init__( @@ -429,6 +548,9 @@ def __init__( show_in_portal: Optional[bool] = None, icon_path: Optional[str] = None, icon_index: Optional[int] = None, + msix_package_family_name: Optional[str] = None, + msix_package_application_id: Optional[str] = None, + application_type: Optional[Union[str, "RemoteApplicationType"]] = None, **kwargs ): super(ApplicationPatch, self).__init__(**kwargs) @@ -441,6 +563,35 @@ def __init__( self.show_in_portal = show_in_portal self.icon_path = icon_path self.icon_index = icon_index + self.msix_package_family_name = msix_package_family_name + self.msix_package_application_id = msix_package_application_id + self.application_type = application_type + + +class CloudErrorProperties(msrest.serialization.Model): + """CloudErrorProperties. + + :param code: Error code. + :type code: str + :param message: Error message indicating why the operation failed. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + message: Optional[str] = None, + **kwargs + ): + super(CloudErrorProperties, self).__init__(**kwargs) + self.code = code + self.message = message class Desktop(Resource): @@ -448,14 +599,16 @@ class Desktop(Resource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str + :ivar object_id: ObjectId of Desktop. (internal use). + :vartype object_id: str :param description: Description of Desktop. :type description: str :param friendly_name: Friendly name of Desktop. @@ -470,6 +623,7 @@ class Desktop(Resource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'object_id': {'readonly': True}, 'icon_hash': {'readonly': True}, 'icon_content': {'readonly': True}, } @@ -478,6 +632,7 @@ class Desktop(Resource): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'object_id': {'key': 'properties.objectId', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, 'icon_hash': {'key': 'properties.iconHash', 'type': 'str'}, @@ -492,6 +647,7 @@ def __init__( **kwargs ): super(Desktop, self).__init__(**kwargs) + self.object_id = None self.description = description self.friendly_name = friendly_name self.icon_hash = None @@ -560,34 +716,191 @@ def __init__( self.friendly_name = friendly_name -class HostPool(TrackedResource): +class ExpandMsixImage(Resource): + """Represents the definition of contents retrieved after expanding the MSIX Image. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :param package_alias: Alias of MSIX Package. + :type package_alias: str + :param image_path: VHD/CIM image path on Network Share. + :type image_path: str + :param package_name: Package Name from appxmanifest.xml. + :type package_name: str + :param package_family_name: Package Family Name from appxmanifest.xml. Contains Package Name + and Publisher name. + :type package_family_name: str + :param package_full_name: Package Full Name from appxmanifest.xml. + :type package_full_name: str + :param display_name: User friendly Name to be displayed in the portal. + :type display_name: str + :param package_relative_path: Relative Path to the package inside the image. + :type package_relative_path: str + :param is_regular_registration: Specifies how to register Package in feed. + :type is_regular_registration: bool + :param is_active: Make this version of the package the active one across the hostpool. + :type is_active: bool + :param package_dependencies: List of package dependencies. + :type package_dependencies: + list[~desktop_virtualization_api_client.models.MsixPackageDependencies] + :param version: Package Version found in the appxmanifest.xml. + :type version: str + :param last_updated: Date Package was last updated, found in the appxmanifest.xml. + :type last_updated: ~datetime.datetime + :param package_applications: List of package applications. + :type package_applications: + list[~desktop_virtualization_api_client.models.MsixPackageApplications] + """ + + _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'}, + 'package_alias': {'key': 'properties.packageAlias', 'type': 'str'}, + 'image_path': {'key': 'properties.imagePath', 'type': 'str'}, + 'package_name': {'key': 'properties.packageName', 'type': 'str'}, + 'package_family_name': {'key': 'properties.packageFamilyName', 'type': 'str'}, + 'package_full_name': {'key': 'properties.packageFullName', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'package_relative_path': {'key': 'properties.packageRelativePath', 'type': 'str'}, + 'is_regular_registration': {'key': 'properties.isRegularRegistration', 'type': 'bool'}, + 'is_active': {'key': 'properties.isActive', 'type': 'bool'}, + 'package_dependencies': {'key': 'properties.packageDependencies', 'type': '[MsixPackageDependencies]'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'last_updated': {'key': 'properties.lastUpdated', 'type': 'iso-8601'}, + 'package_applications': {'key': 'properties.packageApplications', 'type': '[MsixPackageApplications]'}, + } + + def __init__( + self, + *, + package_alias: Optional[str] = None, + image_path: Optional[str] = None, + package_name: Optional[str] = None, + package_family_name: Optional[str] = None, + package_full_name: Optional[str] = None, + display_name: Optional[str] = None, + package_relative_path: Optional[str] = None, + is_regular_registration: Optional[bool] = None, + is_active: Optional[bool] = None, + package_dependencies: Optional[List["MsixPackageDependencies"]] = None, + version: Optional[str] = None, + last_updated: Optional[datetime.datetime] = None, + package_applications: Optional[List["MsixPackageApplications"]] = None, + **kwargs + ): + super(ExpandMsixImage, self).__init__(**kwargs) + self.package_alias = package_alias + self.image_path = image_path + self.package_name = package_name + self.package_family_name = package_family_name + self.package_full_name = package_full_name + self.display_name = display_name + self.package_relative_path = package_relative_path + self.is_regular_registration = is_regular_registration + self.is_active = is_active + self.package_dependencies = package_dependencies + self.version = version + self.last_updated = last_updated + self.package_applications = package_applications + + +class ExpandMsixImageList(msrest.serialization.Model): + """List of MSIX package properties retrieved from MSIX Image expansion. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of MSIX package properties from give MSIX Image. + :type value: list[~desktop_virtualization_api_client.models.ExpandMsixImage] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpandMsixImage]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ExpandMsixImage"]] = None, + **kwargs + ): + super(ExpandMsixImageList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class HostPool(ResourceModelWithAllowedPropertySet): """Represents a HostPool definition. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to Azure. - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str + :param location: The geo-location where the resource lives. + :type location: str + :param managed_by: The fully qualified resource ID of the resource that manages this resource. + Indicates if this resource is managed by another Azure resource. If this is present, complete + mode deployment will not delete the resource if it is removed from the template since it is + managed by another resource. + :type managed_by: str + :param kind: Metadata used by portal/tooling/etc to render different UX experiences for + resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, + the resource provider must validate and persist this value. + :type kind: str + :ivar etag: The etag field is *not* required. If it is provided in the response body, it must + also be provided as a header per the normal etag convention. Entity tags are used for + comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in + the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range + (section 14.27) header fields. + :vartype etag: str :param tags: A set of tags. Resource tags. :type tags: dict[str, str] - :param location: Required. The geo-location where the resource lives. - :type location: str + :param identity: Identity for the resource. + :type identity: ~desktop_virtualization_api_client.models.Identity + :param sku: The resource model definition representing SKU. + :type sku: ~desktop_virtualization_api_client.models.Sku + :param plan: Plan for the resource. + :type plan: ~desktop_virtualization_api_client.models.Plan + :ivar object_id: ObjectId of HostPool. (internal use). + :vartype object_id: str :param friendly_name: Friendly name of HostPool. :type friendly_name: str :param description: Description of HostPool. :type description: str :param host_pool_type: Required. HostPool type for desktop. Possible values include: - "Personal", "Pooled". + "Personal", "Pooled", "BYODesktop". :type host_pool_type: str or ~desktop_virtualization_api_client.models.HostPoolType - :param personal_desktop_assignment_type: Required. PersonalDesktopAssignment type for HostPool. - Possible values include: "Automatic", "Direct". + :param personal_desktop_assignment_type: PersonalDesktopAssignment type for HostPool. Possible + values include: "Automatic", "Direct". :type personal_desktop_assignment_type: str or ~desktop_virtualization_api_client.models.PersonalDesktopAssignmentType :param custom_rdp_property: Custom rdp property of HostPool. @@ -607,27 +920,57 @@ class HostPool(TrackedResource): :type vm_template: str :ivar application_group_references: List of applicationGroup links. :vartype application_group_references: list[str] - :param sso_context: Path to keyvault containing ssoContext secret. - :type sso_context: str + :param ssoadfs_authority: URL to customer ADFS server for signing WVD SSO certificates. + :type ssoadfs_authority: str + :param sso_client_id: ClientId for the registered Relying Party used to issue WVD SSO + certificates. + :type sso_client_id: str + :param sso_client_secret_key_vault_path: Path to Azure KeyVault storing the secret used for + communication to ADFS. + :type sso_client_secret_key_vault_path: str + :param sso_secret_type: The type of single sign on Secret Type. Possible values include: + "SharedKey", "Certificate", "SharedKeyInKeyVault", "CertificateInKeyVault". + :type sso_secret_type: str or ~desktop_virtualization_api_client.models.SsoSecretType + :param preferred_app_group_type: Required. The type of preferred application group type, + default to Desktop Application Group. Possible values include: "None", "Desktop", + "RailApplications". + :type preferred_app_group_type: str or + ~desktop_virtualization_api_client.models.PreferredAppGroupType + :param start_vm_on_connect: The flag to turn on/off StartVMOnConnect feature. + :type start_vm_on_connect: bool + :param migration_request: The registration info of HostPool. + :type migration_request: ~desktop_virtualization_api_client.models.MigrationRequestProperties + :ivar cloud_pc_resource: Is cloud pc resource. + :vartype cloud_pc_resource: bool """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, - 'location': {'required': True}, + 'kind': {'pattern': r'^[-\w\._,\(\)]+$'}, + 'etag': {'readonly': True}, + 'object_id': {'readonly': True}, 'host_pool_type': {'required': True}, - 'personal_desktop_assignment_type': {'required': True}, 'load_balancer_type': {'required': True}, 'application_group_references': {'readonly': True}, + 'preferred_app_group_type': {'required': True}, + 'cloud_pc_resource': {'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'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, + 'object_id': {'key': 'properties.objectId', 'type': 'str'}, 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'host_pool_type': {'key': 'properties.hostPoolType', 'type': 'str'}, @@ -640,29 +983,48 @@ class HostPool(TrackedResource): 'registration_info': {'key': 'properties.registrationInfo', 'type': 'RegistrationInfo'}, 'vm_template': {'key': 'properties.vmTemplate', 'type': 'str'}, 'application_group_references': {'key': 'properties.applicationGroupReferences', 'type': '[str]'}, - 'sso_context': {'key': 'properties.ssoContext', 'type': 'str'}, + 'ssoadfs_authority': {'key': 'properties.ssoadfsAuthority', 'type': 'str'}, + 'sso_client_id': {'key': 'properties.ssoClientId', 'type': 'str'}, + 'sso_client_secret_key_vault_path': {'key': 'properties.ssoClientSecretKeyVaultPath', 'type': 'str'}, + 'sso_secret_type': {'key': 'properties.ssoSecretType', 'type': 'str'}, + 'preferred_app_group_type': {'key': 'properties.preferredAppGroupType', 'type': 'str'}, + 'start_vm_on_connect': {'key': 'properties.startVMOnConnect', 'type': 'bool'}, + 'migration_request': {'key': 'properties.migrationRequest', 'type': 'MigrationRequestProperties'}, + 'cloud_pc_resource': {'key': 'properties.cloudPcResource', 'type': 'bool'}, } def __init__( self, *, - location: str, host_pool_type: Union[str, "HostPoolType"], - personal_desktop_assignment_type: Union[str, "PersonalDesktopAssignmentType"], load_balancer_type: Union[str, "LoadBalancerType"], + preferred_app_group_type: Union[str, "PreferredAppGroupType"], + location: Optional[str] = None, + managed_by: Optional[str] = None, + kind: Optional[str] = None, tags: Optional[Dict[str, str]] = None, + identity: Optional["Identity"] = None, + sku: Optional["Sku"] = None, + plan: Optional["Plan"] = None, friendly_name: Optional[str] = None, description: Optional[str] = None, + personal_desktop_assignment_type: Optional[Union[str, "PersonalDesktopAssignmentType"]] = None, custom_rdp_property: Optional[str] = None, max_session_limit: Optional[int] = None, ring: Optional[int] = None, validation_environment: Optional[bool] = None, registration_info: Optional["RegistrationInfo"] = None, vm_template: Optional[str] = None, - sso_context: Optional[str] = None, + ssoadfs_authority: Optional[str] = None, + sso_client_id: Optional[str] = None, + sso_client_secret_key_vault_path: Optional[str] = None, + sso_secret_type: Optional[Union[str, "SsoSecretType"]] = None, + start_vm_on_connect: Optional[bool] = None, + migration_request: Optional["MigrationRequestProperties"] = None, **kwargs ): - super(HostPool, self).__init__(tags=tags, location=location, **kwargs) + super(HostPool, self).__init__(location=location, managed_by=managed_by, kind=kind, tags=tags, identity=identity, sku=sku, plan=plan, **kwargs) + self.object_id = None self.friendly_name = friendly_name self.description = description self.host_pool_type = host_pool_type @@ -675,7 +1037,14 @@ def __init__( self.registration_info = registration_info self.vm_template = vm_template self.application_group_references = None - self.sso_context = sso_context + self.ssoadfs_authority = ssoadfs_authority + self.sso_client_id = sso_client_id + self.sso_client_secret_key_vault_path = sso_client_secret_key_vault_path + self.sso_secret_type = sso_secret_type + self.preferred_app_group_type = preferred_app_group_type + self.start_vm_on_connect = start_vm_on_connect + self.migration_request = migration_request + self.cloud_pc_resource = None class HostPoolList(msrest.serialization.Model): @@ -714,13 +1083,13 @@ class HostPoolPatch(Resource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str :param tags: A set of tags. tags to be updated. :type tags: dict[str, str] @@ -745,8 +1114,25 @@ class HostPoolPatch(Resource): :type validation_environment: bool :param registration_info: The registration info of HostPool. :type registration_info: ~desktop_virtualization_api_client.models.RegistrationInfoPatch - :param sso_context: Path to keyvault containing ssoContext secret. - :type sso_context: str + :param vm_template: VM template for sessionhosts configuration within hostpool. + :type vm_template: str + :param ssoadfs_authority: URL to customer ADFS server for signing WVD SSO certificates. + :type ssoadfs_authority: str + :param sso_client_id: ClientId for the registered Relying Party used to issue WVD SSO + certificates. + :type sso_client_id: str + :param sso_client_secret_key_vault_path: Path to Azure KeyVault storing the secret used for + communication to ADFS. + :type sso_client_secret_key_vault_path: str + :param sso_secret_type: The type of single sign on Secret Type. Possible values include: + "SharedKey", "Certificate", "SharedKeyInKeyVault", "CertificateInKeyVault". + :type sso_secret_type: str or ~desktop_virtualization_api_client.models.SsoSecretType + :param preferred_app_group_type: The type of preferred application group type, default to + Desktop Application Group. Possible values include: "None", "Desktop", "RailApplications". + :type preferred_app_group_type: str or + ~desktop_virtualization_api_client.models.PreferredAppGroupType + :param start_vm_on_connect: The flag to turn on/off StartVMOnConnect feature. + :type start_vm_on_connect: bool """ _validation = { @@ -769,7 +1155,13 @@ class HostPoolPatch(Resource): 'ring': {'key': 'properties.ring', 'type': 'int'}, 'validation_environment': {'key': 'properties.validationEnvironment', 'type': 'bool'}, 'registration_info': {'key': 'properties.registrationInfo', 'type': 'RegistrationInfoPatch'}, - 'sso_context': {'key': 'properties.ssoContext', 'type': 'str'}, + 'vm_template': {'key': 'properties.vmTemplate', 'type': 'str'}, + 'ssoadfs_authority': {'key': 'properties.ssoadfsAuthority', 'type': 'str'}, + 'sso_client_id': {'key': 'properties.ssoClientId', 'type': 'str'}, + 'sso_client_secret_key_vault_path': {'key': 'properties.ssoClientSecretKeyVaultPath', 'type': 'str'}, + 'sso_secret_type': {'key': 'properties.ssoSecretType', 'type': 'str'}, + 'preferred_app_group_type': {'key': 'properties.preferredAppGroupType', 'type': 'str'}, + 'start_vm_on_connect': {'key': 'properties.startVMOnConnect', 'type': 'bool'}, } def __init__( @@ -785,7 +1177,13 @@ def __init__( ring: Optional[int] = None, validation_environment: Optional[bool] = None, registration_info: Optional["RegistrationInfoPatch"] = None, - sso_context: Optional[str] = None, + vm_template: Optional[str] = None, + ssoadfs_authority: Optional[str] = None, + sso_client_id: Optional[str] = None, + sso_client_secret_key_vault_path: Optional[str] = None, + sso_secret_type: Optional[Union[str, "SsoSecretType"]] = None, + preferred_app_group_type: Optional[Union[str, "PreferredAppGroupType"]] = None, + start_vm_on_connect: Optional[bool] = None, **kwargs ): super(HostPoolPatch, self).__init__(**kwargs) @@ -799,204 +1197,1232 @@ def __init__( self.ring = ring self.validation_environment = validation_environment self.registration_info = registration_info - self.sso_context = sso_context + self.vm_template = vm_template + self.ssoadfs_authority = ssoadfs_authority + self.sso_client_id = sso_client_id + self.sso_client_secret_key_vault_path = sso_client_secret_key_vault_path + self.sso_secret_type = sso_secret_type + self.preferred_app_group_type = preferred_app_group_type + self.start_vm_on_connect = start_vm_on_connect -class RegistrationInfo(msrest.serialization.Model): - """Represents a RegistrationInfo definition. +class Identity(msrest.serialization.Model): + """Identity for the resource. - :param expiration_time: Expiration time of registration token. - :type expiration_time: ~datetime.datetime - :param token: The registration token base64 encoded string. - :type token: str - :param registration_token_operation: The type of resetting the token. Possible values include: - "Delete", "None", "Update". - :type registration_token_operation: str or - ~desktop_virtualization_api_client.models.RegistrationTokenOperation + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: The identity type. Default value: "SystemAssigned". + :vartype type: str """ + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'type': {'constant': True}, + } + _attribute_map = { - 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, - 'token': {'key': 'token', 'type': 'str'}, - 'registration_token_operation': {'key': 'registrationTokenOperation', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + type = "SystemAssigned" + + def __init__( + self, + **kwargs + ): + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + + +class LogSpecification(msrest.serialization.Model): + """Specifications of the Log for Azure Monitoring. + + :param name: Name of the log. + :type name: str + :param display_name: Localized friendly display name of the log. + :type display_name: str + :param blob_duration: Blob duration of the log. + :type blob_duration: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, } def __init__( self, *, - expiration_time: Optional[datetime.datetime] = None, - token: Optional[str] = None, - registration_token_operation: Optional[Union[str, "RegistrationTokenOperation"]] = None, + name: Optional[str] = None, + display_name: Optional[str] = None, + blob_duration: Optional[str] = None, **kwargs ): - super(RegistrationInfo, self).__init__(**kwargs) - self.expiration_time = expiration_time - self.token = token - self.registration_token_operation = registration_token_operation + super(LogSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.blob_duration = blob_duration -class RegistrationInfoPatch(msrest.serialization.Model): - """Represents a RegistrationInfo definition. +class MigrationRequestProperties(msrest.serialization.Model): + """Properties for arm migration. - :param expiration_time: Expiration time of registration token. - :type expiration_time: ~datetime.datetime - :param registration_token_operation: The type of resetting the token. Possible values include: - "Delete", "None", "Update". - :type registration_token_operation: str or - ~desktop_virtualization_api_client.models.RegistrationTokenOperation + :param operation: The type of operation for migration. Possible values include: "Start", + "Revoke", "Complete", "Hide", "Unhide". + :type operation: str or ~desktop_virtualization_api_client.models.Operation + :param migration_path: The path to the legacy object to migrate. + :type migration_path: str """ _attribute_map = { - 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, - 'registration_token_operation': {'key': 'registrationTokenOperation', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'migration_path': {'key': 'migrationPath', 'type': 'str'}, } def __init__( self, *, - expiration_time: Optional[datetime.datetime] = None, - registration_token_operation: Optional[Union[str, "RegistrationTokenOperation"]] = None, + operation: Optional[Union[str, "Operation"]] = None, + migration_path: Optional[str] = None, **kwargs ): - super(RegistrationInfoPatch, self).__init__(**kwargs) - self.expiration_time = expiration_time - self.registration_token_operation = registration_token_operation + super(MigrationRequestProperties, self).__init__(**kwargs) + self.operation = operation + self.migration_path = migration_path -class ResourceProviderOperation(msrest.serialization.Model): - """Supported operation of this resource provider. +class MsixImageUri(msrest.serialization.Model): + """Represents URI referring to MSIX Image. - :param name: Operation name, in format of {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: ~desktop_virtualization_api_client.models.ResourceProviderOperationDisplay + :param uri: URI to Image. + :type uri: str """ _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'uri': {'key': 'uri', 'type': 'str'}, } def __init__( self, *, - name: Optional[str] = None, - display: Optional["ResourceProviderOperationDisplay"] = None, + uri: Optional[str] = None, **kwargs ): - super(ResourceProviderOperation, self).__init__(**kwargs) - self.name = name - self.display = display + super(MsixImageUri, self).__init__(**kwargs) + self.uri = uri -class ResourceProviderOperationDisplay(msrest.serialization.Model): - """Display metadata associated with the operation. +class MsixPackage(Resource): + """Schema for MSIX Package properties. - :param provider: Resource provider: Microsoft Desktop Virtualization. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :param description: Description of this operation. + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :param image_path: VHD/CIM image path on Network Share. + :type image_path: str + :param package_name: Package Name from appxmanifest.xml. + :type package_name: str + :param package_family_name: Package Family Name from appxmanifest.xml. Contains Package Name + and Publisher name. + :type package_family_name: str + :param display_name: User friendly Name to be displayed in the portal. + :type display_name: str + :param package_relative_path: Relative Path to the package inside the image. + :type package_relative_path: str + :param is_regular_registration: Specifies how to register Package in feed. + :type is_regular_registration: bool + :param is_active: Make this version of the package the active one across the hostpool. + :type is_active: bool + :param package_dependencies: List of package dependencies. + :type package_dependencies: + list[~desktop_virtualization_api_client.models.MsixPackageDependencies] + :param version: Package Version found in the appxmanifest.xml. + :type version: str + :param last_updated: Date Package was last updated, found in the appxmanifest.xml. + :type last_updated: ~datetime.datetime + :param package_applications: List of package applications. + :type package_applications: + list[~desktop_virtualization_api_client.models.MsixPackageApplications] + """ + + _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'}, + 'image_path': {'key': 'properties.imagePath', 'type': 'str'}, + 'package_name': {'key': 'properties.packageName', 'type': 'str'}, + 'package_family_name': {'key': 'properties.packageFamilyName', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'package_relative_path': {'key': 'properties.packageRelativePath', 'type': 'str'}, + 'is_regular_registration': {'key': 'properties.isRegularRegistration', 'type': 'bool'}, + 'is_active': {'key': 'properties.isActive', 'type': 'bool'}, + 'package_dependencies': {'key': 'properties.packageDependencies', 'type': '[MsixPackageDependencies]'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'last_updated': {'key': 'properties.lastUpdated', 'type': 'iso-8601'}, + 'package_applications': {'key': 'properties.packageApplications', 'type': '[MsixPackageApplications]'}, + } + + def __init__( + self, + *, + image_path: Optional[str] = None, + package_name: Optional[str] = None, + package_family_name: Optional[str] = None, + display_name: Optional[str] = None, + package_relative_path: Optional[str] = None, + is_regular_registration: Optional[bool] = None, + is_active: Optional[bool] = None, + package_dependencies: Optional[List["MsixPackageDependencies"]] = None, + version: Optional[str] = None, + last_updated: Optional[datetime.datetime] = None, + package_applications: Optional[List["MsixPackageApplications"]] = None, + **kwargs + ): + super(MsixPackage, self).__init__(**kwargs) + self.image_path = image_path + self.package_name = package_name + self.package_family_name = package_family_name + self.display_name = display_name + self.package_relative_path = package_relative_path + self.is_regular_registration = is_regular_registration + self.is_active = is_active + self.package_dependencies = package_dependencies + self.version = version + self.last_updated = last_updated + self.package_applications = package_applications + + +class MsixPackageApplications(msrest.serialization.Model): + """Schema for MSIX Package Application properties. + + :param app_id: Package Application Id, found in appxmanifest.xml. + :type app_id: str + :param description: Description of Package Application. :type description: str + :param app_user_model_id: Used to activate Package Application. Consists of Package Name and + ApplicationID. Found in appxmanifest.xml. + :type app_user_model_id: str + :param friendly_name: User friendly name. + :type friendly_name: str + :param icon_image_name: User friendly name. + :type icon_image_name: str + :param raw_icon: the icon a 64 bit string as a byte array. + :type raw_icon: bytearray + :param raw_png: the icon a 64 bit string as a byte array. + :type raw_png: bytearray """ _attribute_map = { - 'provider': {'key': 'provider', 'type': 'str'}, - 'resource': {'key': 'resource', 'type': 'str'}, - 'operation': {'key': 'operation', 'type': 'str'}, + 'app_id': {'key': 'appId', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, + 'app_user_model_id': {'key': 'appUserModelID', 'type': 'str'}, + 'friendly_name': {'key': 'friendlyName', 'type': 'str'}, + 'icon_image_name': {'key': 'iconImageName', 'type': 'str'}, + 'raw_icon': {'key': 'rawIcon', 'type': 'bytearray'}, + 'raw_png': {'key': 'rawPng', 'type': 'bytearray'}, } def __init__( self, *, - provider: Optional[str] = None, - resource: Optional[str] = None, - operation: Optional[str] = None, + app_id: Optional[str] = None, description: Optional[str] = None, + app_user_model_id: Optional[str] = None, + friendly_name: Optional[str] = None, + icon_image_name: Optional[str] = None, + raw_icon: Optional[bytearray] = None, + raw_png: Optional[bytearray] = None, **kwargs ): - super(ResourceProviderOperationDisplay, self).__init__(**kwargs) - self.provider = provider - self.resource = resource - self.operation = operation + super(MsixPackageApplications, self).__init__(**kwargs) + self.app_id = app_id self.description = description + self.app_user_model_id = app_user_model_id + self.friendly_name = friendly_name + self.icon_image_name = icon_image_name + self.raw_icon = raw_icon + self.raw_png = raw_png -class ResourceProviderOperationList(msrest.serialization.Model): - """Result of the request to list operations. +class MsixPackageDependencies(msrest.serialization.Model): + """Schema for MSIX Package Dependencies properties. - :param value: List of operations supported by this resource provider. - :type value: list[~desktop_virtualization_api_client.models.ResourceProviderOperation] + :param dependency_name: Name of package dependency. + :type dependency_name: str + :param publisher: Name of dependency publisher. + :type publisher: str + :param min_version: Dependency version required. + :type min_version: str """ _attribute_map = { - 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'dependency_name': {'key': 'dependencyName', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'min_version': {'key': 'minVersion', 'type': 'str'}, } def __init__( self, *, - value: Optional[List["ResourceProviderOperation"]] = None, + dependency_name: Optional[str] = None, + publisher: Optional[str] = None, + min_version: Optional[str] = None, **kwargs ): - super(ResourceProviderOperationList, self).__init__(**kwargs) - self.value = value + super(MsixPackageDependencies, self).__init__(**kwargs) + self.dependency_name = dependency_name + self.publisher = publisher + self.min_version = min_version -class SendMessage(msrest.serialization.Model): - """Represents message sent to a UserSession. +class MsixPackageList(msrest.serialization.Model): + """List of MSIX Package definitions. - :param message_title: Title of message. - :type message_title: str - :param message_body: Body of message. - :type message_body: str + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of MSIX Package definitions. + :type value: list[~desktop_virtualization_api_client.models.MsixPackage] + :ivar next_link: Link to the next page of results. + :vartype next_link: str """ + _validation = { + 'next_link': {'readonly': True}, + } + _attribute_map = { - 'message_title': {'key': 'messageTitle', 'type': 'str'}, - 'message_body': {'key': 'messageBody', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[MsixPackage]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, } def __init__( self, *, - message_title: Optional[str] = None, - message_body: Optional[str] = None, + value: Optional[List["MsixPackage"]] = None, **kwargs ): - super(SendMessage, self).__init__(**kwargs) - self.message_title = message_title - self.message_body = message_body + super(MsixPackageList, self).__init__(**kwargs) + self.value = value + self.next_link = None -class SessionHost(Resource): - """Represents a SessionHost definition. +class MsixPackagePatch(Resource): + """MSIX Package properties that can be patched. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str - :param last_heart_beat: Last heart beat from SessionHost. - :type last_heart_beat: ~datetime.datetime - :param sessions: Number of sessions on SessionHost. - :type sessions: int - :param agent_version: Version of agent on SessionHost. + :param is_active: Set a version of the package to be active across hostpool. + :type is_active: bool + :param is_regular_registration: Set Registration mode. Regular or Delayed. + :type is_regular_registration: bool + :param display_name: Display name for MSIX Package. + :type display_name: 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'}, + 'is_active': {'key': 'properties.isActive', 'type': 'bool'}, + 'is_regular_registration': {'key': 'properties.isRegularRegistration', 'type': 'bool'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + } + + def __init__( + self, + *, + is_active: Optional[bool] = None, + is_regular_registration: Optional[bool] = None, + display_name: Optional[str] = None, + **kwargs + ): + super(MsixPackagePatch, self).__init__(**kwargs) + self.is_active = is_active + self.is_regular_registration = is_regular_registration + self.display_name = display_name + + +class OperationProperties(msrest.serialization.Model): + """Properties of the operation. + + :param service_specification: Service specification payload. + :type service_specification: ~desktop_virtualization_api_client.models.ServiceSpecification + """ + + _attribute_map = { + 'service_specification': {'key': 'serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__( + self, + *, + service_specification: Optional["ServiceSpecification"] = None, + **kwargs + ): + super(OperationProperties, self).__init__(**kwargs) + self.service_specification = service_specification + + +class Plan(msrest.serialization.Model): + """Plan for the resource. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. A user defined name of the 3rd Party Artifact that is being procured. + :type name: str + :param publisher: Required. The publisher of the 3rd Party Artifact that is being bought. E.g. + NewRelic. + :type publisher: str + :param product: Required. The 3rd Party artifact that is being procured. E.g. NewRelic. Product + maps to the OfferID specified for the artifact at the time of Data Market onboarding. + :type product: str + :param promotion_code: A publisher provided promotion code as provisioned in Data Market for + the said product/artifact. + :type promotion_code: str + :param version: The version of the desired product/artifact. + :type version: str + """ + + _validation = { + 'name': {'required': True}, + 'publisher': {'required': True}, + 'product': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'product': {'key': 'product', 'type': 'str'}, + 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + publisher: str, + product: str, + promotion_code: Optional[str] = None, + version: Optional[str] = None, + **kwargs + ): + super(Plan, self).__init__(**kwargs) + self.name = name + self.publisher = publisher + self.product = product + self.promotion_code = promotion_code + self.version = version + + +class RegistrationInfo(msrest.serialization.Model): + """Represents a RegistrationInfo definition. + + :param expiration_time: Expiration time of registration token. + :type expiration_time: ~datetime.datetime + :param token: The registration token base64 encoded string. + :type token: str + :param registration_token_operation: The type of resetting the token. Possible values include: + "Delete", "None", "Update". + :type registration_token_operation: str or + ~desktop_virtualization_api_client.models.RegistrationTokenOperation + """ + + _attribute_map = { + 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, + 'token': {'key': 'token', 'type': 'str'}, + 'registration_token_operation': {'key': 'registrationTokenOperation', 'type': 'str'}, + } + + def __init__( + self, + *, + expiration_time: Optional[datetime.datetime] = None, + token: Optional[str] = None, + registration_token_operation: Optional[Union[str, "RegistrationTokenOperation"]] = None, + **kwargs + ): + super(RegistrationInfo, self).__init__(**kwargs) + self.expiration_time = expiration_time + self.token = token + self.registration_token_operation = registration_token_operation + + +class RegistrationInfoPatch(msrest.serialization.Model): + """Represents a RegistrationInfo definition. + + :param expiration_time: Expiration time of registration token. + :type expiration_time: ~datetime.datetime + :param registration_token_operation: The type of resetting the token. Possible values include: + "Delete", "None", "Update". + :type registration_token_operation: str or + ~desktop_virtualization_api_client.models.RegistrationTokenOperation + """ + + _attribute_map = { + 'expiration_time': {'key': 'expirationTime', 'type': 'iso-8601'}, + 'registration_token_operation': {'key': 'registrationTokenOperation', 'type': 'str'}, + } + + def __init__( + self, + *, + expiration_time: Optional[datetime.datetime] = None, + registration_token_operation: Optional[Union[str, "RegistrationTokenOperation"]] = None, + **kwargs + ): + super(RegistrationInfoPatch, self).__init__(**kwargs) + self.expiration_time = expiration_time + self.registration_token_operation = registration_token_operation + + +class ResourceModelWithAllowedPropertySetIdentity(Identity): + """ResourceModelWithAllowedPropertySetIdentity. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: The identity type. Default value: "SystemAssigned". + :vartype type: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'type': {'constant': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + type = "SystemAssigned" + + def __init__( + self, + **kwargs + ): + super(ResourceModelWithAllowedPropertySetIdentity, self).__init__(**kwargs) + + +class ResourceModelWithAllowedPropertySetPlan(Plan): + """ResourceModelWithAllowedPropertySetPlan. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. A user defined name of the 3rd Party Artifact that is being procured. + :type name: str + :param publisher: Required. The publisher of the 3rd Party Artifact that is being bought. E.g. + NewRelic. + :type publisher: str + :param product: Required. The 3rd Party artifact that is being procured. E.g. NewRelic. Product + maps to the OfferID specified for the artifact at the time of Data Market onboarding. + :type product: str + :param promotion_code: A publisher provided promotion code as provisioned in Data Market for + the said product/artifact. + :type promotion_code: str + :param version: The version of the desired product/artifact. + :type version: str + """ + + _validation = { + 'name': {'required': True}, + 'publisher': {'required': True}, + 'product': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'publisher': {'key': 'publisher', 'type': 'str'}, + 'product': {'key': 'product', 'type': 'str'}, + 'promotion_code': {'key': 'promotionCode', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + publisher: str, + product: str, + promotion_code: Optional[str] = None, + version: Optional[str] = None, + **kwargs + ): + super(ResourceModelWithAllowedPropertySetPlan, self).__init__(name=name, publisher=publisher, product=product, promotion_code=promotion_code, version=version, **kwargs) + + +class Sku(msrest.serialization.Model): + """The resource model definition representing SKU. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the SKU. Ex - P3. It is typically a letter+number code. + :type name: str + :param tier: This field is required to be implemented by the Resource Provider if the service + has more than one tier, but is not required on a PUT. Possible values include: "Free", "Basic", + "Standard", "Premium". + :type tier: str or ~desktop_virtualization_api_client.models.SkuTier + :param size: The SKU size. When the name field is the combination of tier and some other value, + this would be the standalone code. + :type size: str + :param family: If the service has different generations of hardware, for the same SKU, then + that can be captured here. + :type family: str + :param capacity: If the SKU supports scale out/in then the capacity integer should be included. + If scale out/in is not possible for the resource this may be omitted. + :type capacity: int + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__( + self, + *, + name: str, + tier: Optional[Union[str, "SkuTier"]] = None, + size: Optional[str] = None, + family: Optional[str] = None, + capacity: Optional[int] = None, + **kwargs + ): + super(Sku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.size = size + self.family = family + self.capacity = capacity + + +class ResourceModelWithAllowedPropertySetSku(Sku): + """ResourceModelWithAllowedPropertySetSku. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the SKU. Ex - P3. It is typically a letter+number code. + :type name: str + :param tier: This field is required to be implemented by the Resource Provider if the service + has more than one tier, but is not required on a PUT. Possible values include: "Free", "Basic", + "Standard", "Premium". + :type tier: str or ~desktop_virtualization_api_client.models.SkuTier + :param size: The SKU size. When the name field is the combination of tier and some other value, + this would be the standalone code. + :type size: str + :param family: If the service has different generations of hardware, for the same SKU, then + that can be captured here. + :type family: str + :param capacity: If the SKU supports scale out/in then the capacity integer should be included. + If scale out/in is not possible for the resource this may be omitted. + :type capacity: int + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__( + self, + *, + name: str, + tier: Optional[Union[str, "SkuTier"]] = None, + size: Optional[str] = None, + family: Optional[str] = None, + capacity: Optional[int] = None, + **kwargs + ): + super(ResourceModelWithAllowedPropertySetSku, self).__init__(name=name, tier=tier, size=size, family=family, capacity=capacity, **kwargs) + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + :param name: Operation name, in format of {provider}/{resource}/{operation}. + :type name: str + :param display: Display metadata associated with the operation. + :type display: ~desktop_virtualization_api_client.models.ResourceProviderOperationDisplay + :param is_data_action: Is a data action. + :type is_data_action: bool + :param properties: Properties of the operation. + :type properties: ~desktop_virtualization_api_client.models.OperationProperties + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'properties': {'key': 'properties', 'type': 'OperationProperties'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + is_data_action: Optional[bool] = None, + properties: Optional["OperationProperties"] = None, + **kwargs + ): + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + self.is_data_action = is_data_action + self.properties = properties + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :param provider: Resource provider: Microsoft Desktop Virtualization. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of operation: get, read, delete, etc. + :type operation: str + :param description: Description of this 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: Optional[str] = None, + resource: Optional[str] = None, + operation: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + :param value: List of operations supported by this resource provider. + :type value: list[~desktop_virtualization_api_client.models.ResourceProviderOperation] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceProviderOperation"]] = None, + **kwargs + ): + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = value + + +class ScalingHostPoolReference(msrest.serialization.Model): + """Scaling plan reference to hostpool. + + :param host_pool_arm_path: Arm path of referenced hostpool. + :type host_pool_arm_path: str + :param scaling_plan_enabled: Is the scaling plan enabled for this hostpool. + :type scaling_plan_enabled: bool + """ + + _attribute_map = { + 'host_pool_arm_path': {'key': 'hostPoolArmPath', 'type': 'str'}, + 'scaling_plan_enabled': {'key': 'scalingPlanEnabled', 'type': 'bool'}, + } + + def __init__( + self, + *, + host_pool_arm_path: Optional[str] = None, + scaling_plan_enabled: Optional[bool] = None, + **kwargs + ): + super(ScalingHostPoolReference, self).__init__(**kwargs) + self.host_pool_arm_path = host_pool_arm_path + self.scaling_plan_enabled = scaling_plan_enabled + + +class ScalingPlan(ResourceModelWithAllowedPropertySet): + """Represents a scaling plan definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :param location: The geo-location where the resource lives. + :type location: str + :param managed_by: The fully qualified resource ID of the resource that manages this resource. + Indicates if this resource is managed by another Azure resource. If this is present, complete + mode deployment will not delete the resource if it is removed from the template since it is + managed by another resource. + :type managed_by: str + :param kind: Metadata used by portal/tooling/etc to render different UX experiences for + resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, + the resource provider must validate and persist this value. + :type kind: str + :ivar etag: The etag field is *not* required. If it is provided in the response body, it must + also be provided as a header per the normal etag convention. Entity tags are used for + comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in + the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range + (section 14.27) header fields. + :vartype etag: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param identity: Identity for the resource. + :type identity: ~desktop_virtualization_api_client.models.Identity + :param sku: The resource model definition representing SKU. + :type sku: ~desktop_virtualization_api_client.models.Sku + :param plan: Plan for the resource. + :type plan: ~desktop_virtualization_api_client.models.Plan + :ivar object_id: ObjectId of scaling plan. (internal use). + :vartype object_id: str + :param description: Description of scaling plan. + :type description: str + :param friendly_name: User friendly name of scaling plan. + :type friendly_name: str + :param time_zone: Timezone of the scaling plan. + :type time_zone: str + :param host_pool_type: HostPool type for desktop. Possible values include: "Personal", + "Pooled", "BYODesktop". + :type host_pool_type: str or ~desktop_virtualization_api_client.models.HostPoolType + :param exclusion_tag: Exclusion tag for scaling plan. + :type exclusion_tag: str + :param schedules: List of ScalingSchedule definitions. + :type schedules: list[~desktop_virtualization_api_client.models.ScalingSchedule] + :param host_pool_references: List of ScalingHostPoolReference definitions. + :type host_pool_references: + list[~desktop_virtualization_api_client.models.ScalingHostPoolReference] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'pattern': r'^[-\w\._,\(\)]+$'}, + 'etag': {'readonly': True}, + 'object_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, + 'object_id': {'key': 'properties.objectId', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'time_zone': {'key': 'properties.timeZone', 'type': 'str'}, + 'host_pool_type': {'key': 'properties.hostPoolType', 'type': 'str'}, + 'exclusion_tag': {'key': 'properties.exclusionTag', 'type': 'str'}, + 'schedules': {'key': 'properties.schedules', 'type': '[ScalingSchedule]'}, + 'host_pool_references': {'key': 'properties.hostPoolReferences', 'type': '[ScalingHostPoolReference]'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + managed_by: Optional[str] = None, + kind: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["Identity"] = None, + sku: Optional["Sku"] = None, + plan: Optional["Plan"] = None, + description: Optional[str] = None, + friendly_name: Optional[str] = None, + time_zone: Optional[str] = None, + host_pool_type: Optional[Union[str, "HostPoolType"]] = None, + exclusion_tag: Optional[str] = None, + schedules: Optional[List["ScalingSchedule"]] = None, + host_pool_references: Optional[List["ScalingHostPoolReference"]] = None, + **kwargs + ): + super(ScalingPlan, self).__init__(location=location, managed_by=managed_by, kind=kind, tags=tags, identity=identity, sku=sku, plan=plan, **kwargs) + self.object_id = None + self.description = description + self.friendly_name = friendly_name + self.time_zone = time_zone + self.host_pool_type = host_pool_type + self.exclusion_tag = exclusion_tag + self.schedules = schedules + self.host_pool_references = host_pool_references + + +class ScalingPlanList(msrest.serialization.Model): + """List of scaling plan definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of scaling plan definitions. + :type value: list[~desktop_virtualization_api_client.models.ScalingPlan] + :ivar next_link: Link to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ScalingPlan]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ScalingPlan"]] = None, + **kwargs + ): + super(ScalingPlanList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class ScalingPlanPatch(msrest.serialization.Model): + """Scaling plan properties that can be patched. + + :param tags: A set of tags. tags to be updated. + :type tags: dict[str, str] + :param description: Description of scaling plan. + :type description: str + :param friendly_name: User friendly name of scaling plan. + :type friendly_name: str + :param time_zone: Timezone of the scaling plan. + :type time_zone: str + :param host_pool_type: HostPool type for desktop. Possible values include: "Personal", + "Pooled", "BYODesktop". + :type host_pool_type: str or ~desktop_virtualization_api_client.models.HostPoolType + :param exclusion_tag: Exclusion tag for scaling plan. + :type exclusion_tag: str + :param schedules: List of ScalingSchedule definitions. + :type schedules: list[~desktop_virtualization_api_client.models.ScalingSchedule] + :param host_pool_references: List of ScalingHostPoolReference definitions. + :type host_pool_references: + list[~desktop_virtualization_api_client.models.ScalingHostPoolReference] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, + 'time_zone': {'key': 'properties.timeZone', 'type': 'str'}, + 'host_pool_type': {'key': 'properties.hostPoolType', 'type': 'str'}, + 'exclusion_tag': {'key': 'properties.exclusionTag', 'type': 'str'}, + 'schedules': {'key': 'properties.schedules', 'type': '[ScalingSchedule]'}, + 'host_pool_references': {'key': 'properties.hostPoolReferences', 'type': '[ScalingHostPoolReference]'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + description: Optional[str] = None, + friendly_name: Optional[str] = None, + time_zone: Optional[str] = None, + host_pool_type: Optional[Union[str, "HostPoolType"]] = None, + exclusion_tag: Optional[str] = None, + schedules: Optional[List["ScalingSchedule"]] = None, + host_pool_references: Optional[List["ScalingHostPoolReference"]] = None, + **kwargs + ): + super(ScalingPlanPatch, self).__init__(**kwargs) + self.tags = tags + self.description = description + self.friendly_name = friendly_name + self.time_zone = time_zone + self.host_pool_type = host_pool_type + self.exclusion_tag = exclusion_tag + self.schedules = schedules + self.host_pool_references = host_pool_references + + +class ScalingSchedule(msrest.serialization.Model): + """Scaling plan schedule. + + :param name: Name of the scaling schedule. + :type name: str + :param days_of_week: Set of days of the week on which this schedule is active. + :type days_of_week: list[str or + ~desktop_virtualization_api_client.models.ScalingScheduleDaysOfWeekItem] + :param ramp_up_start_time: Starting time for ramp up period. + :type ramp_up_start_time: ~datetime.datetime + :param ramp_up_load_balancing_algorithm: Load balancing algorithm for ramp up period. Possible + values include: "BreadthFirst", "DepthFirst". + :type ramp_up_load_balancing_algorithm: str or + ~desktop_virtualization_api_client.models.SessionHostLoadBalancingAlgorithm + :param ramp_up_minimum_hosts_pct: Minimum host percentage for ramp up period. + :type ramp_up_minimum_hosts_pct: int + :param ramp_up_capacity_threshold_pct: Capacity threshold for ramp up period. + :type ramp_up_capacity_threshold_pct: int + :param peak_start_time: Starting time for peak period. + :type peak_start_time: ~datetime.datetime + :param peak_load_balancing_algorithm: Load balancing algorithm for peak period. Possible values + include: "BreadthFirst", "DepthFirst". + :type peak_load_balancing_algorithm: str or + ~desktop_virtualization_api_client.models.SessionHostLoadBalancingAlgorithm + :param ramp_down_start_time: Starting time for ramp down period. + :type ramp_down_start_time: ~datetime.datetime + :param ramp_down_load_balancing_algorithm: Load balancing algorithm for ramp down period. + Possible values include: "BreadthFirst", "DepthFirst". + :type ramp_down_load_balancing_algorithm: str or + ~desktop_virtualization_api_client.models.SessionHostLoadBalancingAlgorithm + :param ramp_down_minimum_hosts_pct: Minimum host percentage for ramp down period. + :type ramp_down_minimum_hosts_pct: int + :param ramp_down_capacity_threshold_pct: Capacity threshold for ramp down period. + :type ramp_down_capacity_threshold_pct: int + :param ramp_down_force_logoff_users: Should users be logged off forcefully from hosts. + :type ramp_down_force_logoff_users: bool + :param ramp_down_stop_hosts_when: Specifies when to stop hosts during ramp down period. + Possible values include: "ZeroSessions", "ZeroActiveSessions". + :type ramp_down_stop_hosts_when: str or ~desktop_virtualization_api_client.models.StopHostsWhen + :param ramp_down_wait_time_minutes: Number of minutes to wait to stop hosts during ramp down + period. + :type ramp_down_wait_time_minutes: int + :param ramp_down_notification_message: Notification message for users during ramp down period. + :type ramp_down_notification_message: str + :param off_peak_start_time: Starting time for off-peak period. + :type off_peak_start_time: ~datetime.datetime + :param off_peak_load_balancing_algorithm: Load balancing algorithm for off-peak period. + Possible values include: "BreadthFirst", "DepthFirst". + :type off_peak_load_balancing_algorithm: str or + ~desktop_virtualization_api_client.models.SessionHostLoadBalancingAlgorithm + """ + + _validation = { + 'ramp_up_minimum_hosts_pct': {'maximum': 100, 'minimum': 0}, + 'ramp_up_capacity_threshold_pct': {'maximum': 100, 'minimum': 0}, + 'ramp_down_minimum_hosts_pct': {'maximum': 100, 'minimum': 0}, + 'ramp_down_capacity_threshold_pct': {'maximum': 100, 'minimum': 0}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'days_of_week': {'key': 'daysOfWeek', 'type': '[str]'}, + 'ramp_up_start_time': {'key': 'rampUpStartTime', 'type': 'iso-8601'}, + 'ramp_up_load_balancing_algorithm': {'key': 'rampUpLoadBalancingAlgorithm', 'type': 'str'}, + 'ramp_up_minimum_hosts_pct': {'key': 'rampUpMinimumHostsPct', 'type': 'int'}, + 'ramp_up_capacity_threshold_pct': {'key': 'rampUpCapacityThresholdPct', 'type': 'int'}, + 'peak_start_time': {'key': 'peakStartTime', 'type': 'iso-8601'}, + 'peak_load_balancing_algorithm': {'key': 'peakLoadBalancingAlgorithm', 'type': 'str'}, + 'ramp_down_start_time': {'key': 'rampDownStartTime', 'type': 'iso-8601'}, + 'ramp_down_load_balancing_algorithm': {'key': 'rampDownLoadBalancingAlgorithm', 'type': 'str'}, + 'ramp_down_minimum_hosts_pct': {'key': 'rampDownMinimumHostsPct', 'type': 'int'}, + 'ramp_down_capacity_threshold_pct': {'key': 'rampDownCapacityThresholdPct', 'type': 'int'}, + 'ramp_down_force_logoff_users': {'key': 'rampDownForceLogoffUsers', 'type': 'bool'}, + 'ramp_down_stop_hosts_when': {'key': 'rampDownStopHostsWhen', 'type': 'str'}, + 'ramp_down_wait_time_minutes': {'key': 'rampDownWaitTimeMinutes', 'type': 'int'}, + 'ramp_down_notification_message': {'key': 'rampDownNotificationMessage', 'type': 'str'}, + 'off_peak_start_time': {'key': 'offPeakStartTime', 'type': 'iso-8601'}, + 'off_peak_load_balancing_algorithm': {'key': 'offPeakLoadBalancingAlgorithm', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + days_of_week: Optional[List[Union[str, "ScalingScheduleDaysOfWeekItem"]]] = None, + ramp_up_start_time: Optional[datetime.datetime] = None, + ramp_up_load_balancing_algorithm: Optional[Union[str, "SessionHostLoadBalancingAlgorithm"]] = None, + ramp_up_minimum_hosts_pct: Optional[int] = None, + ramp_up_capacity_threshold_pct: Optional[int] = None, + peak_start_time: Optional[datetime.datetime] = None, + peak_load_balancing_algorithm: Optional[Union[str, "SessionHostLoadBalancingAlgorithm"]] = None, + ramp_down_start_time: Optional[datetime.datetime] = None, + ramp_down_load_balancing_algorithm: Optional[Union[str, "SessionHostLoadBalancingAlgorithm"]] = None, + ramp_down_minimum_hosts_pct: Optional[int] = None, + ramp_down_capacity_threshold_pct: Optional[int] = None, + ramp_down_force_logoff_users: Optional[bool] = None, + ramp_down_stop_hosts_when: Optional[Union[str, "StopHostsWhen"]] = None, + ramp_down_wait_time_minutes: Optional[int] = None, + ramp_down_notification_message: Optional[str] = None, + off_peak_start_time: Optional[datetime.datetime] = None, + off_peak_load_balancing_algorithm: Optional[Union[str, "SessionHostLoadBalancingAlgorithm"]] = None, + **kwargs + ): + super(ScalingSchedule, self).__init__(**kwargs) + self.name = name + self.days_of_week = days_of_week + self.ramp_up_start_time = ramp_up_start_time + self.ramp_up_load_balancing_algorithm = ramp_up_load_balancing_algorithm + self.ramp_up_minimum_hosts_pct = ramp_up_minimum_hosts_pct + self.ramp_up_capacity_threshold_pct = ramp_up_capacity_threshold_pct + self.peak_start_time = peak_start_time + self.peak_load_balancing_algorithm = peak_load_balancing_algorithm + self.ramp_down_start_time = ramp_down_start_time + self.ramp_down_load_balancing_algorithm = ramp_down_load_balancing_algorithm + self.ramp_down_minimum_hosts_pct = ramp_down_minimum_hosts_pct + self.ramp_down_capacity_threshold_pct = ramp_down_capacity_threshold_pct + self.ramp_down_force_logoff_users = ramp_down_force_logoff_users + self.ramp_down_stop_hosts_when = ramp_down_stop_hosts_when + self.ramp_down_wait_time_minutes = ramp_down_wait_time_minutes + self.ramp_down_notification_message = ramp_down_notification_message + self.off_peak_start_time = off_peak_start_time + self.off_peak_load_balancing_algorithm = off_peak_load_balancing_algorithm + + +class SendMessage(msrest.serialization.Model): + """Represents message sent to a UserSession. + + :param message_title: Title of message. + :type message_title: str + :param message_body: Body of message. + :type message_body: str + """ + + _attribute_map = { + 'message_title': {'key': 'messageTitle', 'type': 'str'}, + 'message_body': {'key': 'messageBody', 'type': 'str'}, + } + + def __init__( + self, + *, + message_title: Optional[str] = None, + message_body: Optional[str] = None, + **kwargs + ): + super(SendMessage, self).__init__(**kwargs) + self.message_title = message_title + self.message_body = message_body + + +class ServiceSpecification(msrest.serialization.Model): + """Service specification payload. + + :param log_specifications: Specifications of the Log for Azure Monitoring. + :type log_specifications: list[~desktop_virtualization_api_client.models.LogSpecification] + """ + + _attribute_map = { + 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, + } + + def __init__( + self, + *, + log_specifications: Optional[List["LogSpecification"]] = None, + **kwargs + ): + super(ServiceSpecification, self).__init__(**kwargs) + self.log_specifications = log_specifications + + +class SessionHost(Resource): + """Represents a SessionHost definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar object_id: ObjectId of SessionHost. (internal use). + :vartype object_id: str + :param last_heart_beat: Last heart beat from SessionHost. + :type last_heart_beat: ~datetime.datetime + :param sessions: Number of sessions on SessionHost. + :type sessions: int + :param agent_version: Version of agent on SessionHost. :type agent_version: str :param allow_new_session: Allow a new session. :type allow_new_session: bool + :ivar virtual_machine_id: Virtual Machine Id of SessionHost's underlying virtual machine. + :vartype virtual_machine_id: str + :ivar resource_id: Resource Id of SessionHost's underlying virtual machine. + :vartype resource_id: str :param assigned_user: User assigned to SessionHost. :type assigned_user: str :param status: Status for a SessionHost. Possible values include: "Available", "Unavailable", - "Shutdown", "Disconnected", "Upgrading", "UpgradeFailed". + "Shutdown", "Disconnected", "Upgrading", "UpgradeFailed", "NoHeartbeat", "NotJoinedToDomain", + "DomainTrustRelationshipLost", "SxSStackListenerNotReady", "FSLogixNotHealthy", + "NeedsAssistance". :type status: str or ~desktop_virtualization_api_client.models.Status :ivar status_timestamp: The timestamp of the status. :vartype status_timestamp: ~datetime.datetime @@ -1011,24 +2437,34 @@ class SessionHost(Resource): :vartype last_update_time: ~datetime.datetime :param update_error_message: The error message. :type update_error_message: str + :ivar session_host_health_check_results: List of SessionHostHealthCheckReports. + :vartype session_host_health_check_results: + list[~desktop_virtualization_api_client.models.SessionHostHealthCheckReport] """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'object_id': {'readonly': True}, + 'virtual_machine_id': {'readonly': True}, + 'resource_id': {'readonly': True}, 'status_timestamp': {'readonly': True}, 'last_update_time': {'readonly': True}, + 'session_host_health_check_results': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'object_id': {'key': 'properties.objectId', 'type': 'str'}, 'last_heart_beat': {'key': 'properties.lastHeartBeat', 'type': 'iso-8601'}, 'sessions': {'key': 'properties.sessions', 'type': 'int'}, 'agent_version': {'key': 'properties.agentVersion', 'type': 'str'}, 'allow_new_session': {'key': 'properties.allowNewSession', 'type': 'bool'}, + 'virtual_machine_id': {'key': 'properties.virtualMachineId', 'type': 'str'}, + 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, 'assigned_user': {'key': 'properties.assignedUser', 'type': 'str'}, 'status': {'key': 'properties.status', 'type': 'str'}, 'status_timestamp': {'key': 'properties.statusTimestamp', 'type': 'iso-8601'}, @@ -1037,6 +2473,7 @@ class SessionHost(Resource): 'update_state': {'key': 'properties.updateState', 'type': 'str'}, 'last_update_time': {'key': 'properties.lastUpdateTime', 'type': 'iso-8601'}, 'update_error_message': {'key': 'properties.updateErrorMessage', 'type': 'str'}, + 'session_host_health_check_results': {'key': 'properties.sessionHostHealthCheckResults', 'type': '[SessionHostHealthCheckReport]'}, } def __init__( @@ -1055,10 +2492,13 @@ def __init__( **kwargs ): super(SessionHost, self).__init__(**kwargs) + self.object_id = None self.last_heart_beat = last_heart_beat self.sessions = sessions self.agent_version = agent_version self.allow_new_session = allow_new_session + self.virtual_machine_id = None + self.resource_id = None self.assigned_user = assigned_user self.status = status self.status_timestamp = None @@ -1067,6 +2507,85 @@ def __init__( self.update_state = update_state self.last_update_time = None self.update_error_message = update_error_message + self.session_host_health_check_results = None + + +class SessionHostHealthCheckFailureDetails(msrest.serialization.Model): + """Contains details on the failure. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar message: Failure message: hints on what is wrong and how to recover. + :vartype message: str + :ivar error_code: Error code corresponding for the failure. + :vartype error_code: int + :ivar last_health_check_date_time: The timestamp of the last update. + :vartype last_health_check_date_time: ~datetime.datetime + """ + + _validation = { + 'message': {'readonly': True}, + 'error_code': {'readonly': True}, + 'last_health_check_date_time': {'readonly': True}, + } + + _attribute_map = { + 'message': {'key': 'message', 'type': 'str'}, + 'error_code': {'key': 'errorCode', 'type': 'int'}, + 'last_health_check_date_time': {'key': 'lastHealthCheckDateTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(SessionHostHealthCheckFailureDetails, self).__init__(**kwargs) + self.message = None + self.error_code = None + self.last_health_check_date_time = None + + +class SessionHostHealthCheckReport(msrest.serialization.Model): + """The report for session host information. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar health_check_name: Represents the name of the health check operation performed. Possible + values include: "DomainJoinedCheck", "DomainTrustCheck", "FSLogixHealthCheck", + "SxSStackListenerCheck", "UrlsAccessibleCheck", "MonitoringAgentCheck", "DomainReachable", + "WebRTCRedirectorCheck", "SupportedEncryptionCheck", "MetaDataServiceCheck", + "AppAttachHealthCheck". + :vartype health_check_name: str or ~desktop_virtualization_api_client.models.HealthCheckName + :ivar health_check_result: Represents the Health state of the health check we performed. + Possible values include: "Unknown", "HealthCheckSucceeded", "HealthCheckFailed", + "SessionHostShutdown". + :vartype health_check_result: str or + ~desktop_virtualization_api_client.models.HealthCheckResult + :ivar additional_failure_details: Additional detailed information on the failure. + :vartype additional_failure_details: + ~desktop_virtualization_api_client.models.SessionHostHealthCheckFailureDetails + """ + + _validation = { + 'health_check_name': {'readonly': True}, + 'health_check_result': {'readonly': True}, + 'additional_failure_details': {'readonly': True}, + } + + _attribute_map = { + 'health_check_name': {'key': 'healthCheckName', 'type': 'str'}, + 'health_check_result': {'key': 'healthCheckResult', 'type': 'str'}, + 'additional_failure_details': {'key': 'additionalFailureDetails', 'type': 'SessionHostHealthCheckFailureDetails'}, + } + + def __init__( + self, + **kwargs + ): + super(SessionHostHealthCheckReport, self).__init__(**kwargs) + self.health_check_name = None + self.health_check_result = None + self.additional_failure_details = None class SessionHostList(msrest.serialization.Model): @@ -1105,13 +2624,13 @@ class SessionHostPatch(Resource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str :param allow_new_session: Allow a new session. :type allow_new_session: bool @@ -1150,18 +2669,16 @@ class StartMenuItem(Resource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str :param app_alias: Alias of StartMenuItem. :type app_alias: str - :param friendly_name: Friendly name of StartMenuItem. - :type friendly_name: str :param file_path: Path to the file of StartMenuItem. :type file_path: str :param command_line_arguments: Command line arguments for StartMenuItem. @@ -1183,7 +2700,6 @@ class StartMenuItem(Resource): 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'app_alias': {'key': 'properties.appAlias', 'type': 'str'}, - 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, 'file_path': {'key': 'properties.filePath', 'type': 'str'}, 'command_line_arguments': {'key': 'properties.commandLineArguments', 'type': 'str'}, 'icon_path': {'key': 'properties.iconPath', 'type': 'str'}, @@ -1194,7 +2710,6 @@ def __init__( self, *, app_alias: Optional[str] = None, - friendly_name: Optional[str] = None, file_path: Optional[str] = None, command_line_arguments: Optional[str] = None, icon_path: Optional[str] = None, @@ -1203,7 +2718,6 @@ def __init__( ): super(StartMenuItem, self).__init__(**kwargs) self.app_alias = app_alias - self.friendly_name = friendly_name self.file_path = file_path self.command_line_arguments = command_line_arguments self.icon_path = icon_path @@ -1246,14 +2760,16 @@ class UserSession(Resource): Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str + :ivar object_id: ObjectId of user session. (internal use). + :vartype object_id: str :param user_principal_name: The user principal name. :type user_principal_name: str :param application_type: Application type of application. Possible values include: "RemoteApp", @@ -1272,12 +2788,14 @@ class UserSession(Resource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'object_id': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'object_id': {'key': 'properties.objectId', 'type': 'str'}, 'user_principal_name': {'key': 'properties.userPrincipalName', 'type': 'str'}, 'application_type': {'key': 'properties.applicationType', 'type': 'str'}, 'session_state': {'key': 'properties.sessionState', 'type': 'str'}, @@ -1296,6 +2814,7 @@ def __init__( **kwargs ): super(UserSession, self).__init__(**kwargs) + self.object_id = None self.user_principal_name = user_principal_name self.application_type = application_type self.session_state = session_state @@ -1334,65 +2853,106 @@ def __init__( self.next_link = None -class Workspace(TrackedResource): +class Workspace(ResourceModelWithAllowedPropertySet): """Represents a Workspace definition. Variables are only populated by the server, and will be ignored when sending a request. - All required parameters must be populated in order to send to Azure. - - :ivar id: Fully qualified resource Id for the resource. Ex - + :ivar id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. :vartype id: str :ivar name: The name of the resource. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str + :param location: The geo-location where the resource lives. + :type location: str + :param managed_by: The fully qualified resource ID of the resource that manages this resource. + Indicates if this resource is managed by another Azure resource. If this is present, complete + mode deployment will not delete the resource if it is removed from the template since it is + managed by another resource. + :type managed_by: str + :param kind: Metadata used by portal/tooling/etc to render different UX experiences for + resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, + the resource provider must validate and persist this value. + :type kind: str + :ivar etag: The etag field is *not* required. If it is provided in the response body, it must + also be provided as a header per the normal etag convention. Entity tags are used for + comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in + the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range + (section 14.27) header fields. + :vartype etag: str :param tags: A set of tags. Resource tags. :type tags: dict[str, str] - :param location: Required. The geo-location where the resource lives. - :type location: str + :param identity: Identity for the resource. + :type identity: ~desktop_virtualization_api_client.models.Identity + :param sku: The resource model definition representing SKU. + :type sku: ~desktop_virtualization_api_client.models.Sku + :param plan: Plan for the resource. + :type plan: ~desktop_virtualization_api_client.models.Plan + :ivar object_id: ObjectId of Workspace. (internal use). + :vartype object_id: str :param description: Description of Workspace. :type description: str :param friendly_name: Friendly name of Workspace. :type friendly_name: str :param application_group_references: List of applicationGroup resource Ids. :type application_group_references: list[str] + :ivar cloud_pc_resource: Is cloud pc resource. + :vartype cloud_pc_resource: bool """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, - 'location': {'required': True}, + 'kind': {'pattern': r'^[-\w\._,\(\)]+$'}, + 'etag': {'readonly': True}, + 'object_id': {'readonly': True}, + 'cloud_pc_resource': {'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'}, + 'managed_by': {'key': 'managedBy', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'plan': {'key': 'plan', 'type': 'Plan'}, + 'object_id': {'key': 'properties.objectId', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'}, 'application_group_references': {'key': 'properties.applicationGroupReferences', 'type': '[str]'}, + 'cloud_pc_resource': {'key': 'properties.cloudPcResource', 'type': 'bool'}, } def __init__( self, *, - location: str, + location: Optional[str] = None, + managed_by: Optional[str] = None, + kind: Optional[str] = None, tags: Optional[Dict[str, str]] = None, + identity: Optional["Identity"] = None, + sku: Optional["Sku"] = None, + plan: Optional["Plan"] = None, description: Optional[str] = None, friendly_name: Optional[str] = None, application_group_references: Optional[List[str]] = None, **kwargs ): - super(Workspace, self).__init__(tags=tags, location=location, **kwargs) + super(Workspace, self).__init__(location=location, managed_by=managed_by, kind=kind, tags=tags, identity=identity, sku=sku, plan=plan, **kwargs) + self.object_id = None self.description = description self.friendly_name = friendly_name self.application_group_references = application_group_references + self.cloud_pc_resource = None class WorkspaceList(msrest.serialization.Model): diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/__init__.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/__init__.py index 08f1a117a4f..7fecc9b4d93 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/__init__.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/__init__.py @@ -6,28 +6,30 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._operation_operations import OperationOperations -from ._workspace_operations import WorkspaceOperations -from ._application_group_assignment_operations import ApplicationGroupAssignmentOperations -from ._application_group_operations import ApplicationGroupOperations -from ._start_menu_item_operations import StartMenuItemOperations -from ._application_operations import ApplicationOperations -from ._desktop_operations import DesktopOperations -from ._host_pool_operations import HostPoolOperations -from ._user_session_operations import UserSessionOperations -from ._session_host_operations import SessionHostOperations -from ._active_application_operations import ActiveApplicationOperations +from ._operations import Operations +from ._workspaces_operations import WorkspacesOperations +from ._scaling_plans_operations import ScalingPlansOperations +from ._application_groups_operations import ApplicationGroupsOperations +from ._start_menu_items_operations import StartMenuItemsOperations +from ._applications_operations import ApplicationsOperations +from ._desktops_operations import DesktopsOperations +from ._host_pools_operations import HostPoolsOperations +from ._user_sessions_operations import UserSessionsOperations +from ._session_hosts_operations import SessionHostsOperations +from ._msix_packages_operations import MsixPackagesOperations +from ._msix_images_operations import MsixImagesOperations __all__ = [ - 'OperationOperations', - 'WorkspaceOperations', - 'ApplicationGroupAssignmentOperations', - 'ApplicationGroupOperations', - 'StartMenuItemOperations', - 'ApplicationOperations', - 'DesktopOperations', - 'HostPoolOperations', - 'UserSessionOperations', - 'SessionHostOperations', - 'ActiveApplicationOperations', + 'Operations', + 'WorkspacesOperations', + 'ScalingPlansOperations', + 'ApplicationGroupsOperations', + 'StartMenuItemsOperations', + 'ApplicationsOperations', + 'DesktopsOperations', + 'HostPoolsOperations', + 'UserSessionsOperations', + 'SessionHostsOperations', + 'MsixPackagesOperations', + 'MsixImagesOperations', ] diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_group_assignment_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_group_assignment_operations.py deleted file mode 100644 index 3ec2fa1ba14..00000000000 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_group_assignment_operations.py +++ /dev/null @@ -1,124 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -from typing import TYPE_CHECKING -import warnings - -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error -from azure.core.paging import ItemPaged -from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse -from azure.mgmt.core.exceptions import ARMErrorFormat - -from .. import models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] - -class ApplicationGroupAssignmentOperations(object): - """ApplicationGroupAssignmentOperations operations. - - You should not instantiate this class directly. Instead, you should create a Client instance that - instantiates it for you and attaches it as an attribute. - - :ivar models: Alias to model classes used in this operation group. - :type models: ~desktop_virtualization_api_client.models - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self._config = config - - def workspace_level_list( - self, - resource_group_name, # type: str - workspace_name, # type: str - filter=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["models.ApplicationGroupList"] - """List application group that user can use. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param workspace_name: The name of the workspace. - :type workspace_name: str - :param filter: OData filter expression. Valid properties for filtering are - applicationGroupType. - :type filter: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ApplicationGroupList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~desktop_virtualization_api_client.models.ApplicationGroupList] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroupList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.workspace_level_list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=24, min_length=3), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if filter is not None: - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('ApplicationGroupList', pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) - return deserialized.next_link or None, iter(list_of_elem) - - def get_next(next_link=None): - request = prepare_request(next_link) - - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged( - get_next, extract_data - ) - workspace_level_list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_group_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_groups_operations.py similarity index 82% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_group_operations.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_groups_operations.py index 7ab3e5b6dec..0ef5a213392 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_group_operations.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_groups_operations.py @@ -8,7 +8,7 @@ from typing import TYPE_CHECKING import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse @@ -23,8 +23,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class ApplicationGroupOperations(object): - """ApplicationGroupOperations operations. +class ApplicationGroupsOperations(object): + """ApplicationGroupsOperations operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -64,16 +64,19 @@ def get( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroup"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -83,9 +86,8 @@ def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -106,12 +108,7 @@ def create_or_update( self, resource_group_name, # type: str application_group_name, # type: str - location, # type: str - host_pool_arm_path, # type: str - application_group_type, # type: Union[str, "models.ApplicationGroupType"] - tags=None, # type: Optional[Dict[str, str]] - description=None, # type: Optional[str] - friendly_name=None, # type: Optional[str] + application_group, # type: "models.ApplicationGroup" **kwargs # type: Any ): # type: (...) -> "models.ApplicationGroup" @@ -121,37 +118,28 @@ def create_or_update( :type resource_group_name: str :param application_group_name: The name of the application group. :type application_group_name: str - :param location: The geo-location where the resource lives. - :type location: str - :param host_pool_arm_path: HostPool arm path of ApplicationGroup. - :type host_pool_arm_path: str - :param application_group_type: Resource Type of ApplicationGroup. - :type application_group_type: str or ~desktop_virtualization_api_client.models.ApplicationGroupType - :param tags: Resource tags. - :type tags: dict[str, str] - :param description: Description of ApplicationGroup. - :type description: str - :param friendly_name: Friendly name of ApplicationGroup. - :type friendly_name: str + :param application_group: Object containing ApplicationGroup definitions. + :type application_group: ~desktop_virtualization_api_client.models.ApplicationGroup :keyword callable cls: A custom type or function that will be passed the direct response :return: ApplicationGroup, or the result of cls(response) :rtype: ~desktop_virtualization_api_client.models.ApplicationGroup :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroup"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _application_group = models.ApplicationGroup(tags=tags, location=location, description=description, friendly_name=friendly_name, host_pool_arm_path=host_pool_arm_path, application_group_type=application_group_type) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.create_or_update.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -162,14 +150,12 @@ def create_or_update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_application_group, 'ApplicationGroup') + body_content = self._serialize.body(application_group, 'ApplicationGroup') body_content_kwargs['content'] = body_content request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -177,7 +163,6 @@ def create_or_update( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('ApplicationGroup', pipeline_response) @@ -209,16 +194,19 @@ def delete( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.delete.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -228,8 +216,8 @@ def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -247,9 +235,7 @@ def update( self, resource_group_name, # type: str application_group_name, # type: str - tags=None, # type: Optional[Dict[str, str]] - description=None, # type: Optional[str] - friendly_name=None, # type: Optional[str] + application_group=None, # type: Optional["models.ApplicationGroupPatch"] **kwargs # type: Any ): # type: (...) -> "models.ApplicationGroup" @@ -259,31 +245,28 @@ def update( :type resource_group_name: str :param application_group_name: The name of the application group. :type application_group_name: str - :param tags: tags to be updated. - :type tags: dict[str, str] - :param description: Description of ApplicationGroup. - :type description: str - :param friendly_name: Friendly name of ApplicationGroup. - :type friendly_name: str + :param application_group: Object containing ApplicationGroup definitions. + :type application_group: ~desktop_virtualization_api_client.models.ApplicationGroupPatch :keyword callable cls: A custom type or function that will be passed the direct response :return: ApplicationGroup, or the result of cls(response) :rtype: ~desktop_virtualization_api_client.models.ApplicationGroup :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroup"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _application_group = models.ApplicationGroupPatch(tags=tags, description=description, friendly_name=friendly_name) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.update.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -294,17 +277,15 @@ def update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - if _application_group is not None: - body_content = self._serialize.body(_application_group, 'ApplicationGroupPatch') + if application_group is not None: + body_content = self._serialize.body(application_group, 'ApplicationGroupPatch') else: body_content = None body_content_kwargs['content'] = body_content request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -332,7 +313,7 @@ def list_by_resource_group( :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param filter: OData filter expression. Valid properties for filtering are - applicationGroupType. + applicationGroupType. :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ApplicationGroupList or the result of cls(response) @@ -340,17 +321,24 @@ def list_by_resource_group( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroupList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list_by_resource_group.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + '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 @@ -359,15 +347,11 @@ def prepare_request(next_link=None): if filter is not None: query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request def extract_data(pipeline_response): @@ -403,7 +387,7 @@ def list_by_subscription( """List applicationGroups in subscription. :param filter: OData filter expression. Valid properties for filtering are - applicationGroupType. + applicationGroupType. :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ApplicationGroupList or the result of cls(response) @@ -411,11 +395,18 @@ def list_by_subscription( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationGroupList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list_by_subscription.metadata['url'] # type: ignore @@ -429,15 +420,11 @@ def prepare_request(next_link=None): if filter is not None: query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request def extract_data(pipeline_response): diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_applications_operations.py similarity index 75% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_operations.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_applications_operations.py index aa4c4afcc2b..1726f62d282 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_application_operations.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_applications_operations.py @@ -8,7 +8,7 @@ from typing import TYPE_CHECKING import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse @@ -23,8 +23,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class ApplicationOperations(object): - """ApplicationOperations operations. +class ApplicationsOperations(object): + """ApplicationsOperations operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -67,16 +67,19 @@ def get( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Application"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=24, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -87,9 +90,8 @@ def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -111,14 +113,7 @@ def create_or_update( resource_group_name, # type: str application_group_name, # type: str application_name, # type: str - command_line_setting, # type: Union[str, "models.CommandLineSetting"] - description=None, # type: Optional[str] - friendly_name=None, # type: Optional[str] - file_path=None, # type: Optional[str] - command_line_arguments=None, # type: Optional[str] - show_in_portal=None, # type: Optional[bool] - icon_path=None, # type: Optional[str] - icon_index=None, # type: Optional[int] + application, # type: "models.Application" **kwargs # type: Any ): # type: (...) -> "models.Application" @@ -130,44 +125,28 @@ def create_or_update( :type application_group_name: str :param application_name: The name of the application within the specified application group. :type application_name: str - :param command_line_setting: Specifies whether this published application can be launched with - command line arguments provided by the client, command line arguments specified at publish - time, or no command line arguments at all. - :type command_line_setting: str or ~desktop_virtualization_api_client.models.CommandLineSetting - :param description: Description of Application. - :type description: str - :param friendly_name: Friendly name of Application. - :type friendly_name: str - :param file_path: Specifies a path for the executable file for the application. - :type file_path: str - :param command_line_arguments: Command Line Arguments for Application. - :type command_line_arguments: str - :param show_in_portal: Specifies whether to show the RemoteApp program in the RD Web Access - server. - :type show_in_portal: bool - :param icon_path: Path to icon. - :type icon_path: str - :param icon_index: Index of the icon. - :type icon_index: int + :param application: Object containing Application definitions. + :type application: ~desktop_virtualization_api_client.models.Application :keyword callable cls: A custom type or function that will be passed the direct response :return: Application, or the result of cls(response) :rtype: ~desktop_virtualization_api_client.models.Application :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Application"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _application = models.Application(description=description, friendly_name=friendly_name, file_path=file_path, command_line_setting=command_line_setting, command_line_arguments=command_line_arguments, show_in_portal=show_in_portal, icon_path=icon_path, icon_index=icon_index) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.create_or_update.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=24, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -179,14 +158,12 @@ def create_or_update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_application, 'Application') + body_content = self._serialize.body(application, 'Application') body_content_kwargs['content'] = body_content request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -194,7 +171,6 @@ def create_or_update( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('Application', pipeline_response) @@ -229,16 +205,19 @@ def delete( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.delete.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=24, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -249,8 +228,8 @@ def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -269,15 +248,7 @@ def update( resource_group_name, # type: str application_group_name, # type: str application_name, # type: str - tags=None, # type: Optional[Dict[str, str]] - description=None, # type: Optional[str] - friendly_name=None, # type: Optional[str] - file_path=None, # type: Optional[str] - command_line_setting=None, # type: Optional[Union[str, "models.CommandLineSetting"]] - command_line_arguments=None, # type: Optional[str] - show_in_portal=None, # type: Optional[bool] - icon_path=None, # type: Optional[str] - icon_index=None, # type: Optional[int] + application=None, # type: Optional["models.ApplicationPatch"] **kwargs # type: Any ): # type: (...) -> "models.Application" @@ -289,46 +260,28 @@ def update( :type application_group_name: str :param application_name: The name of the application within the specified application group. :type application_name: str - :param tags: tags to be updated. - :type tags: dict[str, str] - :param description: Description of Application. - :type description: str - :param friendly_name: Friendly name of Application. - :type friendly_name: str - :param file_path: Specifies a path for the executable file for the application. - :type file_path: str - :param command_line_setting: Specifies whether this published application can be launched with - command line arguments provided by the client, command line arguments specified at publish - time, or no command line arguments at all. - :type command_line_setting: str or ~desktop_virtualization_api_client.models.CommandLineSetting - :param command_line_arguments: Command Line Arguments for Application. - :type command_line_arguments: str - :param show_in_portal: Specifies whether to show the RemoteApp program in the RD Web Access - server. - :type show_in_portal: bool - :param icon_path: Path to icon. - :type icon_path: str - :param icon_index: Index of the icon. - :type icon_index: int + :param application: Object containing Application definitions. + :type application: ~desktop_virtualization_api_client.models.ApplicationPatch :keyword callable cls: A custom type or function that will be passed the direct response :return: Application, or the result of cls(response) :rtype: ~desktop_virtualization_api_client.models.Application :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Application"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _application = models.ApplicationPatch(tags=tags, description=description, friendly_name=friendly_name, file_path=file_path, command_line_setting=command_line_setting, command_line_arguments=command_line_arguments, show_in_portal=show_in_portal, icon_path=icon_path, icon_index=icon_index) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.update.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), 'applicationName': self._serialize.url("application_name", application_name, 'str', max_length=24, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -340,17 +293,15 @@ def update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - if _application is not None: - body_content = self._serialize.body(_application, 'ApplicationPatch') + if application is not None: + body_content = self._serialize.body(application, 'ApplicationPatch') else: body_content = None body_content_kwargs['content'] = body_content request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -385,33 +336,36 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request def extract_data(pipeline_response): diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_desktop_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_desktops_operations.py similarity index 85% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_desktop_operations.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_desktops_operations.py index 0d844be1080..f0bc31561da 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_desktop_operations.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_desktops_operations.py @@ -8,7 +8,7 @@ from typing import TYPE_CHECKING import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse from azure.mgmt.core.exceptions import ARMErrorFormat @@ -22,8 +22,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class DesktopOperations(object): - """DesktopOperations operations. +class DesktopsOperations(object): + """DesktopsOperations operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -66,16 +66,19 @@ def get( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Desktop"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), 'desktopName': self._serialize.url("desktop_name", desktop_name, 'str', max_length=24, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -86,9 +89,8 @@ def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -110,9 +112,7 @@ def update( resource_group_name, # type: str application_group_name, # type: str desktop_name, # type: str - tags=None, # type: Optional[Dict[str, str]] - description=None, # type: Optional[str] - friendly_name=None, # type: Optional[str] + desktop=None, # type: Optional["models.DesktopPatch"] **kwargs # type: Any ): # type: (...) -> "models.Desktop" @@ -124,31 +124,28 @@ def update( :type application_group_name: str :param desktop_name: The name of the desktop within the specified desktop group. :type desktop_name: str - :param tags: tags to be updated. - :type tags: dict[str, str] - :param description: Description of Desktop. - :type description: str - :param friendly_name: Friendly name of Desktop. - :type friendly_name: str + :param desktop: Object containing Desktop definitions. + :type desktop: ~desktop_virtualization_api_client.models.DesktopPatch :keyword callable cls: A custom type or function that will be passed the direct response :return: Desktop, or the result of cls(response) :rtype: ~desktop_virtualization_api_client.models.Desktop :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Desktop"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _desktop = models.DesktopPatch(tags=tags, description=description, friendly_name=friendly_name) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.update.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), 'desktopName': self._serialize.url("desktop_name", desktop_name, 'str', max_length=24, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -160,17 +157,15 @@ def update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - if _desktop is not None: - body_content = self._serialize.body(_desktop, 'DesktopPatch') + if desktop is not None: + body_content = self._serialize.body(desktop, 'DesktopPatch') else: body_content = None body_content_kwargs['content'] = body_content request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -205,16 +200,19 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.DesktopList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.list.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -224,9 +222,8 @@ def list( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_host_pool_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_host_pools_operations.py similarity index 71% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_host_pool_operations.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_host_pools_operations.py index 855d0c0470d..16c5ce32a1d 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_host_pool_operations.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_host_pools_operations.py @@ -8,7 +8,7 @@ from typing import TYPE_CHECKING import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse @@ -23,8 +23,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class HostPoolOperations(object): - """HostPoolOperations operations. +class HostPoolsOperations(object): + """HostPoolsOperations operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -64,16 +64,19 @@ def get( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.HostPool"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -83,9 +86,8 @@ def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -106,20 +108,7 @@ def create_or_update( self, resource_group_name, # type: str host_pool_name, # type: str - location, # type: str - host_pool_type, # type: Union[str, "models.HostPoolType"] - personal_desktop_assignment_type, # type: Union[str, "models.PersonalDesktopAssignmentType"] - load_balancer_type, # type: Union[str, "models.LoadBalancerType"] - tags=None, # type: Optional[Dict[str, str]] - friendly_name=None, # type: Optional[str] - description=None, # type: Optional[str] - custom_rdp_property=None, # type: Optional[str] - max_session_limit=None, # type: Optional[int] - ring=None, # type: Optional[int] - validation_environment=None, # type: Optional[bool] - registration_info=None, # type: Optional["models.RegistrationInfo"] - vm_template=None, # type: Optional[str] - sso_context=None, # type: Optional[str] + host_pool, # type: "models.HostPool" **kwargs # type: Any ): # type: (...) -> "models.HostPool" @@ -129,53 +118,28 @@ def create_or_update( :type resource_group_name: str :param host_pool_name: The name of the host pool within the specified resource group. :type host_pool_name: str - :param location: The geo-location where the resource lives. - :type location: str - :param host_pool_type: HostPool type for desktop. - :type host_pool_type: str or ~desktop_virtualization_api_client.models.HostPoolType - :param personal_desktop_assignment_type: PersonalDesktopAssignment type for HostPool. - :type personal_desktop_assignment_type: str or ~desktop_virtualization_api_client.models.PersonalDesktopAssignmentType - :param load_balancer_type: The type of the load balancer. - :type load_balancer_type: str or ~desktop_virtualization_api_client.models.LoadBalancerType - :param tags: Resource tags. - :type tags: dict[str, str] - :param friendly_name: Friendly name of HostPool. - :type friendly_name: str - :param description: Description of HostPool. - :type description: str - :param custom_rdp_property: Custom rdp property of HostPool. - :type custom_rdp_property: str - :param max_session_limit: The max session limit of HostPool. - :type max_session_limit: int - :param ring: The ring number of HostPool. - :type ring: int - :param validation_environment: Is validation environment. - :type validation_environment: bool - :param registration_info: The registration info of HostPool. - :type registration_info: ~desktop_virtualization_api_client.models.RegistrationInfo - :param vm_template: VM template for sessionhosts configuration within hostpool. - :type vm_template: str - :param sso_context: Path to keyvault containing ssoContext secret. - :type sso_context: str + :param host_pool: Object containing HostPool definitions. + :type host_pool: ~desktop_virtualization_api_client.models.HostPool :keyword callable cls: A custom type or function that will be passed the direct response :return: HostPool, or the result of cls(response) :rtype: ~desktop_virtualization_api_client.models.HostPool :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.HostPool"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _host_pool = models.HostPool(tags=tags, location=location, friendly_name=friendly_name, description=description, host_pool_type=host_pool_type, personal_desktop_assignment_type=personal_desktop_assignment_type, custom_rdp_property=custom_rdp_property, max_session_limit=max_session_limit, load_balancer_type=load_balancer_type, ring=ring, validation_environment=validation_environment, registration_info=registration_info, vm_template=vm_template, sso_context=sso_context) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.create_or_update.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -186,14 +150,12 @@ def create_or_update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_host_pool, 'HostPool') + body_content = self._serialize.body(host_pool, 'HostPool') body_content_kwargs['content'] = body_content request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -201,7 +163,6 @@ def create_or_update( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('HostPool', pipeline_response) @@ -236,16 +197,19 @@ def delete( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.delete.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -257,8 +221,8 @@ def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -276,17 +240,7 @@ def update( self, resource_group_name, # type: str host_pool_name, # type: str - tags=None, # type: Optional[Dict[str, str]] - friendly_name=None, # type: Optional[str] - description=None, # type: Optional[str] - custom_rdp_property=None, # type: Optional[str] - max_session_limit=None, # type: Optional[int] - personal_desktop_assignment_type=None, # type: Optional[Union[str, "models.PersonalDesktopAssignmentType"]] - load_balancer_type=None, # type: Optional[Union[str, "models.LoadBalancerType"]] - ring=None, # type: Optional[int] - validation_environment=None, # type: Optional[bool] - registration_info=None, # type: Optional["models.RegistrationInfoPatch"] - sso_context=None, # type: Optional[str] + host_pool=None, # type: Optional["models.HostPoolPatch"] **kwargs # type: Any ): # type: (...) -> "models.HostPool" @@ -296,47 +250,28 @@ def update( :type resource_group_name: str :param host_pool_name: The name of the host pool within the specified resource group. :type host_pool_name: str - :param tags: tags to be updated. - :type tags: dict[str, str] - :param friendly_name: Friendly name of HostPool. - :type friendly_name: str - :param description: Description of HostPool. - :type description: str - :param custom_rdp_property: Custom rdp property of HostPool. - :type custom_rdp_property: str - :param max_session_limit: The max session limit of HostPool. - :type max_session_limit: int - :param personal_desktop_assignment_type: PersonalDesktopAssignment type for HostPool. - :type personal_desktop_assignment_type: str or ~desktop_virtualization_api_client.models.PersonalDesktopAssignmentType - :param load_balancer_type: The type of the load balancer. - :type load_balancer_type: str or ~desktop_virtualization_api_client.models.LoadBalancerType - :param ring: The ring number of HostPool. - :type ring: int - :param validation_environment: Is validation environment. - :type validation_environment: bool - :param registration_info: The registration info of HostPool. - :type registration_info: ~desktop_virtualization_api_client.models.RegistrationInfoPatch - :param sso_context: Path to keyvault containing ssoContext secret. - :type sso_context: str + :param host_pool: Object containing HostPool definitions. + :type host_pool: ~desktop_virtualization_api_client.models.HostPoolPatch :keyword callable cls: A custom type or function that will be passed the direct response :return: HostPool, or the result of cls(response) :rtype: ~desktop_virtualization_api_client.models.HostPool :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.HostPool"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _host_pool = models.HostPoolPatch(tags=tags, friendly_name=friendly_name, description=description, custom_rdp_property=custom_rdp_property, max_session_limit=max_session_limit, personal_desktop_assignment_type=personal_desktop_assignment_type, load_balancer_type=load_balancer_type, ring=ring, validation_environment=validation_environment, registration_info=registration_info, sso_context=sso_context) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.update.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -347,17 +282,15 @@ def update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - if _host_pool is not None: - body_content = self._serialize.body(_host_pool, 'HostPoolPatch') + if host_pool is not None: + body_content = self._serialize.body(host_pool, 'HostPoolPatch') else: body_content = None body_content_kwargs['content'] = body_content request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -389,32 +322,35 @@ def list_by_resource_group( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.HostPoolList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list_by_resource_group.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + '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 = {} # type: Dict[str, Any] query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request def extract_data(pipeline_response): @@ -454,11 +390,18 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.HostPoolList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list.metadata['url'] # type: ignore @@ -470,15 +413,11 @@ def prepare_request(next_link=None): query_parameters = {} # type: Dict[str, Any] query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request def extract_data(pipeline_response): @@ -504,3 +443,62 @@ def get_next(next_link=None): get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools'} # type: ignore + + def retrieve_registration_token( + self, + resource_group_name, # type: str + host_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.RegistrationInfo" + """Registration token of the host pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RegistrationInfo, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.RegistrationInfo + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RegistrationInfo"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + accept = "application/json" + + # Construct URL + url = self.retrieve_registration_token.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('RegistrationInfo', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + retrieve_registration_token.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/retrieveRegistrationToken'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_active_application_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_msix_images_operations.py similarity index 64% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_active_application_operations.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_msix_images_operations.py index 59f1de40ddf..7a059f2e66b 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_active_application_operations.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_msix_images_operations.py @@ -8,7 +8,7 @@ from typing import TYPE_CHECKING import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse @@ -23,8 +23,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class ActiveApplicationOperations(object): - """ActiveApplicationOperations operations. +class MsixImagesOperations(object): + """MsixImagesOperations operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -45,66 +45,70 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config - def list_by_session_host( + def expand( self, resource_group_name, # type: str host_pool_name, # type: str - session_host_name, # type: str - filter=None, # type: Optional[str] + msix_image_uri, # type: "models.MsixImageUri" **kwargs # type: Any ): - # type: (...) -> Iterable["models.ApplicationList"] - """List applications for the given session host. + # type: (...) -> Iterable["models.ExpandMsixImageList"] + """Expands and Lists MSIX packages in an Image, given the Image Path. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param host_pool_name: The name of the host pool within the specified resource group. :type host_pool_name: str - :param session_host_name: The name of the session host within the specified host pool. - :type session_host_name: str - :param filter: OData filter expression. Valid properties for filtering are userprincipalname - and sessionstate. - :type filter: str + :param msix_image_uri: Object containing URI to MSIX Image. + :type msix_image_uri: ~desktop_virtualization_api_client.models.MsixImageUri :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ApplicationList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~desktop_virtualization_api_client.models.ApplicationList] + :return: An iterator like instance of either ExpandMsixImageList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~desktop_virtualization_api_client.models.ExpandMsixImageList] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ApplicationList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + cls = kwargs.pop('cls', None) # type: ClsType["models.ExpandMsixImageList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + content_type = "application/json" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_by_session_host.metadata['url'] # type: ignore + url = self.expand.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), - 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if filter is not None: - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(msix_image_uri, 'MsixImageUri') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(msix_image_uri, 'MsixImageUri') + body_content_kwargs['content'] = body_content + request = self._client.get(url, query_parameters, header_parameters, **body_content_kwargs) return request def extract_data(pipeline_response): - deserialized = self._deserialize('ApplicationList', pipeline_response) + deserialized = self._deserialize('ExpandMsixImageList', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -125,4 +129,4 @@ def get_next(next_link=None): return ItemPaged( get_next, extract_data ) - list_by_session_host.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications'} # type: ignore + expand.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/expandMsixImage'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_msix_packages_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_msix_packages_operations.py new file mode 100644 index 00000000000..ec49458dcd3 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_msix_packages_operations.py @@ -0,0 +1,397 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class MsixPackagesOperations(object): + """MsixPackagesOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + host_pool_name, # type: str + msix_package_full_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.MsixPackage" + """Get a msixpackage. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param msix_package_full_name: The version specific package full name of the MSIX package + within specified hostpool. + :type msix_package_full_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MsixPackage, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.MsixPackage + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MsixPackage"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), + 'msixPackageFullName': self._serialize.url("msix_package_full_name", msix_package_full_name, 'str', max_length=100, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('MsixPackage', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages/{msixPackageFullName}'} # type: ignore + + def create_or_update( + self, + resource_group_name, # type: str + host_pool_name, # type: str + msix_package_full_name, # type: str + msix_package, # type: "models.MsixPackage" + **kwargs # type: Any + ): + # type: (...) -> "models.MsixPackage" + """Create or update a MSIX package. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param msix_package_full_name: The version specific package full name of the MSIX package + within specified hostpool. + :type msix_package_full_name: str + :param msix_package: Object containing MSIX Package definitions. + :type msix_package: ~desktop_virtualization_api_client.models.MsixPackage + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MsixPackage, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.MsixPackage + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MsixPackage"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), + 'msixPackageFullName': self._serialize.url("msix_package_full_name", msix_package_full_name, 'str', max_length=100, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(msix_package, 'MsixPackage') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('MsixPackage', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('MsixPackage', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages/{msixPackageFullName}'} # type: ignore + + def delete( + self, + resource_group_name, # type: str + host_pool_name, # type: str + msix_package_full_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Remove an MSIX Package. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param msix_package_full_name: The version specific package full name of the MSIX package + within specified hostpool. + :type msix_package_full_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), + 'msixPackageFullName': self._serialize.url("msix_package_full_name", msix_package_full_name, 'str', max_length=100, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages/{msixPackageFullName}'} # type: ignore + + def update( + self, + resource_group_name, # type: str + host_pool_name, # type: str + msix_package_full_name, # type: str + msix_package=None, # type: Optional["models.MsixPackagePatch"] + **kwargs # type: Any + ): + # type: (...) -> "models.MsixPackage" + """Update an MSIX Package. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :param msix_package_full_name: The version specific package full name of the MSIX package + within specified hostpool. + :type msix_package_full_name: str + :param msix_package: Object containing MSIX Package definitions. + :type msix_package: ~desktop_virtualization_api_client.models.MsixPackagePatch + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MsixPackage, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.MsixPackage + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MsixPackage"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), + 'msixPackageFullName': self._serialize.url("msix_package_full_name", msix_package_full_name, 'str', max_length=100, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if msix_package is not None: + body_content = self._serialize.body(msix_package, 'MsixPackagePatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('MsixPackage', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages/{msixPackageFullName}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + host_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.MsixPackageList"] + """List MSIX packages in hostpool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MsixPackageList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~desktop_virtualization_api_client.models.MsixPackageList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.MsixPackageList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('MsixPackageList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_operation_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_operations.py similarity index 88% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_operation_operations.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_operations.py index 7fbcd6b267d..141dfe4a4f7 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_operation_operations.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_operations.py @@ -8,7 +8,7 @@ from typing import TYPE_CHECKING import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse from azure.mgmt.core.exceptions import ARMErrorFormat @@ -22,8 +22,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class OperationOperations(object): - """OperationOperations operations. +class Operations(object): + """Operations operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -57,9 +57,12 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ResourceProviderOperationList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.list.metadata['url'] # type: ignore @@ -70,9 +73,8 @@ def list( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_scaling_plans_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_scaling_plans_operations.py new file mode 100644 index 00000000000..b5db1c415d4 --- /dev/null +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_scaling_plans_operations.py @@ -0,0 +1,515 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ScalingPlansOperations(object): + """ScalingPlansOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~desktop_virtualization_api_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + scaling_plan_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ScalingPlan" + """Get a scaling plan. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param scaling_plan_name: The name of the scaling plan. + :type scaling_plan_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ScalingPlan, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.ScalingPlan + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ScalingPlan"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'scalingPlanName': self._serialize.url("scaling_plan_name", scaling_plan_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ScalingPlan', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}'} # type: ignore + + def create( + self, + resource_group_name, # type: str + scaling_plan_name, # type: str + scaling_plan, # type: "models.ScalingPlan" + **kwargs # type: Any + ): + # type: (...) -> "models.ScalingPlan" + """Create or update a scaling plan. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param scaling_plan_name: The name of the scaling plan. + :type scaling_plan_name: str + :param scaling_plan: Object containing scaling plan definitions. + :type scaling_plan: ~desktop_virtualization_api_client.models.ScalingPlan + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ScalingPlan, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.ScalingPlan + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ScalingPlan"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'scalingPlanName': self._serialize.url("scaling_plan_name", scaling_plan_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(scaling_plan, 'ScalingPlan') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('ScalingPlan', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ScalingPlan', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}'} # type: ignore + + def delete( + self, + resource_group_name, # type: str + scaling_plan_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Remove a scaling plan. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param scaling_plan_name: The name of the scaling plan. + :type scaling_plan_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'scalingPlanName': self._serialize.url("scaling_plan_name", scaling_plan_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}'} # type: ignore + + def update( + self, + resource_group_name, # type: str + scaling_plan_name, # type: str + scaling_plan=None, # type: Optional["models.ScalingPlanPatch"] + **kwargs # type: Any + ): + # type: (...) -> "models.ScalingPlan" + """Update a scaling plan. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param scaling_plan_name: The name of the scaling plan. + :type scaling_plan_name: str + :param scaling_plan: Object containing scaling plan definitions. + :type scaling_plan: ~desktop_virtualization_api_client.models.ScalingPlanPatch + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ScalingPlan, or the result of cls(response) + :rtype: ~desktop_virtualization_api_client.models.ScalingPlan + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ScalingPlan"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'scalingPlanName': self._serialize.url("scaling_plan_name", scaling_plan_name, 'str', max_length=24, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if scaling_plan is not None: + body_content = self._serialize.body(scaling_plan, 'ScalingPlanPatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ScalingPlan', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ScalingPlanList"] + """List scaling plans. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ScalingPlanList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~desktop_virtualization_api_client.models.ScalingPlanList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ScalingPlanList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ScalingPlanList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans'} # type: ignore + + def list_by_subscription( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ScalingPlanList"] + """List scaling plans in subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ScalingPlanList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~desktop_virtualization_api_client.models.ScalingPlanList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ScalingPlanList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ScalingPlanList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/scalingPlans'} # type: ignore + + def list_by_host_pool( + self, + resource_group_name, # type: str + host_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ScalingPlanList"] + """List scaling plan associated with hostpool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param host_pool_name: The name of the host pool within the specified resource group. + :type host_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ScalingPlanList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~desktop_virtualization_api_client.models.ScalingPlanList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ScalingPlanList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-07-12" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_host_pool.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ScalingPlanList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_host_pool.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/scalingPlans'} # type: ignore diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_session_host_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_session_hosts_operations.py similarity index 86% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_session_host_operations.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_session_hosts_operations.py index 4faae4be2b6..8c225d804e5 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_session_host_operations.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_session_hosts_operations.py @@ -8,7 +8,7 @@ from typing import TYPE_CHECKING import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse @@ -23,8 +23,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class SessionHostOperations(object): - """SessionHostOperations operations. +class SessionHostsOperations(object): + """SessionHostsOperations operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -67,16 +67,19 @@ def get( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SessionHost"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -87,9 +90,8 @@ def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -131,16 +133,19 @@ def delete( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.delete.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -153,8 +158,8 @@ def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -173,8 +178,7 @@ def update( resource_group_name, # type: str host_pool_name, # type: str session_host_name, # type: str - allow_new_session=None, # type: Optional[bool] - assigned_user=None, # type: Optional[str] + session_host=None, # type: Optional["models.SessionHostPatch"] **kwargs # type: Any ): # type: (...) -> "models.SessionHost" @@ -186,29 +190,28 @@ def update( :type host_pool_name: str :param session_host_name: The name of the session host within the specified host pool. :type session_host_name: str - :param allow_new_session: Allow a new session. - :type allow_new_session: bool - :param assigned_user: User assigned to SessionHost. - :type assigned_user: str + :param session_host: Object containing SessionHost definitions. + :type session_host: ~desktop_virtualization_api_client.models.SessionHostPatch :keyword callable cls: A custom type or function that will be passed the direct response :return: SessionHost, or the result of cls(response) :rtype: ~desktop_virtualization_api_client.models.SessionHost :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SessionHost"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _session_host = models.SessionHostPatch(allow_new_session=allow_new_session, assigned_user=assigned_user) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.update.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -220,17 +223,15 @@ def update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - if _session_host is not None: - body_content = self._serialize.body(_session_host, 'SessionHostPatch') + if session_host is not None: + body_content = self._serialize.body(session_host, 'SessionHostPatch') else: body_content = None body_content_kwargs['content'] = body_content request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -265,33 +266,36 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SessionHostList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request def extract_data(pipeline_response): diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_start_menu_item_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_start_menu_items_operations.py similarity index 87% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_start_menu_item_operations.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_start_menu_items_operations.py index 815e7e5139e..03c3ead69c9 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_start_menu_item_operations.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_start_menu_items_operations.py @@ -8,7 +8,7 @@ from typing import TYPE_CHECKING import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse @@ -23,8 +23,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class StartMenuItemOperations(object): - """StartMenuItemOperations operations. +class StartMenuItemsOperations(object): + """StartMenuItemsOperations operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -64,33 +64,36 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.StartMenuItemList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'applicationGroupName': self._serialize.url("application_group_name", application_group_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request def extract_data(pipeline_response): diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_user_session_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_user_sessions_operations.py similarity index 87% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_user_session_operations.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_user_sessions_operations.py index 47cebe6695e..6698d5dae95 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_user_session_operations.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_user_sessions_operations.py @@ -8,7 +8,7 @@ from typing import TYPE_CHECKING import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse @@ -23,8 +23,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class UserSessionOperations(object): - """UserSessionOperations operations. +class UserSessionsOperations(object): + """UserSessionsOperations operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -60,7 +60,7 @@ def list_by_host_pool( :param host_pool_name: The name of the host pool within the specified resource group. :type host_pool_name: str :param filter: OData filter expression. Valid properties for filtering are userprincipalname - and sessionstate. + and sessionstate. :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either UserSessionList or the result of cls(response) @@ -68,18 +68,25 @@ def list_by_host_pool( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.UserSessionList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list_by_host_pool.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) # Construct parameters @@ -88,15 +95,11 @@ def prepare_request(next_link=None): if filter is not None: query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request def extract_data(pipeline_response): @@ -148,16 +151,19 @@ def get( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.UserSession"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), 'userSessionId': self._serialize.url("user_session_id", user_session_id, 'str', max_length=24, min_length=1), } @@ -169,9 +175,8 @@ def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -216,16 +221,19 @@ def delete( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.delete.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), 'userSessionId': self._serialize.url("user_session_id", user_session_id, 'str', max_length=24, min_length=1), } @@ -239,8 +247,8 @@ def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -276,18 +284,25 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.UserSessionList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -295,15 +310,11 @@ def prepare_request(next_link=None): query_parameters = {} # type: Dict[str, Any] query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request def extract_data(pipeline_response): @@ -355,16 +366,19 @@ def disconnect( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.disconnect.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), 'userSessionId': self._serialize.url("user_session_id", user_session_id, 'str', max_length=24, min_length=1), } @@ -376,8 +390,8 @@ def disconnect( # Construct headers header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -397,8 +411,7 @@ def send_message( host_pool_name, # type: str session_host_name, # type: str user_session_id, # type: str - message_title=None, # type: Optional[str] - message_body=None, # type: Optional[str] + send_message=None, # type: Optional["models.SendMessage"] **kwargs # type: Any ): # type: (...) -> None @@ -412,29 +425,28 @@ def send_message( :type session_host_name: str :param user_session_id: The name of the user session within the specified session host. :type user_session_id: str - :param message_title: Title of message. - :type message_title: str - :param message_body: Body of message. - :type message_body: str + :param send_message: Object containing message includes title and message body. + :type send_message: ~desktop_virtualization_api_client.models.SendMessage :keyword callable cls: A custom type or function that will be passed the direct response :return: None, or the result of cls(response) :rtype: None :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _send_message = models.SendMessage(message_title=message_title, message_body=message_body) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.send_message.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'hostPoolName': self._serialize.url("host_pool_name", host_pool_name, 'str', max_length=64, min_length=3), 'sessionHostName': self._serialize.url("session_host_name", session_host_name, 'str', max_length=48, min_length=3), 'userSessionId': self._serialize.url("user_session_id", user_session_id, 'str', max_length=24, min_length=1), } @@ -447,16 +459,15 @@ def send_message( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - if _send_message is not None: - body_content = self._serialize.body(_send_message, 'SendMessage') + if send_message is not None: + body_content = self._serialize.body(send_message, 'SendMessage') else: body_content = None body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_workspace_operations.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_workspaces_operations.py similarity index 81% rename from src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_workspace_operations.py rename to src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_workspaces_operations.py index 821e5c5e7d4..17fdc30bd95 100644 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_workspace_operations.py +++ b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/operations/_workspaces_operations.py @@ -8,7 +8,7 @@ from typing import TYPE_CHECKING import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse @@ -18,13 +18,13 @@ if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, List, Optional, TypeVar, Union + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class WorkspaceOperations(object): - """WorkspaceOperations operations. +class WorkspacesOperations(object): + """WorkspacesOperations operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -64,16 +64,19 @@ def get( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Workspace"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -83,9 +86,8 @@ def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -106,11 +108,7 @@ def create_or_update( self, resource_group_name, # type: str workspace_name, # type: str - location, # type: str - tags=None, # type: Optional[Dict[str, str]] - description=None, # type: Optional[str] - friendly_name=None, # type: Optional[str] - application_group_references=None, # type: Optional[List[str]] + workspace, # type: "models.Workspace" **kwargs # type: Any ): # type: (...) -> "models.Workspace" @@ -120,35 +118,28 @@ def create_or_update( :type resource_group_name: str :param workspace_name: The name of the workspace. :type workspace_name: str - :param location: The geo-location where the resource lives. - :type location: str - :param tags: Resource tags. - :type tags: dict[str, str] - :param description: Description of Workspace. - :type description: str - :param friendly_name: Friendly name of Workspace. - :type friendly_name: str - :param application_group_references: List of applicationGroup resource Ids. - :type application_group_references: list[str] + :param workspace: Object containing Workspace definitions. + :type workspace: ~desktop_virtualization_api_client.models.Workspace :keyword callable cls: A custom type or function that will be passed the direct response :return: Workspace, or the result of cls(response) :rtype: ~desktop_virtualization_api_client.models.Workspace :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Workspace"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _workspace = models.Workspace(tags=tags, location=location, description=description, friendly_name=friendly_name, application_group_references=application_group_references) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.create_or_update.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -159,14 +150,12 @@ def create_or_update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_workspace, 'Workspace') + body_content = self._serialize.body(workspace, 'Workspace') body_content_kwargs['content'] = body_content request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -174,7 +163,6 @@ def create_or_update( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('Workspace', pipeline_response) @@ -206,16 +194,19 @@ def delete( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" # Construct URL url = self.delete.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -225,8 +216,8 @@ def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -244,10 +235,7 @@ def update( self, resource_group_name, # type: str workspace_name, # type: str - tags=None, # type: Optional[Dict[str, str]] - description=None, # type: Optional[str] - friendly_name=None, # type: Optional[str] - application_group_references=None, # type: Optional[List[str]] + workspace=None, # type: Optional["models.WorkspacePatch"] **kwargs # type: Any ): # type: (...) -> "models.Workspace" @@ -257,33 +245,28 @@ def update( :type resource_group_name: str :param workspace_name: The name of the workspace. :type workspace_name: str - :param tags: tags to be updated. - :type tags: dict[str, str] - :param description: Description of Workspace. - :type description: str - :param friendly_name: Friendly name of Workspace. - :type friendly_name: str - :param application_group_references: List of applicationGroup links. - :type application_group_references: list[str] + :param workspace: Object containing Workspace definitions. + :type workspace: ~desktop_virtualization_api_client.models.WorkspacePatch :keyword callable cls: A custom type or function that will be passed the direct response :return: Workspace, or the result of cls(response) :rtype: ~desktop_virtualization_api_client.models.Workspace :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Workspace"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _workspace = models.WorkspacePatch(tags=tags, description=description, friendly_name=friendly_name, application_group_references=application_group_references) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.update.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=24, min_length=3), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), } url = self._client.format_url(url, **path_format_arguments) @@ -294,17 +277,15 @@ def update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - if _workspace is not None: - body_content = self._serialize.body(_workspace, 'WorkspacePatch') + if workspace is not None: + body_content = self._serialize.body(workspace, 'WorkspacePatch') else: body_content = None body_content_kwargs['content'] = body_content request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -336,32 +317,35 @@ def list_by_resource_group( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.WorkspaceList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list_by_resource_group.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + '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 = {} # type: Dict[str, Any] query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request def extract_data(pipeline_response): @@ -401,11 +385,18 @@ def list_by_subscription( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.WorkspaceList"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2019-12-10-preview" + api_version = "2021-07-12" + accept = "application/json" def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL url = self.list_by_subscription.metadata['url'] # type: ignore @@ -417,15 +408,11 @@ def prepare_request(next_link=None): query_parameters = {} # type: Dict[str, Any] query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) + request = self._client.get(url, query_parameters, header_parameters) return request def extract_data(pipeline_response): diff --git a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/setup.py b/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/setup.py deleted file mode 100644 index 52fc353a0b1..00000000000 --- a/src/desktopvirtualization/azext_desktopvirtualization/vendored_sdks/desktopvirtualization/setup.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. -# -------------------------------------------------------------------------- -# coding: utf-8 - -from setuptools import setup, find_packages - -NAME = "desktopvirtualizationapiclient" -VERSION = "0.2.0" - -# To install the library, run the following -# -# python setup.py install -# -# prerequisite: setuptools -# http://pypi.python.org/pypi/setuptools - -REQUIRES = ["msrest>=0.6.0", "azure-core<2.0.0,>=1.2.0"] - -setup( - name=NAME, - version=VERSION, - description="DesktopVirtualizationAPIClient", - author_email="", - url="", - keywords=["Swagger", "DesktopVirtualizationAPIClient"], - install_requires=REQUIRES, - packages=find_packages(), - include_package_data=True, - long_description="""\ - DesktopVirtualizationAPIClient. - """ -) diff --git a/src/desktopvirtualization/report.md b/src/desktopvirtualization/report.md index d535730ab5d..d079db30f5e 100644 --- a/src/desktopvirtualization/report.md +++ b/src/desktopvirtualization/report.md @@ -1,164 +1,344 @@ # Azure CLI Module Creation Report -### desktopvirtualization applicationgroup create - -create a desktopvirtualization applicationgroup. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| -|**--application-group-name**|string|The name of the application group|application_group_name| -|**--location**|string|The geo-location where the resource lives|location| -|**--host-pool-arm-path**|string|HostPool arm path of ApplicationGroup.|host_pool_arm_path| -|**--application-group-type**|choice|Resource Type of ApplicationGroup.|application_group_type| -|**--tags**|dictionary|Resource tags.|tags| -|**--description**|string|Description of ApplicationGroup.|description| -|**--friendly-name**|string|Friendly name of ApplicationGroup.|friendly_name| -### desktopvirtualization applicationgroup delete - -delete a desktopvirtualization applicationgroup. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| -|**--application-group-name**|string|The name of the application group|application_group_name| -### desktopvirtualization applicationgroup list - -list a desktopvirtualization applicationgroup. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| -|**--filter**|string|OData filter expression. Valid properties for filtering are applicationGroupType.|filter| -### desktopvirtualization applicationgroup show - -show a desktopvirtualization applicationgroup. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| -|**--application-group-name**|string|The name of the application group|application_group_name| -### desktopvirtualization applicationgroup update - -update a desktopvirtualization applicationgroup. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| -|**--application-group-name**|string|The name of the application group|application_group_name| -|**--tags**|dictionary|tags to be updated|tags| -|**--description**|string|Description of ApplicationGroup.|description| -|**--friendly-name**|string|Friendly name of ApplicationGroup.|friendly_name| -### desktopvirtualization hostpool create - -create a desktopvirtualization hostpool. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| -|**--host-pool-name**|string|The name of the host pool within the specified resource group|host_pool_name| -|**--location**|string|The geo-location where the resource lives|location| -|**--host-pool-type**|choice|HostPool type for desktop.|host_pool_type| -|**--personal-desktop-assignment-type**|choice|PersonalDesktopAssignment type for HostPool.|personal_desktop_assignment_type| -|**--load-balancer-type**|choice|The type of the load balancer.|load_balancer_type| -|**--tags**|dictionary|Resource tags.|tags| -|**--friendly-name**|string|Friendly name of HostPool.|friendly_name| -|**--description**|string|Description of HostPool.|description| -|**--custom-rdp-property**|string|Custom rdp property of HostPool.|custom_rdp_property| -|**--max-session-limit**|integer|The max session limit of HostPool.|max_session_limit| -|**--ring**|integer|The ring number of HostPool.|ring| -|**--validation-environment**|boolean|Is validation environment.|validation_environment| -|**--registration-info**|object|The registration info of HostPool.|registration_info| -|**--vm-template**|string|VM template for sessionhosts configuration within hostpool.|vm_template| -|**--sso-context**|string|Path to keyvault containing ssoContext secret.|sso_context| -### desktopvirtualization hostpool delete - -delete a desktopvirtualization hostpool. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| -|**--host-pool-name**|string|The name of the host pool within the specified resource group|host_pool_name| -|**--force**|boolean|Force flag to delete sessionHost.|force| -### desktopvirtualization hostpool list - -list a desktopvirtualization hostpool. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| -### desktopvirtualization hostpool show - -show a desktopvirtualization hostpool. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| -|**--host-pool-name**|string|The name of the host pool within the specified resource group|host_pool_name| -### desktopvirtualization hostpool update - -update a desktopvirtualization hostpool. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| -|**--host-pool-name**|string|The name of the host pool within the specified resource group|host_pool_name| -|**--tags**|dictionary|tags to be updated|tags| -|**--friendly-name**|string|Friendly name of HostPool.|friendly_name| -|**--description**|string|Description of HostPool.|description| -|**--custom-rdp-property**|string|Custom rdp property of HostPool.|custom_rdp_property| -|**--max-session-limit**|integer|The max session limit of HostPool.|max_session_limit| -|**--personal-desktop-assignment-type**|choice|PersonalDesktopAssignment type for HostPool.|personal_desktop_assignment_type| -|**--load-balancer-type**|choice|The type of the load balancer.|load_balancer_type| -|**--ring**|integer|The ring number of HostPool.|ring| -|**--validation-environment**|boolean|Is validation environment.|validation_environment| -|**--registration-info**|object|The registration info of HostPool.|registration_info| -|**--sso-context**|string|Path to keyvault containing ssoContext secret.|sso_context| -### desktopvirtualization workspace create - -create a desktopvirtualization workspace. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| -|**--workspace-name**|string|The name of the workspace|workspace_name| -|**--location**|string|The geo-location where the resource lives|location| -|**--tags**|dictionary|Resource tags.|tags| -|**--description**|string|Description of Workspace.|description| -|**--friendly-name**|string|Friendly name of Workspace.|friendly_name| -|**--application-group-references**|array|List of applicationGroup resource Ids.|application_group_references| -### desktopvirtualization workspace delete - -delete a desktopvirtualization workspace. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| -|**--workspace-name**|string|The name of the workspace|workspace_name| -### desktopvirtualization workspace list - -list a desktopvirtualization workspace. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| -### desktopvirtualization workspace show - -show a desktopvirtualization workspace. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| -|**--workspace-name**|string|The name of the workspace|workspace_name| -### desktopvirtualization workspace update - -update a desktopvirtualization workspace. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name| -|**--workspace-name**|string|The name of the workspace|workspace_name| -|**--tags**|dictionary|tags to be updated|tags| -|**--description**|string|Description of Workspace.|description| -|**--friendly-name**|string|Friendly name of Workspace.|friendly_name| -|**--application-group-references**|array|List of applicationGroup links.|application_group_references| \ No newline at end of file +## EXTENSION +|CLI Extension|Command Groups| +|---------|------------| +|az desktopvirtualization|[groups](#CommandGroups) + +## GROUPS +### Command groups in `az desktopvirtualization` extension +|CLI Command Group|Group Swagger name|Commands| +|---------|------------|--------| +|az desktopvirtualization applicationgroup|ApplicationGroups|[commands](#CommandsInApplicationGroups)| +|az desktopvirtualization hostpool|HostPools|[commands](#CommandsInHostPools)| +|az desktopvirtualization workspace|Workspaces|[commands](#CommandsInWorkspaces)| + +## COMMANDS +### Commands in `az desktopvirtualization applicationgroup` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az desktopvirtualization applicationgroup list](#ApplicationGroupsListByResourceGroup)|ListByResourceGroup|[Parameters](#ParametersApplicationGroupsListByResourceGroup)|[Example](#ExamplesApplicationGroupsListByResourceGroup)| +|[az desktopvirtualization applicationgroup list](#ApplicationGroupsListBySubscription)|ListBySubscription|[Parameters](#ParametersApplicationGroupsListBySubscription)|[Example](#ExamplesApplicationGroupsListBySubscription)| +|[az desktopvirtualization applicationgroup show](#ApplicationGroupsGet)|Get|[Parameters](#ParametersApplicationGroupsGet)|[Example](#ExamplesApplicationGroupsGet)| +|[az desktopvirtualization applicationgroup create](#ApplicationGroupsCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersApplicationGroupsCreateOrUpdate#Create)|[Example](#ExamplesApplicationGroupsCreateOrUpdate#Create)| +|[az desktopvirtualization applicationgroup update](#ApplicationGroupsUpdate)|Update|[Parameters](#ParametersApplicationGroupsUpdate)|[Example](#ExamplesApplicationGroupsUpdate)| +|[az desktopvirtualization applicationgroup delete](#ApplicationGroupsDelete)|Delete|[Parameters](#ParametersApplicationGroupsDelete)|[Example](#ExamplesApplicationGroupsDelete)| + +### Commands in `az desktopvirtualization hostpool` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az desktopvirtualization hostpool list](#HostPoolsListByResourceGroup)|ListByResourceGroup|[Parameters](#ParametersHostPoolsListByResourceGroup)|[Example](#ExamplesHostPoolsListByResourceGroup)| +|[az desktopvirtualization hostpool list](#HostPoolsList)|List|[Parameters](#ParametersHostPoolsList)|[Example](#ExamplesHostPoolsList)| +|[az desktopvirtualization hostpool show](#HostPoolsGet)|Get|[Parameters](#ParametersHostPoolsGet)|[Example](#ExamplesHostPoolsGet)| +|[az desktopvirtualization hostpool create](#HostPoolsCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersHostPoolsCreateOrUpdate#Create)|[Example](#ExamplesHostPoolsCreateOrUpdate#Create)| +|[az desktopvirtualization hostpool update](#HostPoolsUpdate)|Update|[Parameters](#ParametersHostPoolsUpdate)|[Example](#ExamplesHostPoolsUpdate)| +|[az desktopvirtualization hostpool delete](#HostPoolsDelete)|Delete|[Parameters](#ParametersHostPoolsDelete)|[Example](#ExamplesHostPoolsDelete)| +|[az desktopvirtualization hostpool retrieve-registration-token](#HostPoolsRetrieveRegistrationToken)|RetrieveRegistrationToken|[Parameters](#ParametersHostPoolsRetrieveRegistrationToken)|[Example](#ExamplesHostPoolsRetrieveRegistrationToken)| + +### Commands in `az desktopvirtualization workspace` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az desktopvirtualization workspace list](#WorkspacesListByResourceGroup)|ListByResourceGroup|[Parameters](#ParametersWorkspacesListByResourceGroup)|[Example](#ExamplesWorkspacesListByResourceGroup)| +|[az desktopvirtualization workspace list](#WorkspacesListBySubscription)|ListBySubscription|[Parameters](#ParametersWorkspacesListBySubscription)|[Example](#ExamplesWorkspacesListBySubscription)| +|[az desktopvirtualization workspace show](#WorkspacesGet)|Get|[Parameters](#ParametersWorkspacesGet)|[Example](#ExamplesWorkspacesGet)| +|[az desktopvirtualization workspace create](#WorkspacesCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersWorkspacesCreateOrUpdate#Create)|[Example](#ExamplesWorkspacesCreateOrUpdate#Create)| +|[az desktopvirtualization workspace update](#WorkspacesUpdate)|Update|[Parameters](#ParametersWorkspacesUpdate)|[Example](#ExamplesWorkspacesUpdate)| +|[az desktopvirtualization workspace delete](#WorkspacesDelete)|Delete|[Parameters](#ParametersWorkspacesDelete)|[Example](#ExamplesWorkspacesDelete)| + + +## COMMAND DETAILS +### group `az desktopvirtualization applicationgroup` +#### Command `az desktopvirtualization applicationgroup list` + +##### Example +``` +az desktopvirtualization applicationgroup list --filter "applicationGroupType eq \'RailApplication\'" --resource-group \ +"resourceGroup1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--filter**|string|OData filter expression. Valid properties for filtering are applicationGroupType.|filter|$filter| + +#### Command `az desktopvirtualization applicationgroup list` + +##### Example +``` +az desktopvirtualization applicationgroup list --filter "applicationGroupType eq \'RailApplication\'" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--filter**|string|OData filter expression. Valid properties for filtering are applicationGroupType.|filter|$filter| + +#### Command `az desktopvirtualization applicationgroup show` + +##### Example +``` +az desktopvirtualization applicationgroup show --name "applicationGroup1" --resource-group "resourceGroup1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--application-group-name**|string|The name of the application group|application_group_name|applicationGroupName| + +#### Command `az desktopvirtualization applicationgroup create` + +##### Example +``` +az desktopvirtualization applicationgroup create --location "centralus" --description "des1" --application-group-type \ +"RemoteApp" --friendly-name "friendly" --host-pool-arm-path "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resour\ +ceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1" --tags tag1="value1" tag2="value2" --name "applicationGroup1" --resource-group "resourceGroup1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--application-group-name**|string|The name of the application group|application_group_name|applicationGroupName| +|**--location**|string|The geo-location where the resource lives|location|location| +|**--tags**|dictionary|Resource tags.|tags|tags| +|**--host-pool-arm-path**|string|HostPool arm path of ApplicationGroup.|host_pool_arm_path|hostPoolArmPath| +|**--application-group-type**|choice|Resource Type of ApplicationGroup.|application_group_type|applicationGroupType| +|**--description**|string|Description of ApplicationGroup.|description|description| +|**--friendly-name**|string|Friendly name of ApplicationGroup.|friendly_name|friendlyName| + +#### Command `az desktopvirtualization applicationgroup update` + +##### Example +``` +az desktopvirtualization applicationgroup update --description "des1" --friendly-name "friendly" --tags tag1="value1" \ +tag2="value2" --name "applicationGroup1" --resource-group "resourceGroup1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--application-group-name**|string|The name of the application group|application_group_name|applicationGroupName| +|**--tags**|dictionary|tags to be updated|tags|tags| +|**--description**|string|Description of ApplicationGroup.|description|description| +|**--friendly-name**|string|Friendly name of ApplicationGroup.|friendly_name|friendlyName| + +#### Command `az desktopvirtualization applicationgroup delete` + +##### Example +``` +az desktopvirtualization applicationgroup delete --name "applicationGroup1" --resource-group "resourceGroup1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--application-group-name**|string|The name of the application group|application_group_name|applicationGroupName| + +### group `az desktopvirtualization hostpool` +#### Command `az desktopvirtualization hostpool list` + +##### Example +``` +az desktopvirtualization hostpool list --resource-group "resourceGroup1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| + +#### Command `az desktopvirtualization hostpool list` + +##### Example +``` +az desktopvirtualization hostpool list +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| + +#### Command `az desktopvirtualization hostpool show` + +##### Example +``` +az desktopvirtualization hostpool show --name "hostPool1" --resource-group "resourceGroup1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--host-pool-name**|string|The name of the host pool within the specified resource group|host_pool_name|hostPoolName| + +#### Command `az desktopvirtualization hostpool create` + +##### Example +``` +az desktopvirtualization hostpool create --location "centralus" --description "des1" --friendly-name "friendly" \ +--host-pool-type "Pooled" --load-balancer-type "BreadthFirst" --max-session-limit 999999 \ +--personal-desktop-assignment-type "Automatic" --preferred-app-group-type "Desktop" \ +--registration-info expiration-time="2020-10-01T14:01:54.9571247Z" registration-token-operation="Update" \ +--sso-client-id "client" --sso-client-secret-key-vault-path "https://keyvault/secret" --sso-secret-type "SharedKey" \ +--ssoadfs-authority "https://adfs" --start-vm-on-connect false --vm-template "{json:json}" --tags tag1="value1" \ +tag2="value2" --name "hostPool1" --resource-group "resourceGroup1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--host-pool-name**|string|The name of the host pool within the specified resource group|host_pool_name|hostPoolName| +|**--location**|string|The geo-location where the resource lives|location|location| +|**--tags**|dictionary|Resource tags.|tags|tags| +|**--host-pool-type**|choice|HostPool type for desktop.|host_pool_type|hostPoolType| +|**--load-balancer-type**|choice|The type of the load balancer.|load_balancer_type|loadBalancerType| +|**--preferred-app-group-type**|choice|The type of preferred application group type, default to Desktop Application Group|preferred_app_group_type|preferredAppGroupType| +|**--friendly-name**|string|Friendly name of HostPool.|friendly_name|friendlyName| +|**--description**|string|Description of HostPool.|description|description| +|**--personal-desktop-assignment-type**|choice|PersonalDesktopAssignment type for HostPool.|personal_desktop_assignment_type|personalDesktopAssignmentType| +|**--custom-rdp-property**|string|Custom rdp property of HostPool.|custom_rdp_property|customRdpProperty| +|**--max-session-limit**|integer|The max session limit of HostPool.|max_session_limit|maxSessionLimit| +|**--ring**|integer|The ring number of HostPool.|ring|ring| +|**--validation-environment**|boolean|Is validation environment.|validation_environment|validationEnvironment| +|**--registration-info**|object|The registration info of HostPool.|registration_info|registrationInfo| +|**--vm-template**|string|VM template for sessionhosts configuration within hostpool.|vm_template|vmTemplate| +|**--ssoadfs-authority**|string|URL to customer ADFS server for signing WVD SSO certificates.|ssoadfs_authority|ssoadfsAuthority| +|**--sso-client-id**|string|ClientId for the registered Relying Party used to issue WVD SSO certificates.|sso_client_id|ssoClientId| +|**--sso-client-secret-key-vault-path**|string|Path to Azure KeyVault storing the secret used for communication to ADFS.|sso_client_secret_key_vault_path|ssoClientSecretKeyVaultPath| +|**--sso-secret-type**|choice|The type of single sign on Secret Type.|sso_secret_type|ssoSecretType| +|**--start-vm-on-connect**|boolean|The flag to turn on/off StartVMOnConnect feature.|start_vm_on_connect|startVMOnConnect| + +#### Command `az desktopvirtualization hostpool update` + +##### Example +``` +az desktopvirtualization hostpool update --description "des1" --friendly-name "friendly" --load-balancer-type \ +"BreadthFirst" --max-session-limit 999999 --personal-desktop-assignment-type "Automatic" --registration-info \ +expiration-time="2020-10-01T15:01:54.9571247Z" registration-token-operation="Update" --sso-client-id "client" \ +--sso-client-secret-key-vault-path "https://keyvault/secret" --sso-secret-type "SharedKey" --ssoadfs-authority \ +"https://adfs" --start-vm-on-connect false --vm-template "{json:json}" --tags tag1="value1" tag2="value2" --name \ +"hostPool1" --resource-group "resourceGroup1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--host-pool-name**|string|The name of the host pool within the specified resource group|host_pool_name|hostPoolName| +|**--tags**|dictionary|tags to be updated|tags|tags| +|**--friendly-name**|string|Friendly name of HostPool.|friendly_name|friendlyName| +|**--description**|string|Description of HostPool.|description|description| +|**--custom-rdp-property**|string|Custom rdp property of HostPool.|custom_rdp_property|customRdpProperty| +|**--max-session-limit**|integer|The max session limit of HostPool.|max_session_limit|maxSessionLimit| +|**--personal-desktop-assignment-type**|choice|PersonalDesktopAssignment type for HostPool.|personal_desktop_assignment_type|personalDesktopAssignmentType| +|**--load-balancer-type**|choice|The type of the load balancer.|load_balancer_type|loadBalancerType| +|**--ring**|integer|The ring number of HostPool.|ring|ring| +|**--validation-environment**|boolean|Is validation environment.|validation_environment|validationEnvironment| +|**--registration-info**|object|The registration info of HostPool.|registration_info|registrationInfo| +|**--vm-template**|string|VM template for sessionhosts configuration within hostpool.|vm_template|vmTemplate| +|**--ssoadfs-authority**|string|URL to customer ADFS server for signing WVD SSO certificates.|ssoadfs_authority|ssoadfsAuthority| +|**--sso-client-id**|string|ClientId for the registered Relying Party used to issue WVD SSO certificates.|sso_client_id|ssoClientId| +|**--sso-client-secret-key-vault-path**|string|Path to Azure KeyVault storing the secret used for communication to ADFS.|sso_client_secret_key_vault_path|ssoClientSecretKeyVaultPath| +|**--sso-secret-type**|choice|The type of single sign on Secret Type.|sso_secret_type|ssoSecretType| +|**--preferred-app-group-type**|choice|The type of preferred application group type, default to Desktop Application Group|preferred_app_group_type|preferredAppGroupType| +|**--start-vm-on-connect**|boolean|The flag to turn on/off StartVMOnConnect feature.|start_vm_on_connect|startVMOnConnect| + +#### Command `az desktopvirtualization hostpool delete` + +##### Example +``` +az desktopvirtualization hostpool delete --force true --name "hostPool1" --resource-group "resourceGroup1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--host-pool-name**|string|The name of the host pool within the specified resource group|host_pool_name|hostPoolName| +|**--force**|boolean|Force flag to delete sessionHost.|force|force| + +#### Command `az desktopvirtualization hostpool retrieve-registration-token` + +##### Example +``` +az desktopvirtualization hostpool retrieve-registration-token --name "hostPool1" --resource-group "resourceGroup1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--host-pool-name**|string|The name of the host pool within the specified resource group|host_pool_name|hostPoolName| + +### group `az desktopvirtualization workspace` +#### Command `az desktopvirtualization workspace list` + +##### Example +``` +az desktopvirtualization workspace list --resource-group "resourceGroup1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| + +#### Command `az desktopvirtualization workspace list` + +##### Example +``` +az desktopvirtualization workspace list +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| + +#### Command `az desktopvirtualization workspace show` + +##### Example +``` +az desktopvirtualization workspace show --resource-group "resourceGroup1" --name "workspace1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--workspace-name**|string|The name of the workspace|workspace_name|workspaceName| + +#### Command `az desktopvirtualization workspace create` + +##### Example +``` +az desktopvirtualization workspace create --resource-group "resourceGroup1" --location "centralus" --description \ +"des1" --friendly-name "friendly" --tags tag1="value1" tag2="value2" --name "workspace1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--workspace-name**|string|The name of the workspace|workspace_name|workspaceName| +|**--location**|string|The geo-location where the resource lives|location|location| +|**--tags**|dictionary|Resource tags.|tags|tags| +|**--description**|string|Description of Workspace.|description|description| +|**--friendly-name**|string|Friendly name of Workspace.|friendly_name|friendlyName| +|**--application-group-references**|array|List of applicationGroup resource Ids.|application_group_references|applicationGroupReferences| + +#### Command `az desktopvirtualization workspace update` + +##### Example +``` +az desktopvirtualization workspace update --resource-group "resourceGroup1" --description "des1" --friendly-name \ +"friendly" --tags tag1="value1" tag2="value2" --name "workspace1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--workspace-name**|string|The name of the workspace|workspace_name|workspaceName| +|**--tags**|dictionary|tags to be updated|tags|tags| +|**--description**|string|Description of Workspace.|description|description| +|**--friendly-name**|string|Friendly name of Workspace.|friendly_name|friendlyName| +|**--application-group-references**|array|List of applicationGroup links.|application_group_references|applicationGroupReferences| + +#### Command `az desktopvirtualization workspace delete` + +##### Example +``` +az desktopvirtualization workspace delete --resource-group "resourceGroup1" --name "workspace1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--workspace-name**|string|The name of the workspace|workspace_name|workspaceName| diff --git a/src/desktopvirtualization/setup.py b/src/desktopvirtualization/setup.py index 615b990f36c..d6d943ab7c9 100644 --- a/src/desktopvirtualization/setup.py +++ b/src/desktopvirtualization/setup.py @@ -10,11 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '0.1.1' -try: - from .manual.version import VERSION -except ImportError: - pass +VERSION = '0.2.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -31,10 +27,6 @@ ] DEPENDENCIES = [] -try: - from .manual.dependency import DEPENDENCIES -except ImportError: - pass with open('README.md', 'r', encoding='utf-8') as f: README = f.read() From 2f545ab1a6a96b541d979b54beb0c92bdfcf3c29 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Mon, 28 Mar 2022 16:27:24 +0800 Subject: [PATCH 06/70] [Release] Update index.json for extension [ desktopvirtualization ] (#4583) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=1464165 Last commit: https://github.com/Azure/azure-cli-extensions/commit/988bd77d77b05cc548ae05aa745c18a7293d8961 --- src/index.json | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/src/index.json b/src/index.json index 549b2f4d3be..83cea6417c6 100644 --- a/src/index.json +++ b/src/index.json @@ -15535,6 +15535,48 @@ "version": "0.1.1" }, "sha256Digest": "8f35a96234e9c456b81f3dd086c6d7f20a9c49104cb3b277357aa9d697a02b0e" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/desktopvirtualization-0.2.0-py3-none-any.whl", + "filename": "desktopvirtualization-0.2.0-py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.15.0", + "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/tree/main/src/desktopvirtualization" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "desktopvirtualization", + "summary": "Microsoft Azure Command-Line Tools DesktopVirtualizationAPIClient Extension", + "version": "0.2.0" + }, + "sha256Digest": "6de28d6be58dd65ad8f25a9fa084676c54684f00f9938f5db7d0392282783e04" } ], "dev-spaces": [ From 89249f67e7583ce26172a8b6f8592957fe5e5d05 Mon Sep 17 00:00:00 2001 From: Ryan K Date: Mon, 28 Mar 2022 09:49:29 -0700 Subject: [PATCH 07/70] IoT Extension Release v0.14.0 (#4586) --- src/index.json | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/src/index.json b/src/index.json index 83cea6417c6..f3bc8e33d97 100644 --- a/src/index.json +++ b/src/index.json @@ -8963,6 +8963,77 @@ "version": "0.13.0" }, "sha256Digest": "a8078483a23ed656cb79816dc8e7c39f3c18a04945b4366edc99a76897419bd2" + }, + { + "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.14.0/azure_iot-0.14.0-py3-none-any.whl", + "filename": "azure_iot-0.14.0-py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.24.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", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "iotupx@microsoft.com", + "name": "Microsoft", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/azure/azure-iot-cli-extension" + } + } + }, + "extras": [ + "uamqp" + ], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "azure-iot", + "requires_python": ">=3.6,<4", + "run_requires": [ + { + "requires": [ + "azure-iot-device (~=2.5)", + "jsonschema (~=3.2.0)", + "msrestazure (<2.0.0,>=0.6.3)", + "packaging", + "tqdm (~=4.62)" + ] + }, + { + "extra": "uamqp", + "requires": [ + "uamqp (~=1.2)" + ] + }, + { + "environment": "python_version < \"3.8\"", + "requires": [ + "importlib-metadata" + ] + } + ], + "summary": "The Azure IoT extension for Azure CLI.", + "version": "0.14.0" + }, + "sha256Digest": "56e07939e0f60412c8dce20a278127be4768a4cd8c487e5201396428e1b2f86f" } ], "azurestackhci": [ From cf871d7ad75860cd531d455fd698cc21dbc93017 Mon Sep 17 00:00:00 2001 From: Zeng Taoxu <96050289+ZengTaoxu@users.noreply.github.com> Date: Tue, 29 Mar 2022 13:56:12 +0800 Subject: [PATCH 08/70] {NetworkManager}Fix bugs (#4584) * {NetworkManager}Add new commands Add new commands 'az network manager connection', 'az network manager connection management-group', 'az network manager scope connection', 'az network manager group static-members' * Update _help.py * Update _params.py Bump up azure-mamt-network SDK to 2021_05_01_preview and Update params and commands. * Update * Update * Update * Update * Update * Update * update tests for new api version 2021-05-01-preview for network-manager extension * Update * Update * Update custom.py * Update * Update * {NetworkManager}Fix bugs * update Co-authored-by: Jared Gorthy --- src/network-manager/HISTORY.rst | 5 + .../azext_network_manager/_help.py | 24 +- .../azext_network_manager/_params.py | 14 +- .../azext_network_manager/custom.py | 26 +- ...rk_manager_admin_rule_collection_crud.yaml | 96 ++--- .../test_network_manager_admin_rule_crud.yaml | 88 ++-- ...t_network_manager_connect_config_crud.yaml | 80 ++-- .../test_network_manager_group_crud.yaml | 52 +-- .../test_network_manager_list_queries.yaml | 72 ++-- ...work_manager_security_admin_config_v2.yaml | 395 ++++++++++++++++++ ...st_network_manager_static_member_crud.yaml | 70 ++-- .../tests/latest/test_network_scenario.py | 45 +- src/network-manager/setup.py | 2 +- 13 files changed, 691 insertions(+), 278 deletions(-) create mode 100644 src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_security_admin_config_v2.yaml diff --git a/src/network-manager/HISTORY.rst b/src/network-manager/HISTORY.rst index bf9d0f814f9..23fa4f664f1 100644 --- a/src/network-manager/HISTORY.rst +++ b/src/network-manager/HISTORY.rst @@ -2,6 +2,11 @@ Release History =============== +0.4.1 ++++++ +* 'az network manager connect-config update': update parameter '--connectivity-topology' +* 'az network manager group create': update parameter '--member-type' and remove parameters `--group-members` and '--conditional-membership' +* 'az network manager security-admin-config create': add parameter '--apply-on' 0.4.0 +++++ diff --git a/src/network-manager/azext_network_manager/_help.py b/src/network-manager/azext_network_manager/_help.py index 7c4b47a2e6f..9e29f110ca2 100644 --- a/src/network-manager/azext_network_manager/_help.py +++ b/src/network-manager/azext_network_manager/_help.py @@ -284,35 +284,21 @@ type: command short-summary: "Create a network group." parameters: - - name: --group-members - short-summary: "Group members of network group." + - name: --member-type + short-summary: "Group member type" long-summary: | - Usage: --group-members resource-id=XX - - resource-id: Resource Id. - - Multiple actions can be specified by using more than one --group-members argument. + Usage: --member-type "Microsoft.Network/virtualNetworks" examples: - name: Create/Update Azure Virtual Network Manager Network Group text: |- az network manager group create --name "TestNetworkGroup" --network-manager-name "testNetworkManager" \ ---description "A sample group" --conditional-membership "" --display-name "My Network Group" --group-members \ -resource-id="/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/virtualnetworks/vnet1" \ +--description "A sample group" --display-name "My Network Group" \ --member-type "Microsoft.Network/virtualNetworks" --resource-group "rg1" """ helps['network manager group update'] = """ type: command short-summary: "Update a network group." - parameters: - - name: --group-members - short-summary: "Group members of network group." - long-summary: | - Usage: --group-members resource-id=XX - - resource-id: Resource Id. - - Multiple actions can be specified by using more than one --group-members argument. """ helps['network manager group delete'] = """ @@ -421,7 +407,7 @@ text: |- az network manager security-admin-config create --configuration-name "myTestSecurityConfig" \ --network-manager-name "testNetworkManager" --resource-group "rg1" --description "A sample policy" \ ---delete-existing-ns-gs true +--delete-existing-ns-gs true --apply-on None """ helps['network manager security-admin-config update'] = """ diff --git a/src/network-manager/azext_network_manager/_params.py b/src/network-manager/azext_network_manager/_params.py index 37dd7713533..f07943aa2fd 100644 --- a/src/network-manager/azext_network_manager/_params.py +++ b/src/network-manager/azext_network_manager/_params.py @@ -192,7 +192,7 @@ def load_arguments(self, _): id_part='child_name_1') c.argument('display_name', type=str, help='A friendly name for the resource.') c.argument('description', type=str, help='A description of the connectivity configuration.') - c.argument('connectivity_topology', arg_type=get_enum_type(['HubAndSpokeTopology', 'MeshTopology']), + c.argument('connectivity_topology', arg_type=get_enum_type(['HubAndSpoke', 'Mesh']), help='Connectivity topology type.') c.argument('is_global', arg_type=get_three_state_flag(), help='Flag if global mesh is supported.') c.argument('applies_to_groups', action=AddConnectivityconfigurationsAppliesToGroups, nargs='+', help='Groups ' @@ -233,9 +233,7 @@ def load_arguments(self, _): 'changes.') c.argument('display_name', type=str, help='A friendly name for the network group.') c.argument('description', type=str, help='A description of the network group.') - c.argument('member_type', arg_type=get_enum_type(['Microsoft.Network/virtualNetworks', 'Microsoft.Network/virtualNetworks/subnets']), help='Group member type.') - c.argument('group_members', action=AddGroupMembers, nargs='+', help='Group members of network group.') - c.argument('conditional_membership', type=str, help='Network group conditional filter.') + c.argument('member_type', arg_type=get_enum_type(['Microsoft.Network/virtualNetworks']), help='Group member type.') with self.argument_context('network manager group update') as c: c.argument('resource_group_name', resource_group_name_type) @@ -248,8 +246,6 @@ def load_arguments(self, _): c.argument('display_name', type=str, help='A friendly name for the network group.') c.argument('description', type=str, help='A description of the network group.') c.argument('member_type', arg_type=get_enum_type(['VirtualNetwork', 'Subnet']), help='Group member type.') - c.argument('group_members', action=AddGroupMembers, nargs='+', help='Group members of network group.') - c.argument('conditional_membership', type=str, help='Network group conditional filter.') c.ignore('parameters') with self.argument_context('network manager group delete') as c: @@ -337,6 +333,9 @@ def load_arguments(self, _): c.argument('security_type', arg_type=get_enum_type(['AdminPolicy', 'UserPolicy']), help='Security Type.') c.argument('delete_existing_ns_gs', arg_type=get_three_state_flag(), help='Flag if need to delete existing ' 'network security groups.') + c.argument('apply_on_network_intent_policy_based_services', options_list=['--apply-on-network-intent-policy', + '--apply-on'], nargs='+', + arg_type=get_enum_type(['None', 'All']), help='Enum list of network intent policy based services.') with self.argument_context('network manager security-admin-config update') as c: c.argument('resource_group_name', resource_group_name_type) @@ -348,6 +347,9 @@ def load_arguments(self, _): c.argument('security_type', arg_type=get_enum_type(['AdminPolicy', 'UserPolicy']), help='Security Type.') c.argument('delete_existing_ns_gs', arg_type=get_three_state_flag(), help='Flag if need to delete existing ' 'network security groups.') + c.argument('apply_on_network_intent_policy_based_services', options_list=['--apply-on-network-intent-policy', + '--apply-on'], nargs='+', + arg_type=get_enum_type(['None', 'All']), help='Enum list of network intent policy based services.') c.ignore('security_configuration') with self.argument_context('network manager security-admin-config delete') as c: diff --git a/src/network-manager/azext_network_manager/custom.py b/src/network-manager/azext_network_manager/custom.py index 9db8a9876d2..3f8ff3738a8 100644 --- a/src/network-manager/azext_network_manager/custom.py +++ b/src/network-manager/azext_network_manager/custom.py @@ -351,18 +351,14 @@ def network_manager_group_create(client, resource_group_name, network_manager_name, network_group_name, + member_type, if_match=None, display_name=None, - description=None, - member_type=None, - group_members=None, - conditional_membership=None): + description=None): parameters = {} parameters['display_name'] = display_name parameters['description'] = description parameters['member_type'] = member_type - parameters['group_members'] = group_members - parameters['conditional_membership'] = conditional_membership return client.create_or_update(resource_group_name=resource_group_name, network_manager_name=network_manager_name, network_group_name=network_group_name, @@ -377,19 +373,13 @@ def network_manager_group_update(instance, if_match=None, display_name=None, description=None, - member_type=None, - group_members=None, - conditional_membership=None): + member_type=None): if display_name is not None: instance.display_name = display_name if description is not None: instance.description = description if member_type is not None: instance.member_type = member_type - if group_members is not None: - instance.group_members = group_members - if conditional_membership is not None: - instance.conditional_membership = conditional_membership return instance @@ -495,11 +485,14 @@ def network_manager_security_admin_config_create(client, configuration_name, display_name=None, description=None, - delete_existing_ns_gs=None): + delete_existing_ns_gs=None, + apply_on_network_intent_policy_based_services=None): security_configuration = {} security_configuration['display_name'] = display_name security_configuration['description'] = description security_configuration['delete_existing_ns_gs'] = delete_existing_ns_gs + security_configuration['apply_on_network_intent_policy_based_services'] = \ + apply_on_network_intent_policy_based_services return client.create_or_update(resource_group_name=resource_group_name, network_manager_name=network_manager_name, configuration_name=configuration_name, @@ -512,13 +505,16 @@ def network_manager_security_admin_config_update(instance, configuration_name, display_name=None, description=None, - delete_existing_ns_gs=None): + delete_existing_ns_gs=None, + apply_on_network_intent_policy_based_services=None): if display_name is not None: instance.display_name = display_name if description is not None: instance.description = description if delete_existing_ns_gs is not None: instance.delete_existing_ns_gs = delete_existing_ns_gs + if apply_on_network_intent_policy_based_services is not None: + instance.apply_on_network_intent_policy_based_services = apply_on_network_intent_policy_based_services return instance diff --git a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_admin_rule_collection_crud.yaml b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_admin_rule_collection_crud.yaml index d828a56016b..114a146b7db 100644 --- a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_admin_rule_collection_crud.yaml +++ b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_admin_rule_collection_crud.yaml @@ -21,13 +21,13 @@ interactions: - --name --description --display-name --scope-accesses --network-manager-scopes -l --resource-group User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"","properties":{"displayName":"TestNetworkManager","description":"My - Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"9362aa58-c71e-4664-87ef-7275f6e6abd9"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:45:50.8404298Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:45:50.8404298Z"}}' + Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"48f1dade-881a-48ef-b3e8-058e6c0f1345"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:46:27.4288057Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:46:27.4288057Z"}}' headers: cache-control: - no-cache @@ -36,7 +36,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:45:55 GMT + - Mon, 28 Mar 2022 08:46:31 GMT expires: - '-1' pragma: @@ -52,7 +52,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 200 message: OK @@ -75,13 +75,13 @@ interactions: ParameterSetName: - --name --network-manager-name --description --display-name --member-type -g User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"","properties":{"displayName":"ASampleGroup","description":"A - sample policy","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"352993d0-2c3b-40b1-8fd2-8a7f9966e2dd"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:45:57.4332835Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:45:57.4332835Z"}}' + sample policy","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"6eb2c460-a8dc-4c02-81c6-6e8837130264"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:46:32.9891469Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:46:32.9891469Z"}}' headers: cache-control: - no-cache @@ -90,7 +90,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:45:57 GMT + - Mon, 28 Mar 2022 08:46:33 GMT expires: - '-1' pragma: @@ -106,7 +106,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -128,21 +128,21 @@ interactions: ParameterSetName: - --name --network-group-name --network-manager-name --resource-id -g User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember?api-version=2021-05-01-preview response: body: - string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:45:59.3065046Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:45:59.3065046Z"}}' + string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002","provisioningState":"Updating"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:46:34.8599938Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:46:34.8599938Z"}}' headers: cache-control: - no-cache content-length: - - '815' + - '846' content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:46:00 GMT + - Mon, 28 Mar 2022 08:46:35 GMT expires: - '-1' pragma: @@ -158,7 +158,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1199' status: code: 200 message: OK @@ -182,13 +182,13 @@ interactions: - --configuration-name --network-manager-name -g --description --delete-existing-ns-gs --display-name User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview response: body: string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/securityAdminConfigurations","etag":"","properties":{"displayName":"MyTestConfig","description":"A - sample policy","provisioningState":"Succeeded","resourceGuid":"78fa239e-a688-4fee-959e-ef2787ca1cfa","applyOnNetworkIntentPolicyBasedServices":[]},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:46:01.5202463Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:46:01.5202463Z"}}' + sample policy","provisioningState":"Succeeded","resourceGuid":"ca9ab080-abae-44d1-8145-47d1ac136ef8","applyOnNetworkIntentPolicyBasedServices":[]},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:46:36.7535250Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:46:36.7535250Z"}}' headers: cache-control: - no-cache @@ -197,7 +197,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:46:02 GMT + - Mon, 28 Mar 2022 08:46:36 GMT expires: - '-1' pragma: @@ -213,7 +213,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1199' status: code: 200 message: OK @@ -237,13 +237,13 @@ interactions: - --configuration-name --network-manager-name -g --rule-collection-name --description --display-name --applies-to-groups User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection?api-version=2021-05-01-preview response: body: string: '{"name":"myTestCollection","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections","etag":"","properties":{"displayName":"ASampleCollection","description":"A - sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"241ea4f3-def7-4e22-a910-0bc4d93449a4"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:46:03.3642498Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:46:03.3642498Z"}}' + sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"38955910-ee1e-485e-9152-167a1a75f374"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:46:38.7064976Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:46:38.7064976Z"}}' headers: cache-control: - no-cache @@ -252,7 +252,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:46:03 GMT + - Mon, 28 Mar 2022 08:46:39 GMT expires: - '-1' pragma: @@ -268,7 +268,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 200 message: OK @@ -286,13 +286,13 @@ interactions: ParameterSetName: - -g --configuration-name --network-manager-name --rule-collection-name User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection?api-version=2021-05-01-preview response: body: - string: '{"name":"myTestCollection","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections","etag":"\"0000d77a-0000-3400-0000-6225d45c0000\"","properties":{"displayName":"ASampleCollection","description":"A - sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"241ea4f3-def7-4e22-a910-0bc4d93449a4"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:46:03.3642498Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:46:03.3642498Z"}}' + string: '{"name":"myTestCollection","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections","etag":"\"12000c2c-0000-3400-0000-624175ef0000\"","properties":{"displayName":"ASampleCollection","description":"A + sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"38955910-ee1e-485e-9152-167a1a75f374"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:46:38.7064976Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:46:38.7064976Z"}}' headers: cache-control: - no-cache @@ -301,7 +301,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:46:06 GMT + - Mon, 28 Mar 2022 08:46:42 GMT expires: - '-1' pragma: @@ -333,13 +333,13 @@ interactions: ParameterSetName: - -g --configuration-name --network-manager-name --rule-collection-name --display-name User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection?api-version=2021-05-01-preview response: body: - string: '{"name":"myTestCollection","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections","etag":"\"0000d77a-0000-3400-0000-6225d45c0000\"","properties":{"displayName":"ASampleCollection","description":"A - sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"241ea4f3-def7-4e22-a910-0bc4d93449a4"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:46:03.3642498Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:46:03.3642498Z"}}' + string: '{"name":"myTestCollection","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections","etag":"\"12000c2c-0000-3400-0000-624175ef0000\"","properties":{"displayName":"ASampleCollection","description":"A + sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"38955910-ee1e-485e-9152-167a1a75f374"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:46:38.7064976Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:46:38.7064976Z"}}' headers: cache-control: - no-cache @@ -348,7 +348,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:46:07 GMT + - Mon, 28 Mar 2022 08:46:45 GMT expires: - '-1' pragma: @@ -385,13 +385,13 @@ interactions: ParameterSetName: - -g --configuration-name --network-manager-name --rule-collection-name --display-name User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection?api-version=2021-05-01-preview response: body: string: '{"name":"myTestCollection","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections","etag":"","properties":{"displayName":"ASampleCollection2","description":"A - sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"241ea4f3-def7-4e22-a910-0bc4d93449a4"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:46:03.3642498Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:46:08.6642311Z"}}' + sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"38955910-ee1e-485e-9152-167a1a75f374"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:46:38.7064976Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:46:46.6965922Z"}}' headers: cache-control: - no-cache @@ -400,7 +400,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:46:08 GMT + - Mon, 28 Mar 2022 08:46:47 GMT expires: - '-1' pragma: @@ -416,7 +416,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1199' status: code: 200 message: OK @@ -434,13 +434,13 @@ interactions: ParameterSetName: - -g --configuration-name --network-manager-name User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections?api-version=2021-05-01-preview response: body: - string: '{"nextLink":"","value":[{"name":"myTestCollection","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections","etag":"\"0000d87a-0000-3400-0000-6225d4610000\"","properties":{"displayName":"ASampleCollection2","description":"A - sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"241ea4f3-def7-4e22-a910-0bc4d93449a4"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:46:03.3642498Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:46:08.6642311Z"}}]}' + string: '{"nextLink":"","value":[{"name":"myTestCollection","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections","etag":"\"1200152c-0000-3400-0000-624175f70000\"","properties":{"displayName":"ASampleCollection2","description":"A + sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"38955910-ee1e-485e-9152-167a1a75f374"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:46:38.7064976Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:46:46.6965922Z"}}]}' headers: cache-control: - no-cache @@ -449,7 +449,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:46:10 GMT + - Mon, 28 Mar 2022 08:46:48 GMT expires: - '-1' pragma: @@ -483,7 +483,7 @@ interactions: ParameterSetName: - -g --configuration-name --network-manager-name --rule-collection-name --yes User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection?api-version=2021-05-01-preview response: @@ -495,7 +495,7 @@ interactions: content-length: - '0' date: - - Mon, 07 Mar 2022 09:46:13 GMT + - Mon, 28 Mar 2022 08:46:50 GMT expires: - '-1' pragma: @@ -507,7 +507,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14996' + - '14999' status: code: 200 message: OK @@ -527,7 +527,7 @@ interactions: ParameterSetName: - --configuration-name --network-manager-name -g --force --yes User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview&force=true response: @@ -539,7 +539,7 @@ interactions: content-length: - '0' date: - - Mon, 07 Mar 2022 09:46:14 GMT + - Mon, 28 Mar 2022 08:46:51 GMT expires: - '-1' pragma: @@ -571,7 +571,7 @@ interactions: ParameterSetName: - -g --name --network-manager-name --force --yes User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview&force=true response: @@ -583,7 +583,7 @@ interactions: content-length: - '0' date: - - Mon, 07 Mar 2022 09:46:16 GMT + - Mon, 28 Mar 2022 08:46:52 GMT expires: - '-1' pragma: @@ -595,7 +595,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14997' status: code: 200 message: OK @@ -615,7 +615,7 @@ interactions: ParameterSetName: - --resource-group --name --yes User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: @@ -627,7 +627,7 @@ interactions: content-length: - '0' date: - - Mon, 07 Mar 2022 09:46:22 GMT + - Mon, 28 Mar 2022 08:47:00 GMT expires: - '-1' pragma: @@ -639,7 +639,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14997' + - '14996' status: code: 200 message: OK diff --git a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_admin_rule_crud.yaml b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_admin_rule_crud.yaml index 8e25422133c..04c74984613 100644 --- a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_admin_rule_crud.yaml +++ b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_admin_rule_crud.yaml @@ -21,13 +21,13 @@ interactions: - --name --description --display-name --scope-accesses --network-manager-scopes -l --resource-group User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"","properties":{"displayName":"TestNetworkManager","description":"My - Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"6ad2e227-9c0e-4cbb-8d1d-db222590a713"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:42:49.2067703Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:42:49.2067703Z"}}' + Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"d504f93b-4092-4f1d-af4a-057371044380"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:44:42.9346820Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:44:42.9346820Z"}}' headers: cache-control: - no-cache @@ -36,7 +36,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:42:55 GMT + - Mon, 28 Mar 2022 08:44:47 GMT expires: - '-1' pragma: @@ -75,13 +75,13 @@ interactions: ParameterSetName: - --name --network-manager-name --description --display-name --member-type -g User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"","properties":{"displayName":"ASampleGroup","description":"A - sample policy","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"efcafcc2-0630-44b2-98d2-69c99b257da8"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:42:57.1362102Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:42:57.1362102Z"}}' + sample policy","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"abda8633-b183-443f-b19e-f22a563184ef"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:44:48.4505333Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:44:48.4505333Z"}}' headers: cache-control: - no-cache @@ -90,7 +90,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:42:57 GMT + - Mon, 28 Mar 2022 08:44:48 GMT expires: - '-1' pragma: @@ -106,7 +106,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' status: code: 200 message: OK @@ -128,21 +128,21 @@ interactions: ParameterSetName: - --name --network-group-name --network-manager-name --resource-id -g User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember?api-version=2021-05-01-preview response: body: - string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:42:59.0320115Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:42:59.0320115Z"}}' + string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002","provisioningState":"Updating"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:44:50.0557233Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:44:50.0557233Z"}}' headers: cache-control: - no-cache content-length: - - '793' + - '824' content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:42:59 GMT + - Mon, 28 Mar 2022 08:44:50 GMT expires: - '-1' pragma: @@ -182,13 +182,13 @@ interactions: - --configuration-name --network-manager-name -g --description --delete-existing-ns-gs --display-name User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview response: body: string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/securityAdminConfigurations","etag":"","properties":{"displayName":"MyTestConfig","description":"A - sample policy","provisioningState":"Succeeded","resourceGuid":"e99306b0-0976-4587-8a92-3733abdf35d2","applyOnNetworkIntentPolicyBasedServices":[]},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:43:00.4592693Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:43:00.4592693Z"}}' + sample policy","provisioningState":"Succeeded","resourceGuid":"2fbe4d1a-c1b4-4357-8ab6-7058d621b9dc","applyOnNetworkIntentPolicyBasedServices":[]},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:44:51.8362023Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:44:51.8362023Z"}}' headers: cache-control: - no-cache @@ -197,7 +197,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:43:00 GMT + - Mon, 28 Mar 2022 08:44:52 GMT expires: - '-1' pragma: @@ -237,13 +237,13 @@ interactions: - --configuration-name --network-manager-name -g --rule-collection-name --description --display-name --applies-to-groups User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection?api-version=2021-05-01-preview response: body: string: '{"name":"myTestCollection","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections","etag":"","properties":{"displayName":"ASampleCollection","description":"A - sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"75dbfefd-2373-4fe3-8a47-1b35dc8f4fea"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:43:02.3556656Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:43:02.3556656Z"}}' + sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"bb350069-e601-45f3-aab1-dd5b34f667ab"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:44:53.4650043Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:44:53.4650043Z"}}' headers: cache-control: - no-cache @@ -252,7 +252,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:43:02 GMT + - Mon, 28 Mar 2022 08:44:54 GMT expires: - '-1' pragma: @@ -268,7 +268,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -292,12 +292,12 @@ interactions: - -g --network-manager-name --configuration-name --rule-collection-name --rule-name --kind --protocol --access --priority --direction User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule?api-version=2021-05-01-preview response: body: - string: '{"name":"myRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules","etag":"","properties":{"displayName":"","description":"","flag":"","priority":32,"protocol":"Tcp","direction":"Inbound","access":"Allow","sources":[],"destinations":[],"sourcePortRanges":[],"destinationPortRanges":[],"provisioningState":"Succeeded","resourceGuid":"409c2cb3-0dc4-4c2d-9138-0d10defbf0aa"},"kind":"Custom","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:43:04.1703455Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:43:04.1703455Z"}}' + string: '{"name":"myRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules","etag":"","properties":{"displayName":"","description":"","flag":"","priority":32,"protocol":"Tcp","direction":"Inbound","access":"Allow","sources":[],"destinations":[],"sourcePortRanges":[],"destinationPortRanges":[],"provisioningState":"Succeeded","resourceGuid":"71dc5a46-29ea-414a-b1e8-c4e11284ad36"},"kind":"Custom","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:44:55.0557413Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:44:55.0557413Z"}}' headers: cache-control: - no-cache @@ -306,7 +306,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:43:04 GMT + - Mon, 28 Mar 2022 08:44:54 GMT expires: - '-1' pragma: @@ -322,7 +322,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1197' status: code: 200 message: OK @@ -340,12 +340,12 @@ interactions: ParameterSetName: - -g --network-manager-name --configuration-name --rule-collection-name --rule-name User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule?api-version=2021-05-01-preview response: body: - string: '{"name":"myRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules","etag":"\"0000c87a-0000-3400-0000-6225d3a90000\"","properties":{"displayName":"","description":"","flag":"","priority":32,"protocol":"Tcp","direction":"Inbound","access":"Allow","sources":[],"destinations":[],"sourcePortRanges":[],"destinationPortRanges":[],"provisioningState":"Succeeded","resourceGuid":"409c2cb3-0dc4-4c2d-9138-0d10defbf0aa"},"kind":"Custom","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:43:04.1703455Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:43:04.1703455Z"}}' + string: '{"name":"myRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules","etag":"\"1200ae2b-0000-3400-0000-624175870000\"","properties":{"displayName":"","description":"","flag":"","priority":32,"protocol":"Tcp","direction":"Inbound","access":"Allow","sources":[],"destinations":[],"sourcePortRanges":[],"destinationPortRanges":[],"provisioningState":"Succeeded","resourceGuid":"71dc5a46-29ea-414a-b1e8-c4e11284ad36"},"kind":"Custom","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:44:55.0557413Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:44:55.0557413Z"}}' headers: cache-control: - no-cache @@ -354,7 +354,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:43:06 GMT + - Mon, 28 Mar 2022 08:44:56 GMT expires: - '-1' pragma: @@ -387,12 +387,12 @@ interactions: - -g --network-manager-name --configuration-name --rule-collection-name --rule-name --access User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule?api-version=2021-05-01-preview response: body: - string: '{"name":"myRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules","etag":"\"0000c87a-0000-3400-0000-6225d3a90000\"","properties":{"displayName":"","description":"","flag":"","priority":32,"protocol":"Tcp","direction":"Inbound","access":"Allow","sources":[],"destinations":[],"sourcePortRanges":[],"destinationPortRanges":[],"provisioningState":"Succeeded","resourceGuid":"409c2cb3-0dc4-4c2d-9138-0d10defbf0aa"},"kind":"Custom","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:43:04.1703455Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:43:04.1703455Z"}}' + string: '{"name":"myRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules","etag":"\"1200ae2b-0000-3400-0000-624175870000\"","properties":{"displayName":"","description":"","flag":"","priority":32,"protocol":"Tcp","direction":"Inbound","access":"Allow","sources":[],"destinations":[],"sourcePortRanges":[],"destinationPortRanges":[],"provisioningState":"Succeeded","resourceGuid":"71dc5a46-29ea-414a-b1e8-c4e11284ad36"},"kind":"Custom","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:44:55.0557413Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:44:55.0557413Z"}}' headers: cache-control: - no-cache @@ -401,7 +401,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:43:08 GMT + - Mon, 28 Mar 2022 08:44:59 GMT expires: - '-1' pragma: @@ -441,12 +441,12 @@ interactions: - -g --network-manager-name --configuration-name --rule-collection-name --rule-name --access User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule?api-version=2021-05-01-preview response: body: - string: '{"name":"myRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules","etag":"","properties":{"displayName":"","description":"","flag":"","priority":32,"protocol":"Tcp","direction":"Inbound","access":"Deny","sources":[],"destinations":[],"sourcePortRanges":[],"destinationPortRanges":[],"provisioningState":"Succeeded","resourceGuid":"409c2cb3-0dc4-4c2d-9138-0d10defbf0aa"},"kind":"Custom","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:43:04.1703455Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:43:09.5048486Z"}}' + string: '{"name":"myRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules","etag":"","properties":{"displayName":"","description":"","flag":"","priority":32,"protocol":"Tcp","direction":"Inbound","access":"Deny","sources":[],"destinations":[],"sourcePortRanges":[],"destinationPortRanges":[],"provisioningState":"Succeeded","resourceGuid":"71dc5a46-29ea-414a-b1e8-c4e11284ad36"},"kind":"Custom","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:44:55.0557413Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:45:00.8524973Z"}}' headers: cache-control: - no-cache @@ -455,7 +455,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:43:09 GMT + - Mon, 28 Mar 2022 08:45:01 GMT expires: - '-1' pragma: @@ -471,7 +471,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 200 message: OK @@ -489,12 +489,12 @@ interactions: ParameterSetName: - -g --network-manager-name --configuration-name --rule-collection-name User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules?api-version=2021-05-01-preview response: body: - string: '{"nextLink":"","value":[{"name":"myRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules","etag":"\"0000c97a-0000-3400-0000-6225d3ae0000\"","properties":{"displayName":"","description":"","flag":"","priority":32,"protocol":"Tcp","direction":"Inbound","access":"Deny","sources":[],"destinations":[],"sourcePortRanges":[],"destinationPortRanges":[],"provisioningState":"Succeeded","resourceGuid":"409c2cb3-0dc4-4c2d-9138-0d10defbf0aa"},"kind":"Custom","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:43:04.1703455Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:43:09.5048486Z"}}]}' + string: '{"nextLink":"","value":[{"name":"myRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules","etag":"\"1200b62b-0000-3400-0000-6241758d0000\"","properties":{"displayName":"","description":"","flag":"","priority":32,"protocol":"Tcp","direction":"Inbound","access":"Deny","sources":[],"destinations":[],"sourcePortRanges":[],"destinationPortRanges":[],"provisioningState":"Succeeded","resourceGuid":"71dc5a46-29ea-414a-b1e8-c4e11284ad36"},"kind":"Custom","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:44:55.0557413Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:45:00.8524973Z"}}]}' headers: cache-control: - no-cache @@ -503,7 +503,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:43:11 GMT + - Mon, 28 Mar 2022 08:45:02 GMT expires: - '-1' pragma: @@ -538,7 +538,7 @@ interactions: - -g --network-manager-name --configuration-name --rule-collection-name --rule-name --yes User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule?api-version=2021-05-01-preview response: @@ -550,7 +550,7 @@ interactions: content-length: - '0' date: - - Mon, 07 Mar 2022 09:43:12 GMT + - Mon, 28 Mar 2022 08:45:07 GMT expires: - '-1' pragma: @@ -582,7 +582,7 @@ interactions: ParameterSetName: - --configuration-name --network-manager-name -g --force --yes User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/TestStaticMember?api-version=2021-05-01-preview&force=true response: @@ -592,7 +592,7 @@ interactions: cache-control: - no-cache date: - - Mon, 07 Mar 2022 09:43:14 GMT + - Mon, 28 Mar 2022 08:45:10 GMT expires: - '-1' pragma: @@ -604,7 +604,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14991' + - '14999' status: code: 204 message: No Content @@ -624,7 +624,7 @@ interactions: ParameterSetName: - -g --name --network-manager-name --force --yes User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview&force=true response: @@ -636,7 +636,7 @@ interactions: content-length: - '0' date: - - Mon, 07 Mar 2022 09:43:15 GMT + - Mon, 28 Mar 2022 08:45:12 GMT expires: - '-1' pragma: @@ -668,7 +668,7 @@ interactions: ParameterSetName: - --resource-group --name --yes User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: @@ -680,7 +680,7 @@ interactions: content-length: - '0' date: - - Mon, 07 Mar 2022 09:43:23 GMT + - Mon, 28 Mar 2022 08:45:18 GMT expires: - '-1' pragma: diff --git a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_connect_config_crud.yaml b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_connect_config_crud.yaml index d43280e2b06..f8a69117315 100644 --- a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_connect_config_crud.yaml +++ b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_connect_config_crud.yaml @@ -21,13 +21,13 @@ interactions: - --name --description --display-name --scope-accesses --network-manager-scopes -l --resource-group User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"","properties":{"displayName":"TestNetworkManager","description":"My - Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"c0170de8-34ea-4f82-b1cb-159c1adf3077"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:47:52.9731831Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:47:52.9731831Z"}}' + Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"b2768982-66f9-4c2c-b493-fb3b140b172a"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:52:41.1832920Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:52:41.1832920Z"}}' headers: cache-control: - no-cache @@ -36,7 +36,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:47:58 GMT + - Mon, 28 Mar 2022 08:52:46 GMT expires: - '-1' pragma: @@ -52,7 +52,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1196' status: code: 200 message: OK @@ -75,13 +75,13 @@ interactions: ParameterSetName: - --name --network-manager-name --description --display-name --member-type -g User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"","properties":{"displayName":"ASampleGroup","description":"A - sample policy","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"9561e275-5f09-42ed-8df7-3b778114b126"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:47:59.1562176Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:47:59.1562176Z"}}' + sample policy","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"cf0b400a-7386-40f9-9bf8-d13270c40392"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:52:47.8773637Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:52:47.8773637Z"}}' headers: cache-control: - no-cache @@ -90,7 +90,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:48:00 GMT + - Mon, 28 Mar 2022 08:52:48 GMT expires: - '-1' pragma: @@ -106,7 +106,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1199' status: code: 200 message: OK @@ -128,21 +128,21 @@ interactions: ParameterSetName: - --name --network-group-name --network-manager-name --resource-id -g User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember?api-version=2021-05-01-preview response: body: - string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:48:01.0797604Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:48:01.0797604Z"}}' + string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002","provisioningState":"Updating"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:52:49.5569231Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:52:49.5569231Z"}}' headers: cache-control: - no-cache content-length: - - '801' + - '832' content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:48:01 GMT + - Mon, 28 Mar 2022 08:52:50 GMT expires: - '-1' pragma: @@ -158,7 +158,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 200 message: OK @@ -186,13 +186,13 @@ interactions: - --configuration-name --network-manager-name -g --applies-to-groups --connectivity-topology --delete-existing-peering --hubs --description --is-global User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview response: body: string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/connectivityConfigurations","etag":"","properties":{"displayName":"","description":"Sample - Configuration","connectivityTopology":"HubAndSpoke","hubs":[{"resourceType":"Microsoft.Network/virtualNetworks","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","groupConnectivity":"None","useHubGateway":"True","isGlobal":"False"}],"provisioningState":"Succeeded","deleteExistingPeering":"True","isGlobal":"True","resourceGuid":"eacdacaa-4471-4d1e-935f-d1c0a7418cb7"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:48:03.0672393Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:48:03.0672393Z"}}' + Configuration","connectivityTopology":"HubAndSpoke","hubs":[{"resourceType":"Microsoft.Network/virtualNetworks","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","groupConnectivity":"None","useHubGateway":"True","isGlobal":"False"}],"provisioningState":"Succeeded","deleteExistingPeering":"True","isGlobal":"True","resourceGuid":"db8e6480-666d-4341-bd57-a521df68f36c"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:52:51.3800607Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:52:51.3800607Z"}}' headers: cache-control: - no-cache @@ -201,7 +201,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:48:03 GMT + - Mon, 28 Mar 2022 08:52:52 GMT expires: - '-1' pragma: @@ -217,7 +217,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 200 message: OK @@ -235,13 +235,13 @@ interactions: ParameterSetName: - --configuration-name --network-manager-name -g User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview response: body: - string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/connectivityConfigurations","etag":"\"0000e17a-0000-3400-0000-6225d4d30000\"","properties":{"displayName":"","description":"Sample - Configuration","connectivityTopology":"HubAndSpoke","hubs":[{"resourceType":"Microsoft.Network/virtualNetworks","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","groupConnectivity":"None","useHubGateway":"True","isGlobal":"False"}],"provisioningState":"Succeeded","deleteExistingPeering":"True","isGlobal":"True","resourceGuid":"eacdacaa-4471-4d1e-935f-d1c0a7418cb7"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:48:03.0672393Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:48:03.0672393Z"}}' + string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/connectivityConfigurations","etag":"\"1200512d-0000-3400-0000-624177640000\"","properties":{"displayName":"","description":"Sample + Configuration","connectivityTopology":"HubAndSpoke","hubs":[{"resourceType":"Microsoft.Network/virtualNetworks","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","groupConnectivity":"None","useHubGateway":"True","isGlobal":"False"}],"provisioningState":"Succeeded","deleteExistingPeering":"True","isGlobal":"True","resourceGuid":"db8e6480-666d-4341-bd57-a521df68f36c"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:52:51.3800607Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:52:51.3800607Z"}}' headers: cache-control: - no-cache @@ -250,7 +250,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:48:05 GMT + - Mon, 28 Mar 2022 08:52:53 GMT expires: - '-1' pragma: @@ -282,13 +282,13 @@ interactions: ParameterSetName: - --configuration-name --network-manager-name -g User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview response: body: - string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/connectivityConfigurations","etag":"\"0000e17a-0000-3400-0000-6225d4d30000\"","properties":{"displayName":"","description":"Sample - Configuration","connectivityTopology":"HubAndSpoke","hubs":[{"resourceType":"Microsoft.Network/virtualNetworks","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","groupConnectivity":"None","useHubGateway":"True","isGlobal":"False"}],"provisioningState":"Succeeded","deleteExistingPeering":"True","isGlobal":"True","resourceGuid":"eacdacaa-4471-4d1e-935f-d1c0a7418cb7"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:48:03.0672393Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:48:03.0672393Z"}}' + string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/connectivityConfigurations","etag":"\"1200512d-0000-3400-0000-624177640000\"","properties":{"displayName":"","description":"Sample + Configuration","connectivityTopology":"HubAndSpoke","hubs":[{"resourceType":"Microsoft.Network/virtualNetworks","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","groupConnectivity":"None","useHubGateway":"True","isGlobal":"False"}],"provisioningState":"Succeeded","deleteExistingPeering":"True","isGlobal":"True","resourceGuid":"db8e6480-666d-4341-bd57-a521df68f36c"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:52:51.3800607Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:52:51.3800607Z"}}' headers: cache-control: - no-cache @@ -297,7 +297,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:48:07 GMT + - Mon, 28 Mar 2022 08:52:55 GMT expires: - '-1' pragma: @@ -338,13 +338,13 @@ interactions: ParameterSetName: - --configuration-name --network-manager-name -g User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview response: body: string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/connectivityConfigurations","etag":"","properties":{"displayName":"","description":"Sample - Configuration","connectivityTopology":"HubAndSpoke","hubs":[{"resourceType":"Microsoft.Network/virtualNetworks","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","groupConnectivity":"None","useHubGateway":"True","isGlobal":"False"}],"provisioningState":"Succeeded","deleteExistingPeering":"True","isGlobal":"True","resourceGuid":"eacdacaa-4471-4d1e-935f-d1c0a7418cb7"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:48:03.0672393Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:48:08.4215097Z"}}' + Configuration","connectivityTopology":"HubAndSpoke","hubs":[{"resourceType":"Microsoft.Network/virtualNetworks","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","groupConnectivity":"None","useHubGateway":"True","isGlobal":"False"}],"provisioningState":"Succeeded","deleteExistingPeering":"True","isGlobal":"True","resourceGuid":"db8e6480-666d-4341-bd57-a521df68f36c"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:52:51.3800607Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:52:56.2551468Z"}}' headers: cache-control: - no-cache @@ -353,7 +353,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:48:09 GMT + - Mon, 28 Mar 2022 08:52:56 GMT expires: - '-1' pragma: @@ -369,7 +369,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1197' status: code: 200 message: OK @@ -387,13 +387,13 @@ interactions: ParameterSetName: - --network-manager-name -g User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations?api-version=2021-05-01-preview response: body: - string: '{"nextLink":"","value":[{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/connectivityConfigurations","etag":"\"0000e27a-0000-3400-0000-6225d4d90000\"","properties":{"displayName":"","description":"Sample - Configuration","connectivityTopology":"HubAndSpoke","hubs":[{"resourceType":"Microsoft.Network/virtualNetworks","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","groupConnectivity":"None","useHubGateway":"True","isGlobal":"False"}],"provisioningState":"Succeeded","deleteExistingPeering":"True","isGlobal":"True","resourceGuid":"eacdacaa-4471-4d1e-935f-d1c0a7418cb7"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:48:03.0672393Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:48:08.4215097Z"}}]}' + string: '{"nextLink":"","value":[{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/connectivityConfigurations","etag":"\"1200572d-0000-3400-0000-624177680000\"","properties":{"displayName":"","description":"Sample + Configuration","connectivityTopology":"HubAndSpoke","hubs":[{"resourceType":"Microsoft.Network/virtualNetworks","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","groupConnectivity":"None","useHubGateway":"True","isGlobal":"False"}],"provisioningState":"Succeeded","deleteExistingPeering":"True","isGlobal":"True","resourceGuid":"db8e6480-666d-4341-bd57-a521df68f36c"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:52:51.3800607Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:52:56.2551468Z"}}]}' headers: cache-control: - no-cache @@ -402,7 +402,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 09:48:10 GMT + - Mon, 28 Mar 2022 08:52:58 GMT expires: - '-1' pragma: @@ -436,7 +436,7 @@ interactions: ParameterSetName: - --configuration-name --network-manager-name -g --yes User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview response: @@ -448,7 +448,7 @@ interactions: content-length: - '0' date: - - Mon, 07 Mar 2022 09:48:12 GMT + - Mon, 28 Mar 2022 08:53:00 GMT expires: - '-1' pragma: @@ -480,7 +480,7 @@ interactions: ParameterSetName: - -g --name --network-manager-name --force --yes User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview&force=true response: @@ -492,7 +492,7 @@ interactions: content-length: - '0' date: - - Mon, 07 Mar 2022 09:48:13 GMT + - Mon, 28 Mar 2022 08:53:01 GMT expires: - '-1' pragma: @@ -524,7 +524,7 @@ interactions: ParameterSetName: - --resource-group --name --yes User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: @@ -536,7 +536,7 @@ interactions: content-length: - '0' date: - - Mon, 07 Mar 2022 09:48:19 GMT + - Mon, 28 Mar 2022 08:53:08 GMT expires: - '-1' pragma: @@ -548,7 +548,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14997' + - '14999' status: code: 200 message: OK diff --git a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_group_crud.yaml b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_group_crud.yaml index 5b8d4b23aef..7a21e1be88e 100644 --- a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_group_crud.yaml +++ b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_group_crud.yaml @@ -21,13 +21,13 @@ interactions: - --name --description --display-name --scope-accesses --network-manager-scopes -l --resource-group User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"","properties":{"displayName":"TestNetworkManager","description":"My - Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["Connectivity"],"resourceGuid":"c9aa8da7-596b-4650-abb7-2ed34ec46229"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:01:52.5044074Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:01:52.5044074Z"}}' + Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["Connectivity"],"resourceGuid":"0e843abc-6418-4996-98be-732bc1a135d6"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:40:30.4842661Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:40:30.4842661Z"}}' headers: cache-control: - no-cache @@ -36,7 +36,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 08 Mar 2022 02:01:57 GMT + - Mon, 28 Mar 2022 08:40:36 GMT expires: - '-1' pragma: @@ -75,13 +75,13 @@ interactions: ParameterSetName: - --name --network-manager-name --description --display-name --member-type -g User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"","properties":{"displayName":"MyNetworkGroup","description":"A - sample group","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"dac82a3c-1da0-4e3c-b5e6-76ff4b886231"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:01:59.2970505Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:01:59.2970505Z"}}' + sample group","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"c0b2e1cb-8d87-4a4f-a9ff-1a8972836034"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:40:37.2902216Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:40:37.2902216Z"}}' headers: cache-control: - no-cache @@ -90,7 +90,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 08 Mar 2022 02:01:59 GMT + - Mon, 28 Mar 2022 08:40:38 GMT expires: - '-1' pragma: @@ -106,7 +106,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -124,13 +124,13 @@ interactions: ParameterSetName: - -g --name --network-manager-name --description User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview response: body: - string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"\"00005086-0000-3400-0000-6226b9180000\"","properties":{"displayName":"MyNetworkGroup","description":"A - sample group","provisioningState":"Succeeded","resourceGuid":"dac82a3c-1da0-4e3c-b5e6-76ff4b886231"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:01:59.2970505Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:01:59.2970505Z"}}' + string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"\"1200d42a-0000-3400-0000-624174870000\"","properties":{"displayName":"MyNetworkGroup","description":"A + sample group","provisioningState":"Succeeded","resourceGuid":"c0b2e1cb-8d87-4a4f-a9ff-1a8972836034"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:40:37.2902216Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:40:37.2902216Z"}}' headers: cache-control: - no-cache @@ -139,7 +139,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 08 Mar 2022 02:02:01 GMT + - Mon, 28 Mar 2022 08:40:40 GMT expires: - '-1' pragma: @@ -175,13 +175,13 @@ interactions: ParameterSetName: - -g --name --network-manager-name --description User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"","properties":{"displayName":"MyNetworkGroup","description":"Desc - changed.","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"dac82a3c-1da0-4e3c-b5e6-76ff4b886231"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:01:59.2970505Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:02:03.0831419Z"}}' + changed.","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"c0b2e1cb-8d87-4a4f-a9ff-1a8972836034"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:40:37.2902216Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:40:42.0746638Z"}}' headers: cache-control: - no-cache @@ -190,7 +190,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 08 Mar 2022 02:02:03 GMT + - Mon, 28 Mar 2022 08:40:42 GMT expires: - '-1' pragma: @@ -206,7 +206,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 200 message: OK @@ -224,13 +224,13 @@ interactions: ParameterSetName: - -g --name --network-manager-name User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview response: body: - string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"\"00005186-0000-3400-0000-6226b91b0000\"","properties":{"displayName":"MyNetworkGroup","description":"Desc - changed.","provisioningState":"Succeeded","resourceGuid":"dac82a3c-1da0-4e3c-b5e6-76ff4b886231"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:01:59.2970505Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:02:03.0831419Z"}}' + string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"\"1200d92a-0000-3400-0000-6241748a0000\"","properties":{"displayName":"MyNetworkGroup","description":"Desc + changed.","provisioningState":"Succeeded","resourceGuid":"c0b2e1cb-8d87-4a4f-a9ff-1a8972836034"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:40:37.2902216Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:40:42.0746638Z"}}' headers: cache-control: - no-cache @@ -239,7 +239,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 08 Mar 2022 02:02:07 GMT + - Mon, 28 Mar 2022 08:40:44 GMT expires: - '-1' pragma: @@ -271,13 +271,13 @@ interactions: ParameterSetName: - -g --network-manager-name User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups?api-version=2021-05-01-preview response: body: string: '{"nextLink":"","value":[{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"","properties":{"displayName":"MyNetworkGroup","description":"Desc - changed.","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"dac82a3c-1da0-4e3c-b5e6-76ff4b886231"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:01:59.2970505Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:02:03.0831419Z"}}]}' + changed.","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"c0b2e1cb-8d87-4a4f-a9ff-1a8972836034"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:40:37.2902216Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:40:42.0746638Z"}}]}' headers: cache-control: - no-cache @@ -286,7 +286,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 08 Mar 2022 02:02:08 GMT + - Mon, 28 Mar 2022 08:40:47 GMT expires: - '-1' pragma: @@ -320,7 +320,7 @@ interactions: ParameterSetName: - -g --name --network-manager-name --force --yes User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview&force=true response: @@ -332,7 +332,7 @@ interactions: content-length: - '0' date: - - Tue, 08 Mar 2022 02:02:09 GMT + - Mon, 28 Mar 2022 08:40:50 GMT expires: - '-1' pragma: @@ -364,7 +364,7 @@ interactions: ParameterSetName: - --resource-group --name --yes User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: @@ -376,7 +376,7 @@ interactions: content-length: - '0' date: - - Tue, 08 Mar 2022 02:02:18 GMT + - Mon, 28 Mar 2022 08:40:57 GMT expires: - '-1' pragma: diff --git a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_list_queries.yaml b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_list_queries.yaml index 30e30a74a6e..1c05eaf7216 100644 --- a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_list_queries.yaml +++ b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_list_queries.yaml @@ -21,13 +21,13 @@ interactions: - --name --description --display-name --scope-accesses --network-manager-scopes -l --resource-group User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"","properties":{"displayName":"TestNetworkManager","description":"My - Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"60d0db6a-93b0-4453-b510-68aa9aa4db5f"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T10:40:09.6417283Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T10:40:09.6417283Z"}}' + Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"643c4d9e-438d-4822-a5d1-9bf9c5870531"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:54:15.2702379Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:54:15.2702379Z"}}' headers: cache-control: - no-cache @@ -36,7 +36,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 10:40:14 GMT + - Mon, 28 Mar 2022 08:54:19 GMT expires: - '-1' pragma: @@ -52,7 +52,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 200 message: OK @@ -75,13 +75,13 @@ interactions: ParameterSetName: - --name --network-manager-name --description --display-name --member-type -g User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"","properties":{"displayName":"ASampleGroup","description":"A - sample policy","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"aac286eb-13b4-4d8a-a0a5-235e0f2b3d45"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T10:40:15.6472382Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T10:40:15.6472382Z"}}' + sample policy","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"92f01fa4-231c-4013-9093-e4494031cf8f"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:54:21.1336021Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:54:21.1336021Z"}}' headers: cache-control: - no-cache @@ -90,7 +90,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 10:40:16 GMT + - Mon, 28 Mar 2022 08:54:21 GMT expires: - '-1' pragma: @@ -106,7 +106,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 200 message: OK @@ -128,21 +128,21 @@ interactions: ParameterSetName: - --name --network-group-name --network-manager-name --resource-id -g User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember?api-version=2021-05-01-preview response: body: - string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T10:40:17.6337176Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T10:40:17.6337176Z"}}' + string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002","provisioningState":"Updating"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:54:22.8309508Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:54:22.8309508Z"}}' headers: cache-control: - no-cache content-length: - - '787' + - '818' content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 10:40:18 GMT + - Mon, 28 Mar 2022 08:54:23 GMT expires: - '-1' pragma: @@ -158,7 +158,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 200 message: OK @@ -180,7 +180,7 @@ interactions: ParameterSetName: - --network-manager-name --deployment-types --regions --resource-group User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/listDeploymentStatus?api-version=2021-05-01-preview response: @@ -194,7 +194,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 10:40:20 GMT + - Mon, 28 Mar 2022 08:54:24 GMT expires: - '-1' pragma: @@ -232,21 +232,21 @@ interactions: ParameterSetName: - --network-group-name --network-manager-name --resource-group User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/listEffectiveVirtualNetworks?api-version=2021-05-01-preview response: body: - string: '{"skipToken":"MTA=","value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bez-rg/providers/Microsoft.Network/virtualNetworks/bezvnet","location":"westus","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_netappfiles_test_snapshot_vpshzlob7c63iuglneagoxjxa45dqn6eoglhf37oo5cms/providers/Microsoft.Network/virtualNetworks/cli-vnet-lefr-02","location":"westus2","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cannotdelete_resource_lockbfuaftaa7m4m77urywe56rs3yfr4sr3ybmrsclix/providers/Microsoft.Network/virtualNetworks/cli.lock.rsrchikdj2r5lezlez4w6","location":"westus","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_capacity_reservation_3tlf6fnaho6xh2k67p5k2gzrdwsz6shx7wiovzaqqgrv6/providers/Microsoft.Network/virtualNetworks/vme2gol3cqVNET","location":"centraluseuap","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_capacity_reservation_3ye3fknhdgsj3emasgvno7ha6pbu7kl7u7zfgrkrqvxfy/providers/Microsoft.Network/virtualNetworks/vmymwxa64iVNET","location":"centraluseuap","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_capacity_reservation_a2bft34ibubuugccpmc6c4zuixspwci77rpr6brqyr5jb/providers/Microsoft.Network/virtualNetworks/vmqvhbocfjVNET","location":"centraluseuap","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_capacity_reservation_aorgdxvqiasmoxu6rnetf22jmzhqns5aousc7zygvltqg/providers/Microsoft.Network/virtualNetworks/vmrvrfjdlmVNET","location":"centraluseuap","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_capacity_reservation_aymyxfviyz6aokyxy3cedxjplbojtxqgwnuiwcgfgkq5o/providers/Microsoft.Network/virtualNetworks/vmzrx5qdb3VNET","location":"centraluseuap","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_capacity_reservation_ctb5edywpqrnmw6fyhfp6db2kg6cl2yynycdrwl6uwqs5/providers/Microsoft.Network/virtualNetworks/vmqwnatidzVNET","location":"centraluseuap","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_capacity_reservation_dfv7ckxck7r52gyblbxd5vcipcs7izfdjgx25d7iygamg/providers/Microsoft.Network/virtualNetworks/vmwgtm6ebaVNET","location":"centraluseuap","membershipType":"Dynamic"}]}' + string: '{"skipToken":"MTA=","value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bez-rg/providers/Microsoft.Network/virtualNetworks/bez-vm","location":"westus2","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bez-rg/providers/Microsoft.Network/virtualNetworks/bezvnet","location":"westus","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bez-rg/providers/Microsoft.Network/virtualNetworks/thisvm","location":"westus2","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_netappfiles_test_snapshot_vpshzlob7c63iuglneagoxjxa45dqn6eoglhf37oo5cms/providers/Microsoft.Network/virtualNetworks/cli-vnet-lefr-02","location":"westus2","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cannotdelete_resource_lockbfuaftaa7m4m77urywe56rs3yfr4sr3ybmrsclix/providers/Microsoft.Network/virtualNetworks/cli.lock.rsrchikdj2r5lezlez4w6","location":"westus","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_capacity_reservation_3tlf6fnaho6xh2k67p5k2gzrdwsz6shx7wiovzaqqgrv6/providers/Microsoft.Network/virtualNetworks/vme2gol3cqVNET","location":"centraluseuap","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_capacity_reservation_3ye3fknhdgsj3emasgvno7ha6pbu7kl7u7zfgrkrqvxfy/providers/Microsoft.Network/virtualNetworks/vmymwxa64iVNET","location":"centraluseuap","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_capacity_reservation_a2bft34ibubuugccpmc6c4zuixspwci77rpr6brqyr5jb/providers/Microsoft.Network/virtualNetworks/vmqvhbocfjVNET","location":"centraluseuap","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_capacity_reservation_aorgdxvqiasmoxu6rnetf22jmzhqns5aousc7zygvltqg/providers/Microsoft.Network/virtualNetworks/vmrvrfjdlmVNET","location":"centraluseuap","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_capacity_reservation_aymyxfviyz6aokyxy3cedxjplbojtxqgwnuiwcgfgkq5o/providers/Microsoft.Network/virtualNetworks/vmzrx5qdb3VNET","location":"centraluseuap","membershipType":"Dynamic"}]}' headers: cache-control: - no-cache content-length: - - '2602' + - '2436' content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 10:40:22 GMT + - Mon, 28 Mar 2022 08:54:27 GMT expires: - '-1' pragma: @@ -284,7 +284,7 @@ interactions: ParameterSetName: - --network-manager-name --resource-group User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/listEffectiveVirtualNetworks?api-version=2021-05-01-preview response: @@ -298,7 +298,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 10:40:24 GMT + - Mon, 28 Mar 2022 08:54:29 GMT expires: - '-1' pragma: @@ -336,7 +336,7 @@ interactions: ParameterSetName: - --network-manager-name --resource-group --regions User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/listActiveConnectivityConfigurations?api-version=2021-05-01-preview response: @@ -350,7 +350,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 10:40:26 GMT + - Mon, 28 Mar 2022 08:54:29 GMT expires: - '-1' pragma: @@ -388,7 +388,7 @@ interactions: ParameterSetName: - --virtual-network-name -g User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/virtualNetworks/clitest.vn000002/listNetworkManagerEffectiveConnectivityConfigurations?api-version=2021-05-01-preview response: @@ -402,7 +402,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 10:40:28 GMT + - Mon, 28 Mar 2022 08:54:31 GMT expires: - '-1' pragma: @@ -418,7 +418,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -440,7 +440,7 @@ interactions: ParameterSetName: - --virtual-network-name -g User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/virtualNetworks/clitest.vn000002/listNetworkManagerEffectiveSecurityAdminRules?api-version=2021-05-01-preview response: @@ -454,7 +454,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 10:40:30 GMT + - Mon, 28 Mar 2022 08:54:32 GMT expires: - '-1' pragma: @@ -492,7 +492,7 @@ interactions: ParameterSetName: - --network-manager-name -g --regions User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/listActiveSecurityAdminRules?api-version=2021-05-01-preview response: @@ -506,7 +506,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 07 Mar 2022 10:40:32 GMT + - Mon, 28 Mar 2022 08:54:34 GMT expires: - '-1' pragma: @@ -522,7 +522,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -542,7 +542,7 @@ interactions: ParameterSetName: - -g --name --network-manager-name --force --yes User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview&force=true response: @@ -554,7 +554,7 @@ interactions: content-length: - '0' date: - - Mon, 07 Mar 2022 10:40:33 GMT + - Mon, 28 Mar 2022 08:54:35 GMT expires: - '-1' pragma: @@ -566,7 +566,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14996' + - '14999' status: code: 200 message: OK @@ -586,7 +586,7 @@ interactions: ParameterSetName: - --resource-group --name --yes User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: @@ -598,7 +598,7 @@ interactions: content-length: - '0' date: - - Mon, 07 Mar 2022 10:40:39 GMT + - Mon, 28 Mar 2022 08:54:41 GMT expires: - '-1' pragma: diff --git a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_security_admin_config_v2.yaml b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_security_admin_config_v2.yaml new file mode 100644 index 00000000000..2a83d0d589e --- /dev/null +++ b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_security_admin_config_v2.yaml @@ -0,0 +1,395 @@ +interactions: +- request: + body: '{"location": "eastus2euap", "properties": {"displayName": "TestNetworkManager", + "description": "My Test Network Manager", "networkManagerScopes": {"subscriptions": + ["/subscriptions/00000000-0000-0000-0000-000000000000"]}, "networkManagerScopeAccesses": + ["SecurityAdmin", "Connectivity"]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager create + Connection: + - keep-alive + Content-Length: + - '288' + Content-Type: + - application/json + ParameterSetName: + - --name --description --display-name --scope-accesses --network-manager-scopes + -l --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config_v2000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview + response: + body: + string: '{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config_v2000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"","properties":{"displayName":"TestNetworkManager","description":"My + Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"b2216f3a-0a39-4ea5-b27e-53e13f329636"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T07:04:41.8189799Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T07:04:41.8189799Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '929' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 28 Mar 2022 07:04:46 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: '{"properties": {"displayName": "MyTestConfig", "description": "A sample + policy", "applyOnNetworkIntentPolicyBasedServices": ["None"], "deleteExistingNSGs": + "True"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager security-admin-config create + Connection: + - keep-alive + Content-Length: + - '164' + Content-Type: + - application/json + ParameterSetName: + - --configuration-name --network-manager-name -g --description --delete-existing-ns-gs + --display-name --apply-on + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config_v2000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview + response: + body: + string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config_v2000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/securityAdminConfigurations","etag":"","properties":{"displayName":"MyTestConfig","description":"A + sample policy","provisioningState":"Succeeded","resourceGuid":"94937611-f298-4a2c-9e6b-bf3c9203c599","applyOnNetworkIntentPolicyBasedServices":["None"]},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T07:04:47.4896864Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T07:04:47.4896864Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '805' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 28 Mar 2022 07:04:48 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: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager security-admin-config update + Connection: + - keep-alive + ParameterSetName: + - --configuration-name --network-manager-name -g --description --apply-on + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config_v2000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview + response: + body: + string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config_v2000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/securityAdminConfigurations","etag":"\"12009617-0000-3400-0000-62415e100000\"","properties":{"displayName":"MyTestConfig","description":"A + sample policy","provisioningState":"Succeeded","resourceGuid":"94937611-f298-4a2c-9e6b-bf3c9203c599","applyOnNetworkIntentPolicyBasedServices":["None"]},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T07:04:47.4896864Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T07:04:47.4896864Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '845' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 28 Mar 2022 07:04:51 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: '{"properties": {"displayName": "MyTestConfig", "description": "test_description", + "applyOnNetworkIntentPolicyBasedServices": ["None"]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager security-admin-config update + Connection: + - keep-alive + Content-Length: + - '135' + Content-Type: + - application/json + ParameterSetName: + - --configuration-name --network-manager-name -g --description --apply-on + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config_v2000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview + response: + body: + string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config_v2000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/securityAdminConfigurations","etag":"","properties":{"displayName":"MyTestConfig","description":"test_description","provisioningState":"Succeeded","resourceGuid":"94937611-f298-4a2c-9e6b-bf3c9203c599","applyOnNetworkIntentPolicyBasedServices":["None"]},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T07:04:47.4896864Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T07:04:52.1315191Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '806' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 28 Mar 2022 07:04:52 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: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager security-admin-config list + Connection: + - keep-alive + ParameterSetName: + - --network-manager-name -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config_v2000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations?api-version=2021-05-01-preview + response: + body: + string: '{"nextLink":"","value":[{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config_v2000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/securityAdminConfigurations","etag":"\"12009d17-0000-3400-0000-62415e140000\"","properties":{"displayName":"MyTestConfig","description":"test_description","provisioningState":"Succeeded","resourceGuid":"94937611-f298-4a2c-9e6b-bf3c9203c599","applyOnNetworkIntentPolicyBasedServices":["None"]},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T07:04:47.4896864Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T07:04:52.1315191Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '872' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 28 Mar 2022 07:04:54 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: + - network manager security-admin-config show + Connection: + - keep-alive + ParameterSetName: + - --configuration-name --network-manager-name -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config_v2000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview + response: + body: + string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config_v2000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/securityAdminConfigurations","etag":"\"12009d17-0000-3400-0000-62415e140000\"","properties":{"displayName":"MyTestConfig","description":"test_description","provisioningState":"Succeeded","resourceGuid":"94937611-f298-4a2c-9e6b-bf3c9203c599","applyOnNetworkIntentPolicyBasedServices":["None"]},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T07:04:47.4896864Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T07:04:52.1315191Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '846' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 28 Mar 2022 07:04:55 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: + - network manager security-admin-config delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --configuration-name --network-manager-name -g --force --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config_v2000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview&force=true + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 28 Mar 2022 07:04:58 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: + - network manager delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config_v2000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 28 Mar 2022 07:05:05 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 +version: 1 diff --git a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_static_member_crud.yaml b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_static_member_crud.yaml index d61ace6515a..60d1410fa26 100644 --- a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_static_member_crud.yaml +++ b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_static_member_crud.yaml @@ -21,13 +21,13 @@ interactions: - --name --description --display-name --scope-accesses --network-manager-scopes -l --resource-group User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"","properties":{"displayName":"TestNetworkManager","description":"My - Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["Connectivity"],"resourceGuid":"f2f60508-67e3-4f64-b8f0-1437e40e8363"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:04:07.0272378Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:04:07.0272378Z"}}' + Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["Connectivity"],"resourceGuid":"e16825f1-f194-40e0-acf3-44424f166e50"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:42:36.0785614Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:42:36.0785614Z"}}' headers: cache-control: - no-cache @@ -36,7 +36,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 08 Mar 2022 02:04:11 GMT + - Mon, 28 Mar 2022 08:42:40 GMT expires: - '-1' pragma: @@ -75,13 +75,13 @@ interactions: ParameterSetName: - --name --network-manager-name --description --display-name --member-type -g User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"","properties":{"displayName":"MyNetworkGroup","description":"A - sample group","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"b74ef60c-ff18-4e6b-9fab-b7667f5e3b0c"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:04:12.5537611Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:04:12.5537611Z"}}' + sample group","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"960c54b7-cd67-4d39-9aa2-f17e01f0a0fc"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:42:41.9297897Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:42:41.9297897Z"}}' headers: cache-control: - no-cache @@ -90,7 +90,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 08 Mar 2022 02:04:14 GMT + - Mon, 28 Mar 2022 08:42:42 GMT expires: - '-1' pragma: @@ -128,21 +128,21 @@ interactions: ParameterSetName: - --name --network-group-name --network-manager-name --resource-id -g User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember?api-version=2021-05-01-preview response: body: - string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:04:15.7028252Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:04:15.7028252Z"}}' + string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002","provisioningState":"Updating"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:42:43.7737521Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:42:43.7737521Z"}}' headers: cache-control: - no-cache content-length: - - '789' + - '820' content-type: - application/json; charset=utf-8 date: - - Tue, 08 Mar 2022 02:04:16 GMT + - Mon, 28 Mar 2022 08:42:45 GMT expires: - '-1' pragma: @@ -158,7 +158,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' status: code: 200 message: OK @@ -176,21 +176,21 @@ interactions: ParameterSetName: - -g --name --network-group-name --network-manager-name --resource-id User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember?api-version=2021-05-01-preview response: body: - string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"\"00006b86-0000-3400-0000-6226b9a00000\"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:04:15.7028252Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:04:15.7028252Z"}}' + string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"\"1200432b-0000-3400-0000-624175050000\"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002","provisioningState":"Updating"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:42:43.7737521Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:42:43.7737521Z"}}' headers: cache-control: - no-cache content-length: - - '829' + - '860' content-type: - application/json; charset=utf-8 date: - - Tue, 08 Mar 2022 02:04:17 GMT + - Mon, 28 Mar 2022 08:42:47 GMT expires: - '-1' pragma: @@ -226,21 +226,21 @@ interactions: ParameterSetName: - -g --name --network-group-name --network-manager-name --resource-id User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember?api-version=2021-05-01-preview response: body: - string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:04:15.7028252Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:04:19.3966048Z"}}' + string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002","provisioningState":"Updating"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:42:43.7737521Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:42:48.9168299Z"}}' headers: cache-control: - no-cache content-length: - - '789' + - '820' content-type: - application/json; charset=utf-8 date: - - Tue, 08 Mar 2022 02:04:19 GMT + - Mon, 28 Mar 2022 08:42:50 GMT expires: - '-1' pragma: @@ -256,7 +256,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -274,21 +274,21 @@ interactions: ParameterSetName: - -g --name --network-group-name --network-manager-name User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember?api-version=2021-05-01-preview response: body: - string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"\"00006e86-0000-3400-0000-6226b9a60000\"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:04:15.7028252Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:04:19.3966048Z"}}' + string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"\"12004b2b-0000-3400-0000-6241750a0000\"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002","provisioningState":"Updating"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:42:43.7737521Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:42:48.9168299Z"}}' headers: cache-control: - no-cache content-length: - - '829' + - '860' content-type: - application/json; charset=utf-8 date: - - Tue, 08 Mar 2022 02:04:21 GMT + - Mon, 28 Mar 2022 08:42:52 GMT expires: - '-1' pragma: @@ -320,21 +320,21 @@ interactions: ParameterSetName: - -g --network-group-name --network-manager-name User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers?api-version=2021-05-01-preview response: body: - string: '{"nextLink":"","value":[{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:04:15.7028252Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:04:19.3966048Z"}}]}' + string: '{"nextLink":"","value":[{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002","provisioningState":"Updating"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-28T08:42:43.7737521Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-28T08:42:48.9168299Z"}}]}' headers: cache-control: - no-cache content-length: - - '815' + - '846' content-type: - application/json; charset=utf-8 date: - - Tue, 08 Mar 2022 02:04:23 GMT + - Mon, 28 Mar 2022 08:42:53 GMT expires: - '-1' pragma: @@ -368,7 +368,7 @@ interactions: ParameterSetName: - -g --name --network-group-name --network-manager-name --yes User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember?api-version=2021-05-01-preview response: @@ -380,7 +380,7 @@ interactions: content-length: - '0' date: - - Tue, 08 Mar 2022 02:04:25 GMT + - Mon, 28 Mar 2022 08:42:55 GMT expires: - '-1' pragma: @@ -412,7 +412,7 @@ interactions: ParameterSetName: - -g --name --network-manager-name --force --yes User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview&force=true response: @@ -424,7 +424,7 @@ interactions: content-length: - '0' date: - - Tue, 08 Mar 2022 02:04:28 GMT + - Mon, 28 Mar 2022 08:42:57 GMT expires: - '-1' pragma: @@ -456,7 +456,7 @@ interactions: ParameterSetName: - --resource-group --name --yes User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19044-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: @@ -468,7 +468,7 @@ interactions: content-length: - '0' date: - - Tue, 08 Mar 2022 02:04:34 GMT + - Mon, 28 Mar 2022 08:43:03 GMT expires: - '-1' pragma: @@ -480,7 +480,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14998' status: code: 200 message: OK diff --git a/src/network-manager/azext_network_manager/tests/latest/test_network_scenario.py b/src/network-manager/azext_network_manager/tests/latest/test_network_scenario.py index 7e5e317d05b..d0702e8e1dd 100644 --- a/src/network-manager/azext_network_manager/tests/latest/test_network_scenario.py +++ b/src/network-manager/azext_network_manager/tests/latest/test_network_scenario.py @@ -70,7 +70,7 @@ def test_network_manager_group_crud(self, resource_group): '--resource-group {rg}') self.cmd('network manager group create --name {name} --network-manager-name {manager_name} ' - '--description {description} --display-name {display_name} --member-type {member_type} -g {rg} ') + '--description {description} --display-name {display_name} --member-type {member_type} -g {rg} ') self.cmd('network manager group update -g {rg} --name {name} --network-manager-name {manager_name} --description "Desc changed."') self.cmd('network manager group show -g {rg} --name {name} --network-manager-name {manager_name}') @@ -99,7 +99,7 @@ def test_network_manager_static_member_crud(self, virtual_network, resource_grou '--resource-group {rg}') self.cmd('network manager group create --name {group_name} --network-manager-name {manager_name} --description {description} ' - '--display-name {display_name} --member-type {member_type} -g {rg} ') + '--display-name {display_name} --member-type {member_type} -g {rg} ') self.cmd('network manager group static-member create --name {name} --network-group-name {group_name} --network-manager-name {manager_name} ' '--resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" -g {rg}') @@ -200,7 +200,7 @@ def test_network_manager_admin_rule_crud(self, virtual_network, resource_group): '--resource-group {rg}') self.cmd('network manager group create --name {group_name} --network-manager-name {manager_name} --description {description} ' - ' --display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ') + ' --display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ') self.cmd('network manager group static-member create --name {name} --network-group-name {group_name} --network-manager-name {manager_name} ' '--resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" -g {rg} ') @@ -249,7 +249,7 @@ def test_network_manager_admin_rule_collection_crud(self, virtual_network, resou '--resource-group {rg}') self.cmd('network manager group create --name {group_name} --network-manager-name {manager_name} --description {description} ' - '--display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ') + '--display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ') self.cmd('network manager group static-member create --name {name} --network-group-name {group_name} --network-manager-name {manager_name} ' '--resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" -g {rg} ') @@ -296,7 +296,7 @@ def test_network_manager_user_rule_crud(self, virtual_network, resource_group): '--resource-group {rg}') self.cmd('network manager group create --name {group_name} --network-manager-name {manager_name} --description {description} ' - '--display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ') + '--display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ') self.cmd('network manager group static-member create --name {name} --network-group-name {group_name} --network-manager-name {manager_name} ' '--resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" -g {rg} ') @@ -339,7 +339,7 @@ def test_network_manager_user_rule_collection_crud(self, virtual_network, resour '--resource-group {rg}') self.cmd('network manager group create --name {group_name} --network-manager-name {manager_name} --description {description} ' - '--display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ') + '--display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ') self.cmd('network manager group static-member create --name {name} --network-group-name {group_name} --network-manager-name {manager_name} ' '--resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" -g {rg} ') @@ -380,7 +380,7 @@ def test_network_manager_connect_config_crud(self, virtual_network, resource_gro '--resource-group {rg}') self.cmd('network manager group create --name {group_name} --network-manager-name {manager_name} --description {description} ' - '--display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ') + '--display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ') self.cmd('network manager group static-member create --name {name} --network-group-name {group_name} --network-manager-name {manager_name} ' '--resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" -g {rg} ') @@ -420,7 +420,7 @@ def test_network_manager_list_queries(self, virtual_network, resource_group): '--resource-group {rg}') self.cmd('network manager group create --name {group_name} --network-manager-name {manager_name} --description {description} ' - '--display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ') + '--display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ') self.cmd('network manager group static-member create --name {name} --network-group-name {group_name} --network-manager-name {manager_name} ' '--resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" -g {rg} ') @@ -499,6 +499,35 @@ def test_network_manager_connection_subscription(self, resource_group): self.cmd('network manager connection subscription delete --connection-name {connection_name} --yes') self.cmd('network manager delete --resource-group {rg} --name {manager_name} --yes') + @ResourceGroupPreparer(name_prefix='test_network_manager_security_admin_config_v2', location='eastus2euap') + def test_network_manager_security_admin_config_v2(self, resource_group): + + self.kwargs.update({ + 'name': 'myTestSecurityConfig', + 'manager_name': 'TestNetworkManager', + 'description': '"A sample policy"', + 'sub': '/subscriptions/{}'.format(self.get_subscription_id()), + }) + + self.cmd('network manager create --name {manager_name} --description "My Test Network Manager" --display-name "TestNetworkManager" ' + '--scope-accesses "SecurityAdmin" "Connectivity" ' + '--network-manager-scopes ' + ' subscriptions={sub} ' + '-l eastus2euap ' + '--resource-group {rg}') + + self.cmd('network manager security-admin-config create --configuration-name {name} --network-manager-name {manager_name} -g {rg} ' + '--description {description} --delete-existing-ns-gs true --display-name MyTestConfig --apply-on None', + checks=self.check('applyOnNetworkIntentPolicyBasedServices', '[\'None\']')) + + self.cmd('network manager security-admin-config update --configuration-name {name} --network-manager-name {manager_name} -g {rg} ' + '--description "test_description" --apply-on None', + checks=self.check('applyOnNetworkIntentPolicyBasedServices', '[\'None\']')) + self.cmd('network manager security-admin-config list --network-manager-name {manager_name} -g {rg}') + self.cmd('network manager security-admin-config show --configuration-name {name} --network-manager-name {manager_name} -g {rg}') + + self.cmd('network manager security-admin-config delete --configuration-name {name} --network-manager-name {manager_name} -g {rg} --force --yes') + self.cmd('network manager delete --resource-group {rg} --name {manager_name} --yes') # @ResourceGroupPreparer(name_prefix='test_network_manager_connection_crud', location='eastus2euap') # def test_network_manager_scope_connection(self, resource_group): # diff --git a/src/network-manager/setup.py b/src/network-manager/setup.py index 87546c6f385..7d25c31a62e 100644 --- a/src/network-manager/setup.py +++ b/src/network-manager/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '0.4.0' +VERSION = '0.4.1' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From 0af4c9298a6915a6a721bacee870ccab5e80fa73 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Tue, 29 Mar 2022 14:57:14 +0800 Subject: [PATCH 09/70] [Release] Update index.json for extension [ network-manager ] (#4590) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=1467027 Last commit: https://github.com/Azure/azure-cli-extensions/commit/cf871d7ad75860cd531d455fd698cc21dbc93017 --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index f3bc8e33d97..2ca9f4ce8d0 100644 --- a/src/index.json +++ b/src/index.json @@ -30490,6 +30490,49 @@ "version": "0.4.0" }, "sha256Digest": "6dbaa712585a7fb16fa415a5e3597776a9b0191a70ae63e9dc81fdc732350fdc" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/virtual_network_manager-0.4.1-py3-none-any.whl", + "filename": "virtual_network_manager-0.4.1-py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.15.0", + "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/tree/main/src/network-manager" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "virtual-network-manager", + "summary": "Microsoft Azure Command-Line Tools NetworkManagementClient Extension", + "version": "0.4.1" + }, + "sha256Digest": "4eabccc76009b246dc9dde769a116427e59b1cb80290cffee4ed371e9baa6566" } ], "virtual-network-tap": [ From f52a3e3c361d02887ff2897b24aa6fa064a86b1a Mon Sep 17 00:00:00 2001 From: v-anvashist <98596197+v-anvashist@users.noreply.github.com> Date: Tue, 29 Mar 2022 12:53:35 +0530 Subject: [PATCH 10/70] Version Change 25 (#4567) * Version Change 25 * Updated download url --- src/index.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/index.json b/src/index.json index 2ca9f4ce8d0..eec50478ab5 100644 --- a/src/index.json +++ b/src/index.json @@ -7717,8 +7717,8 @@ "sha256Digest": "7ab5fd8d8f05bbd78d2e5fce961a06380aa258445561b88fb1ca02261cae365a" }, { - "downloadUrl": "https://github.com/Azure/azure-devops-cli-extension/releases/download/20220310.1/azure_devops-0.24.0-py2.py3-none-any.whl", - "filename": "azure_devops-0.24.0-py2.py3-none-any.whl", + "downloadUrl": "https://github.com/Azure/azure-devops-cli-extension/releases/download/20220324.1/azure_devops-0.25.0-py2.py3-none-any.whl", + "filename": "azure_devops-0.25.0-py2.py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.30.0", "classifiers": [ @@ -7762,9 +7762,9 @@ } ], "summary": "Tools for managing Azure DevOps.", - "version": "0.24.0" + "version": "0.25.0" }, - "sha256Digest": "f2337e341deed1bb210844b77a639b82db12f6a502298dcb3d7f444ff28cc5cd" + "sha256Digest": "00e758326f54349274c3c18addb681d88bd03d76562ccc22902231b9c5b22c9a" } ], "azure-firewall": [ From 03ed09a3c741c754d440cd73786403149b07c7ae Mon Sep 17 00:00:00 2001 From: Haroon Feisal Date: Tue, 29 Mar 2022 14:45:50 -0400 Subject: [PATCH 11/70] Added prototype of container up. --- .../azext_containerapp/_params.py | 6 + .../azext_containerapp/commands.py | 1 + src/containerapp/azext_containerapp/custom.py | 131 ++++++++++++++++++ 3 files changed, 138 insertions(+) diff --git a/src/containerapp/azext_containerapp/_params.py b/src/containerapp/azext_containerapp/_params.py index 6e0ee6918d4..c4f6505379b 100644 --- a/src/containerapp/azext_containerapp/_params.py +++ b/src/containerapp/azext_containerapp/_params.py @@ -176,3 +176,9 @@ def load_arguments(self, _): with self.argument_context('containerapp revision list') as c: c.argument('name', id_part=None) + + with self.argument_context('containerapp up') as c: + c.argument('resource_group_name', configured_default='resource_group_name') + c.argument('location', configured_default='location') + c.argument('name', configured_default='name') + c.argument('managed_env', configured_default='managed_env') \ No newline at end of file diff --git a/src/containerapp/azext_containerapp/commands.py b/src/containerapp/azext_containerapp/commands.py index c5b924287f8..0d7b6090d0f 100644 --- a/src/containerapp/azext_containerapp/commands.py +++ b/src/containerapp/azext_containerapp/commands.py @@ -49,6 +49,7 @@ def load_command_table(self, _): g.custom_command('create', 'create_containerapp', supports_no_wait=True, exception_handler=ex_handler_factory(), table_transformer=transform_containerapp_output) g.custom_command('update', 'update_containerapp', supports_no_wait=True, exception_handler=ex_handler_factory(), table_transformer=transform_containerapp_output) g.custom_command('delete', 'delete_containerapp', supports_no_wait=True, confirmation=True, exception_handler=ex_handler_factory()) + g.custom_command('up', 'containerapp_up', supports_no_wait=True, exception_handler=ex_handler_factory()) with self.command_group('containerapp env') as g: g.custom_show_command('show', 'show_managed_environment') diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index 15cea81f0ff..ba9294710f6 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -1932,3 +1932,134 @@ def remove_dapr_component(cmd, resource_group_name, dapr_component_name, environ return r except Exception as e: handle_raw_exception(e) + +def containerapp_up(cmd, + name=None, + resource_group_name=None, + managed_env=None, + location=None, + registry=None, + image=None, + source=None, + dockerfile=None, + # compose=None, + ingress=None, + port=None, + registry_username=None, + registry_password=None, + env_vars=None, + dryrun=False, + no_wait=False): + import os + src_dir = os.getcwd() + _src_path_escaped = "{}".format(src_dir.replace(os.sep, os.sep + os.sep)) + + if not name: + if image: + name = image.split('/')[-1].split(':')[0].lower() # .azurecr.io/: + if source: + name = source.replace('.', '').replace('/', '').lower() + + if not resource_group_name: + try: + rg_found = False + containerapps = list_containerapp(cmd) + for containerapp in containerapps: + if containerapp["name"].lower() == name.lower(): + if rg_found: + raise ValidationError("There are multiple containerapps with name {} on the subscription. Please specify which resource group your Containerapp is in.".format(name)) + # could also just do resource_group_name = None here and create a new one, ask Anthony + # break + if containerapp["id"][0] != '/': + containerapp["id"] = '/' + containerapp["id"] + rg_found = True + resource_group_name = containerapp["id"].split('/')[4] + except: + # error handle maybe + pass + + if "azurecr.io" in image: + if registry_username is None or registry_password is None: + # If registry is Azure Container Registry, we can try inferring credentials + logger.warning('No credential was provided to access Azure Container Registry. Trying to look up...') + parsed = urlparse(image) + registry_name = (parsed.netloc if parsed.scheme else parsed.path).split('.')[0] + + try: + registry_username, registry_password = _get_acr_cred(cmd.cli_ctx, registry_name) + except Exception as ex: + raise RequiredArgumentMissingError('Failed to retrieve credentials for container registry. Please provide the registry username and password') from ex + + containerapp_def = None + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + + if not containerapp_def: + if not location: + location = "canadacentral" # check user's default location? + if not resource_group_name: + user = get_profile_username() + rg_name = get_randomized_name(user, resource_group_name) + create_resource_group(cmd, rg_name, location) + resource_group_name = rg_name + if not managed_env: + env_name = "{}-env".format(name).replace("_","-") + managed_env = create_managed_environment(cmd, env_name, location = "canadacentral", resource_group_name=resource_group_name)["id"] + _set_webapp_up_default_args(cmd, resource_group_name, location, name, managed_env) + return create_containerapp(cmd=cmd, name=name, resource_group_name=resource_group_name, image=image, managed_env=managed_env, target_port=port, registry_server=registry, registry_pass=registry_password, registry_user=registry_username, env_vars=env_vars, ingress=ingress, no_wait=no_wait) + else: + return + + + +def get_randomized_name(prefix, name=None): + from random import randint + default = "{}_rg_{:04}".format(prefix, randint(0, 9999)) + if name is not None: + return name + return default + + +def _set_webapp_up_default_args(cmd, resource_group_name, location, name, managed_env): + from azure.cli.core.util import ConfiguredDefaultSetter + with ConfiguredDefaultSetter(cmd.cli_ctx.config, True): + logger.warning("Setting 'az containerapp up' default arguments for current directory. " + "Manage defaults with 'az configure --scope local'") + + + cmd.cli_ctx.config.set_value('defaults', 'resource_group_name', resource_group_name) + logger.warning("--resource-group/-g default: %s", resource_group_name) + + + cmd.cli_ctx.config.set_value('defaults', 'location', location) + logger.warning("--location/-l default: %s", location) + + + cmd.cli_ctx.config.set_value('defaults', 'name', name) + logger.warning("--name/-n default: %s", name) + + cmd.cli_ctx.config.set_value('defaults', 'managed_env', managed_env) + logger.warning("--environment default: %s", managed_env) + + +def get_profile_username(): + from azure.cli.core._profile import Profile + user = Profile().get_current_account_user() + user = user.split('@', 1)[0] + if len(user.split('#', 1)) > 1: # on cloudShell user is in format live.com#user@domain.com + user = user.split('#', 1)[1] + return user + +def create_resource_group(cmd, rg_name, location): + from azure.cli.core.profiles import ResourceType, get_sdk + rcf = _resource_client_factory(cmd.cli_ctx) + resource_group = get_sdk(cmd.cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, 'ResourceGroup', mod='models') + rg_params = resource_group(location=location) + return rcf.resource_groups.create_or_update(rg_name, rg_params) + +def _resource_client_factory(cli_ctx, **_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from azure.cli.core.profiles import ResourceType + return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES) \ No newline at end of file From 5797a89dfbea7e55d405099376d0b9ac1a5e4e5b Mon Sep 17 00:00:00 2001 From: Haroon Feisal Date: Tue, 29 Mar 2022 14:52:48 -0400 Subject: [PATCH 12/70] Fixed deploy from acr registry image infer credentials issue. --- src/containerapp/azext_containerapp/custom.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index ba9294710f6..ce315d88827 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -1938,7 +1938,7 @@ def containerapp_up(cmd, resource_group_name=None, managed_env=None, location=None, - registry=None, + registry_server=None, image=None, source=None, dockerfile=None, @@ -1982,6 +1982,7 @@ def containerapp_up(cmd, if registry_username is None or registry_password is None: # If registry is Azure Container Registry, we can try inferring credentials logger.warning('No credential was provided to access Azure Container Registry. Trying to look up...') + registry_server=image.split('/')[0] parsed = urlparse(image) registry_name = (parsed.netloc if parsed.scheme else parsed.path).split('.')[0] @@ -2008,7 +2009,7 @@ def containerapp_up(cmd, env_name = "{}-env".format(name).replace("_","-") managed_env = create_managed_environment(cmd, env_name, location = "canadacentral", resource_group_name=resource_group_name)["id"] _set_webapp_up_default_args(cmd, resource_group_name, location, name, managed_env) - return create_containerapp(cmd=cmd, name=name, resource_group_name=resource_group_name, image=image, managed_env=managed_env, target_port=port, registry_server=registry, registry_pass=registry_password, registry_user=registry_username, env_vars=env_vars, ingress=ingress, no_wait=no_wait) + return create_containerapp(cmd=cmd, name=name, resource_group_name=resource_group_name, image=image, managed_env=managed_env, target_port=port, registry_server=registry_server, registry_pass=registry_password, registry_user=registry_username, env_vars=env_vars, ingress=ingress, no_wait=no_wait) else: return From 94030c50cdd2c7666dfcee9926adc5c6a90cb8f5 Mon Sep 17 00:00:00 2001 From: Ricardo Espinoza Date: Tue, 29 Mar 2022 22:41:40 -0700 Subject: [PATCH 13/70] Update version and history info for 'az quantum' extension 0.14.0 (#4571) * Update version and history info for z quantum extension 0.14.0 * Fixing QDK version --- src/quantum/HISTORY.rst | 7 +++++++ src/quantum/azext_quantum/__init__.py | 2 +- src/quantum/setup.py | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/quantum/HISTORY.rst b/src/quantum/HISTORY.rst index afb4ed79a03..009634b5aca 100644 --- a/src/quantum/HISTORY.rst +++ b/src/quantum/HISTORY.rst @@ -3,6 +3,13 @@ Release History =============== +0.14.0 +++++++ +* [2022-03-30] Version intended to work with QDK version v0.24.201332 +* Extended error message in failed jobs to include details originated from the provider. +* Completed support in workspace creation for all storage account types allowed in the Azure Quantum service. +* Improved visual feedback in 'az quantum execute' command indicating to the user that the process has started. + 0.13.0 ++++++ * [2022-03-03] Version intended to work with QDK version v0.23.195983 diff --git a/src/quantum/azext_quantum/__init__.py b/src/quantum/azext_quantum/__init__.py index c8aa2623af6..74a74e63f9d 100644 --- a/src/quantum/azext_quantum/__init__.py +++ b/src/quantum/azext_quantum/__init__.py @@ -11,7 +11,7 @@ # This is the version reported by the CLI to the service when submitting requests. # This should be in sync with the extension version in 'setup.py', unless we need to # submit using a different version. -CLI_REPORTED_VERSION = "0.13.0" +CLI_REPORTED_VERSION = "0.14.0" class QuantumCommandsLoader(AzCommandsLoader): diff --git a/src/quantum/setup.py b/src/quantum/setup.py index 7845882b1e1..6630a5af735 100644 --- a/src/quantum/setup.py +++ b/src/quantum/setup.py @@ -17,7 +17,7 @@ # This version should match the latest entry in HISTORY.rst # Also, when updating this, please review the version used by the extension to # submit requests, which can be found at './azext_quantum/__init__.py' -VERSION = '0.13.0' +VERSION = '0.14.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From 944e523055bab7cac363d6c48fca66af47d8d1f4 Mon Sep 17 00:00:00 2001 From: Jonathan Innis Date: Wed, 30 Mar 2022 01:35:53 -0700 Subject: [PATCH 14/70] [k8s-extension] Release v1.1.0 with Updated Models for 2022-03-01 (#4588) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Create pull.yml * Update pull.yml * Update azure-pipelines.yml * Initial commit of k8s-extension * Update pipelines file * Update CODEOWNERS * Update private preview pipelines * Remove open service mesh from public release * Update pipeline files * Update public extension pipeline * Change condition variable * Add version to public preview/private preview * Update pipelines * Add different testing based on private branch * Add annotations to extension model * Update k8s-custom-pipelines.yml * Update SDKs with Updated Swagger Spec for 2020-07-01-preview (#13) * Update sdks with updated swagger spec * Update version and history rst * Reorder release history timeline * Fix ExtensionInstanceForCreate for import * remove py2 bdist support * Add custom table formatting * Remove unnecessary files * Fix style issues * Fix branch based on comments * Update identity piece manually * Don't handle defaults at the CLI level * Remove defaults from CLI client * Check null target namespace with namespace scope * Update style * Add cassandra operator and location to model * Stage Public Version of k8s-extension 0.2.0 for official release (#15) * Create pull.yml * Update pull.yml * Update azure-pipelines.yml * Initial commit of k8s-extension * Update pipelines file * Update CODEOWNERS * Update private preview pipelines * Remove open service mesh from public release * Update pipeline files * Update public extension pipeline * Change condition variable * Add version to public preview/private preview * Update pipelines * Add different testing based on private branch * Add annotations to extension model * Update k8s-custom-pipelines.yml * Update SDKs with Updated Swagger Spec for 2020-07-01-preview (#13) * Update sdks with updated swagger spec * Update version and history rst * Reorder release history timeline * Fix ExtensionInstanceForCreate for import * remove py2 bdist support * Add custom table formatting * Remove unnecessary files * Fix style issues * Fix branch based on comments * Update identity piece manually * Don't handle defaults at the CLI level * Remove defaults from CLI client * Check null target namespace with namespace scope * Update style * Add cassandra operator and location to model Co-authored-by: action@github.com * Remove custom pipelines file * Update extension description, remove private const * Update pipeline file * Disable refs docs * Update to include better create warning logs and remove update context (#20) * Update to include better create warning logs and remove update context * Remove help text for update * Fix spelling error * Update message * Fix k8s-extension conflict with private version * Fix style errors * Fix filename * add customization for microsoft.azureml.kubernetes (#23) * add customization for microsoft.azureml.kubernetes * Update release history Co-authored-by: Yue Yu Co-authored-by: jonathan-innis * Add E2E Testing from Separate branch into internal code (#26) * Add internal e2e testing * Change to testing folder * Inference CLI validation for Scoring FE (#24) * cli validation starter * added the call to the fe validation function * nodeport validation not required * test fix Co-authored-by: Jonathan Innis * legal warning added (#27) * Remove deprecated method logger.warn * Update k8s-custom-pipelines.yml for Azure Pipelines * Update k8s-custom-pipelines.yml for Azure Pipelines * Add Azure Defender to E2E testing (#28) * Add azure defender testing to e2e * Remove the debug flag * Add configuration testing * Fix pipeline failures * Make test script more intuitive * Remove parameter from testing * Fix wrong location for k8s config whl * Fix pip upgrade issue * Fix pip install upgrade issue * Fix pip install issue * delete resurce in testcase (#29) Co-authored-by: Yue Yu Co-authored-by: Jonathan Innis * Check Provider is Registered with Subscription Before Making Requests (#18) * Add check for KubernetesConfiguration * Disable pylint and rename * Update provider registration link * Update version * Remove extra blank line * Fix bug in import * only validate scoring fe when inference is enabled (#31) * only validate scoring fe when inference is enabled * Fix versioning Co-authored-by: Yue Yu Co-authored-by: jonathan-innis * Provider registration case insensitive * do not validate against scoring fe if inference is not enabled. (#33) * do not validate against scoring fe if inference is not enabled. * add inference enabled scenario * refine * increase sleeping time * fix Co-authored-by: Yue Yu Co-authored-by: Jonathan Innis * Add OSM as Public Preview Extension (#34) * Add OSM as public preview extension * Add osm testing * Add release train to tests * Fix failing osm test * Upgrade pip in integration testing * Remove ununsed import * Fix release train check in update * Parallelize E2E Testing (#36) * Add OSM as public preview extension * Add osm testing * Update test logic to parallelize * Fix test success checking * Parallelize extension testing * Better error checking logic * Fix azureml deletion * Fix private build (#40) * change amlk8s to amlarc (#42) Co-authored-by: Yue Yu * Servicebus client model changes (#44) * Servicebus client model changes * Fix testing script * Update history file and pipeline * Update min cli core version for track 2 updates * Read SSL cert and key from files (#38) * first sketch of the change fixes removed extra blank lines changes regarding param renaming added ssl tests added more detail to the unit test additional import moved pem files out of public folder fixed import chenged import changed import unit tests fix unit test fix fixed unit tests fixed unit test unit test fix changes int test cert and key * test protected config * fix test typo * temporary changes reverted * fixing tests * fixed file paths * removed accidentally added file * changes according to review comments * more changes according to review comments * changes according to review comments Co-authored-by: Jonathan Innis * Upgrade release version * Liakaz/inference read ssl from file (#47) * first sketch of the change fixes removed extra blank lines changes regarding param renaming added ssl tests added more detail to the unit test additional import moved pem files out of public folder fixed import chenged import changed import unit tests fix unit test fix fixed unit tests fixed unit test unit test fix changes int test cert and key * test protected config * fix test typo * temporary changes reverted * fixing tests * fixed file paths * removed accidentally added file * changes according to review comments * more changes according to review comments * changes according to review comments * fixed decode error * renamed the experimental param Co-authored-by: Jonathan Innis * Fix style issues (#51) * Fixed scoring fe related extension param names (#49) * fixed scoring fe related extension params * bug fix and style fixes * variable rename * fixed the error type * set cluster to prod by default * Add distro validation for osm-arc (#50) * Add distro validation for osm-arc * fixed indentation * Fix linting * Resolve comments * Add unit test * fix lint Co-authored-by: Jonathan Innis * Add distro validation for osm-arc (#50) * Add distro validation for osm-arc * fixed indentation * Fix linting * Resolve comments * Add unit test * fix lint Co-authored-by: Jonathan Innis * Add distro validation for osm-arc (#53) removed release-train logic * Add Custom Delete Logic for Partners (#54) * Add custom delete logic * Fix failing unit tests * Add warning message when deleting amlarc extension (#55) * add warning message * fix indentation * Update release version * Remove Pyhelm from OSM customization (#58) * Fix OSM pyhelm bug * Debug bootstrap error * Update release message * Remove pyhelm dependency * Update tests to only check extensionconfig creation (#61) * Update tests to only check extensionconfig creation * Single set of CRUD for AzureML * Debug logs for connectedk8s * Increase open service mesh version number * Update k8s-extension Models to Track2 (#64) * Update k8s-extension models to track2 * Add debug for failed cleanup * Increase version number * Exit 0 on failed cleanup * Fix identity in wrong place in model (#66) * Readd osm-arc distro validation (#62) * Add distro validation for osm-arc removed release-train logic * Readd osm_arc distro validation * Fix style * Rm space * Edit test * Fixed tests and error logic * Remove dependency * Add delete method Co-authored-by: Jonathan Innis * Don't Send Identity Headers If In DF (#67) * Don't send identity for clusters in dogfood * Add location to model for identity * Add identity validation to testing * Use default extension with identity instead of Cassandra specific (#69) * Remove the identity check for now * Add -t for clusterType parameter (#71) * Adding a flag for AKS to AMLARC migration and set up corresponding FE… (#65) * Adding a flag for AKS to AMLARC migration and set up corresponding FE helm values * Remove one extra line * Adding Scoring FE IS_AKS_MIGRATION check logic for helm values Co-authored-by: Harry Yang Co-authored-by: Jonathan Innis * remove version requirement and auto upgrade minor version check (#72) * Custom User Confirmation for Partners (#70) * Custom user confirmation * Check for disable confirm prompty for confirmation * Add yes to delete command * Code cleanup and style fixes (#73) * Enabled identity by default (#74) * Increase version * Fix df check and add unit test (#77) * Bump extension version * Pin helm version * Extensions GA changes into Public Branch (#79) * Add openservicemesh back * OpenServiceMesh import * Update osm with new extension model * Add back private file * Add Azure ML to list of private extensions (#16) * Update k8s-custom-pipelines.yml * Add Microsoft.PolicyInsights extension (#17) * Add Policy extension * Update comment * Update args * Fix linting errors Co-authored-by: Jonathan Innis * Add HISTORY_private file for private preview * Change versioning scheme * Update the code for supporting both extensions at once * Fix style issue * Remove old consts file * change the resource tag from managed_by:amlk8s to created_by:amlk8s-e… (#22) * change the resource tag from managed_by:amlk8s to created_by:amlk8s-extension * remove the lock when creating resources * fix lint * update version and HISTORY_private.rst * change error message Co-authored-by: Yue Yu * Update the beta version with upstream * Update the private history file * Add upgrade pip to pipeline * Move pip install within virtualenv * Merge in k8s-extension/public (0.3.1) (#32) * delete resurce in testcase (#29) Co-authored-by: Yue Yu Co-authored-by: Jonathan Innis * Check Provider is Registered with Subscription Before Making Requests (#18) * Add check for KubernetesConfiguration * Disable pylint and rename * Update provider registration link * Update version * Remove extra blank line * Fix bug in import * only validate scoring fe when inference is enabled (#31) * only validate scoring fe when inference is enabled * Fix versioning Co-authored-by: Yue Yu Co-authored-by: jonathan-innis * Update private release Co-authored-by: yuyue9284 <15863499+yuyue9284@users.noreply.github.com> Co-authored-by: Yue Yu * Release Version 0.4.0-b1 (#37) * Merge k8s-extension/public into k8s-extension/private * Update the version * Fix testing concurrency * K8s extension/private 0.4.0b2 (#41) * Fix private build (#40) * Update version * Upgrade to v0.5.2 * Fix policy bug * Increase private version * Update consts_private.py * Increase private version * Increase version with public * Add flux to private version * Update models for 2021-05-01-preview * Add async models to version * Add no wait to delete and create * support managed cluster * Bump version * Pin helm version * Add cmd to delete call * Add force deletion * add dapr extension (#78) Signed-off-by: Ji An Liu * Fix failing integration tests * Adding the GA changes for private branch * Fix confirm prompt * Fix update E2E tests Co-authored-by: jonathan-innis Co-authored-by: action@github.com Co-authored-by: nreisch Co-authored-by: yuyue9284 <15863499+yuyue9284@users.noreply.github.com> Co-authored-by: Yue Yu Co-authored-by: anagg929 <59664801+anagg929@users.noreply.github.com> Co-authored-by: Ji'an Liu Co-authored-by: nanthi * Fix configuration settings in update * Only provide confirmation when specifying settings * Fix style issues * Cassandra tests with update (#81) * Add Microsoft.PolicyInsights extension for public preview (#83) * Add Azure Policy * Remove custom configuration and update tests * Yuyu3/fix upgrade public (#85) * populate configuration protected settings for azureml bump version && add log fetch connection string only if configuration protected settings are set update ssl key * bump the version * reverse changes on version and HISTORY.rst * inferenceLoadBalancerHA Co-authored-by: Yue Yu * Remove Parallel Powershell Jobs (#82) * Unparallelize tests * Moved location of pipeline file * Remove the parallel invoke expression calls * Add templates to testing * Remove policy update test from extension E2E (#88) * feIsNodePort, feIsInternalLoadBalancer (#87) Co-authored-by: Yue Yu Co-authored-by: Jonathan Innis * Fix history file * Add one more prompt for amlarc extension update (#94) * Add one more prompt for amlarc extension update * fix pylint issue * fix pylint issue * fix pylint issue * fix pylint issue Co-authored-by: Youhua Tu Co-authored-by: Youhua Tu * Update Identity Creation for Appliance to Latest Version (#95) * Update appliance API to latest version for identity * Create a utils file with get parent_api_version * Fix style errors * Bump version * Remove additional entry from history * Do not create identity with appliances (#97) * Bump version * support sslSecret (#99) * support sslSecret * fix * fix error message Co-authored-by: Jun Min * Bump version to 1.0.4 * Increase OSM verison to valid version (#104) * remove inference private review warning message (#102) Co-authored-by: Yue Yu Co-authored-by: Jonathan Innis * Update unit testing from osm to dapr (#106) * osm-ext: enable system identities (#105) * remove inference private review warning message (#109) Co-authored-by: Yue Yu Co-authored-by: Jonathan Innis * Build Extension in Template (#110) * Build extension using a template * Update build template in run test * Fix private build issues (#112) * Upgrade vendored_sdks to 2022-03-01 (#113) * Upgrade vendored_sdks to 2022-03-01 * Update recordings file * Bump version and changelog * Remove unneeded files Co-authored-by: action@github.com Co-authored-by: yuyue9284 <15863499+yuyue9284@users.noreply.github.com> Co-authored-by: Yue Yu Co-authored-by: Lia Kazakova <58274127+liakaz@users.noreply.github.com> Co-authored-by: Niranjan Shankar Co-authored-by: jingyizhu99 <83610845+jingyizhu99@users.noreply.github.com> Co-authored-by: Harry Yang Co-authored-by: Harry Yang Co-authored-by: Thomas Stringer Co-authored-by: NarayanThiru Co-authored-by: nreisch Co-authored-by: anagg929 <59664801+anagg929@users.noreply.github.com> Co-authored-by: Ji'an Liu Co-authored-by: nanthi Co-authored-by: youhuatuyh <87928654+youhuatuyh@users.noreply.github.com> Co-authored-by: Youhua Tu Co-authored-by: Youhua Tu Co-authored-by: Jun Co-authored-by: Jun Min Co-authored-by: Sanya Kochhar <42152676+SanyaKochhar@users.noreply.github.com> --- src/k8s-extension/HISTORY.rst | 6 + .../azext_k8s_extension/custom.py | 2 +- .../partner_extensions/AzureMLKubernetes.py | 3 +- .../partner_extensions/OpenServiceMesh.py | 4 +- .../latest/recordings/test_k8s_extension.yaml | 636 +---- .../latest/test_k8s_extension_scenario.py | 31 +- .../azext_k8s_extension/utils.py | 2 +- .../vendored_sdks/__init__.py | 3 - .../vendored_sdks/_configuration.py | 16 +- .../vendored_sdks/_metadata.json | 105 - .../_source_control_configuration_client.py | 377 ++- .../vendored_sdks/_version.py | 2 +- .../vendored_sdks/aio/_configuration.py | 18 +- .../_source_control_configuration_client.py | 383 ++- .../vendored_sdks/aio/operations/__init__.py | 6 +- .../aio/operations/_operations.py | 10 +- ...ource_control_configurations_operations.py | 56 +- .../vendored_sdks/models.py | 8 + .../vendored_sdks/models/__init__.py | 86 - .../vendored_sdks/models/_models.py | 737 ----- .../operations/_extensions_operations.py | 657 ----- ...ource_control_configurations_operations.py | 429 --- .../v2020_07_01_preview/__init__.py | 18 + .../v2020_07_01_preview/_configuration.py | 68 + .../v2020_07_01_preview/_patch.py | 31 + .../_source_control_configuration_client.py | 103 + .../v2020_07_01_preview/_vendor.py | 27 + .../v2020_07_01_preview/_version.py | 9 + .../v2020_07_01_preview/aio/__init__.py | 15 + .../v2020_07_01_preview/aio/_configuration.py | 67 + .../v2020_07_01_preview/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 100 + .../aio/operations/__init__.py | 17 + .../aio/operations/_extensions_operations.py | 419 +++ .../aio/operations/_operations.py | 111 + ...ource_control_configurations_operations.py | 405 +++ .../v2020_07_01_preview/models/__init__.py | 77 + .../v2020_07_01_preview/models/_models_py3.py | 1076 +++++++ ...urce_control_configuration_client_enums.py | 87 + .../operations/__init__.py | 17 + .../operations/_extensions_operations.py | 642 +++++ .../operations/_operations.py | 137 + ...ource_control_configurations_operations.py | 578 ++++ .../v2020_10_01_preview/__init__.py | 18 + .../v2020_10_01_preview/_configuration.py | 68 + .../v2020_10_01_preview/_patch.py | 31 + .../_source_control_configuration_client.py | 99 + .../v2020_10_01_preview/_vendor.py | 27 + .../v2020_10_01_preview/_version.py | 9 + .../v2020_10_01_preview/aio/__init__.py | 15 + .../v2020_10_01_preview/aio/_configuration.py | 67 + .../v2020_10_01_preview/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 96 + .../aio/operations/__init__.py | 15 + .../aio/operations/_operations.py | 111 + ...ource_control_configurations_operations.py | 405 +++ .../v2020_10_01_preview/models/__init__.py | 55 + .../v2020_10_01_preview/models/_models_py3.py | 650 +++++ ...urce_control_configuration_client_enums.py | 63 + .../operations/__init__.py | 15 + .../operations/_operations.py | 137 + ...ource_control_configurations_operations.py | 578 ++++ .../vendored_sdks/v2021_03_01/__init__.py | 18 + .../v2021_03_01/_configuration.py | 68 + .../vendored_sdks/v2021_03_01/_patch.py | 31 + .../_source_control_configuration_client.py | 98 + .../vendored_sdks/v2021_03_01/_vendor.py | 27 + .../vendored_sdks/v2021_03_01/_version.py | 9 + .../vendored_sdks/v2021_03_01/aio/__init__.py | 15 + .../v2021_03_01/aio/_configuration.py | 67 + .../vendored_sdks/v2021_03_01/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 95 + .../v2021_03_01/aio/operations/__init__.py | 15 + .../v2021_03_01/aio/operations/_operations.py | 111 + ...ource_control_configurations_operations.py | 403 +++ .../v2021_03_01/models/__init__.py | 57 + .../v2021_03_01/models/_models_py3.py | 646 +++++ ...urce_control_configuration_client_enums.py | 72 + .../v2021_03_01/operations/__init__.py | 15 + .../v2021_03_01/operations/_operations.py | 137 + ...ource_control_configurations_operations.py | 576 ++++ .../v2021_05_01_preview/__init__.py | 18 + .../v2021_05_01_preview/_configuration.py | 68 + .../v2021_05_01_preview/_patch.py | 31 + .../_source_control_configuration_client.py | 122 + .../v2021_05_01_preview/_vendor.py | 27 + .../v2021_05_01_preview/_version.py | 9 + .../v2021_05_01_preview/aio/__init__.py | 15 + .../v2021_05_01_preview/aio/_configuration.py | 67 + .../v2021_05_01_preview/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 119 + .../aio/operations/__init__.py | 27 + .../_cluster_extension_type_operations.py | 47 +- .../_cluster_extension_types_operations.py | 64 +- .../_extension_type_versions_operations.py | 64 +- .../aio/operations/_extensions_operations.py | 471 +++ .../_location_extension_types_operations.py | 58 +- .../_operation_status_operations.py | 122 +- .../aio/operations/_operations.py | 111 + ...ource_control_configurations_operations.py | 405 +++ .../v2021_05_01_preview/models/__init__.py | 95 + .../v2021_05_01_preview/models/_models_py3.py | 1363 +++++++++ ...urce_control_configuration_client_enums.py | 103 + .../operations/__init__.py | 27 + .../_cluster_extension_type_operations.py | 115 +- .../_cluster_extension_types_operations.py | 123 +- .../_extension_type_versions_operations.py | 159 ++ .../operations/_extensions_operations.py | 647 +++++ .../_location_extension_types_operations.py | 109 +- .../_operation_status_operations.py | 289 ++ .../operations/_operations.py | 137 + ...ource_control_configurations_operations.py | 578 ++++ .../vendored_sdks/v2021_09_01/__init__.py | 18 + .../v2021_09_01/_configuration.py | 68 + .../vendored_sdks/v2021_09_01/_patch.py | 31 + .../_source_control_configuration_client.py | 101 + .../vendored_sdks/v2021_09_01/_vendor.py | 27 + .../vendored_sdks/v2021_09_01/_version.py | 9 + .../vendored_sdks/v2021_09_01/aio/__init__.py | 15 + .../v2021_09_01/aio/_configuration.py | 67 + .../vendored_sdks/v2021_09_01/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 98 + .../aio}/operations/__init__.py | 0 .../aio/operations/_extensions_operations.py | 376 ++- .../_operation_status_operations.py | 186 +- .../v2021_09_01/aio/operations/_operations.py | 112 + .../v2021_09_01/models/__init__.py | 65 + .../{ => v2021_09_01}/models/_models_py3.py | 374 ++- ...urce_control_configuration_client_enums.py | 29 +- .../v2021_09_01/operations/__init__.py | 17 + .../operations/_extensions_operations.py | 834 ++++++ .../_operation_status_operations.py | 289 ++ .../operations/_operations.py | 93 +- .../v2021_11_01_preview/__init__.py | 18 + .../v2021_11_01_preview/_configuration.py | 68 + .../v2021_11_01_preview/_patch.py | 31 + .../_source_control_configuration_client.py | 130 + .../v2021_11_01_preview/_vendor.py | 27 + .../v2021_11_01_preview/_version.py | 9 + .../v2021_11_01_preview/aio/__init__.py | 15 + .../v2021_11_01_preview/aio/_configuration.py | 67 + .../v2021_11_01_preview/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 127 + .../aio/operations/__init__.py | 31 + .../_cluster_extension_type_operations.py | 112 + .../_cluster_extension_types_operations.py | 135 + .../_extension_type_versions_operations.py | 105 +- .../aio/operations/_extensions_operations.py | 610 ++++ ...flux_config_operation_status_operations.py | 116 + .../_flux_configurations_operations.py | 612 ++++ .../_location_extension_types_operations.py | 117 + .../_operation_status_operations.py | 206 ++ .../aio/operations/_operations.py | 111 + ...ource_control_configurations_operations.py | 405 +++ .../v2021_11_01_preview/models/__init__.py | 127 + .../v2021_11_01_preview/models/_models_py3.py | 2210 ++++++++++++++ ...urce_control_configuration_client_enums.py | 130 + .../operations/__init__.py | 31 + .../_cluster_extension_type_operations.py | 155 + .../_cluster_extension_types_operations.py | 175 ++ .../_extension_type_versions_operations.py | 159 ++ .../operations/_extensions_operations.py | 835 ++++++ ...flux_config_operation_status_operations.py | 161 ++ .../_flux_configurations_operations.py | 839 ++++++ .../_location_extension_types_operations.py | 151 + .../_operation_status_operations.py | 289 ++ .../operations/_operations.py | 137 + ...ource_control_configurations_operations.py | 578 ++++ .../v2022_01_01_preview/__init__.py | 18 + .../v2022_01_01_preview/_configuration.py | 68 + .../v2022_01_01_preview/_patch.py | 31 + .../_source_control_configuration_client.py | 130 + .../v2022_01_01_preview/_vendor.py | 27 + .../v2022_01_01_preview/_version.py | 9 + .../v2022_01_01_preview/aio/__init__.py | 15 + .../v2022_01_01_preview/aio/_configuration.py | 67 + .../v2022_01_01_preview/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 127 + .../aio/operations/__init__.py | 31 + .../_cluster_extension_type_operations.py | 113 + .../_cluster_extension_types_operations.py | 136 + .../_extension_type_versions_operations.py | 123 + .../aio/operations/_extensions_operations.py | 615 ++++ ...flux_config_operation_status_operations.py | 117 + .../_flux_configurations_operations.py | 617 ++++ .../_location_extension_types_operations.py | 117 + .../_operation_status_operations.py | 208 ++ .../aio/operations/_operations.py | 111 + ...ource_control_configurations_operations.py | 409 +++ .../v2022_01_01_preview/models/__init__.py | 135 + .../v2022_01_01_preview/models/_models_py3.py | 2532 +++++++++++++++++ ...urce_control_configuration_client_enums.py | 131 + .../operations/__init__.py | 31 + .../_cluster_extension_type_operations.py | 156 + .../_cluster_extension_types_operations.py | 176 ++ .../_extension_type_versions_operations.py | 159 ++ .../operations/_extensions_operations.py | 840 ++++++ ...flux_config_operation_status_operations.py | 162 ++ .../_flux_configurations_operations.py | 844 ++++++ .../_location_extension_types_operations.py | 151 + .../_operation_status_operations.py | 291 ++ .../operations/_operations.py | 137 + ...ource_control_configurations_operations.py | 582 ++++ .../vendored_sdks/v2022_03_01/__init__.py | 18 + .../v2022_03_01/_configuration.py | 68 + .../vendored_sdks/v2022_03_01/_patch.py | 31 + .../_source_control_configuration_client.py | 113 + .../vendored_sdks/v2022_03_01/_vendor.py | 27 + .../vendored_sdks/v2022_03_01/_version.py | 9 + .../vendored_sdks/v2022_03_01/aio/__init__.py | 15 + .../v2022_03_01/aio/_configuration.py | 67 + .../vendored_sdks/v2022_03_01/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 110 + .../v2022_03_01/aio/operations/__init__.py | 23 + .../aio/operations/_extensions_operations.py | 604 ++++ ...flux_config_operation_status_operations.py | 115 + .../_flux_configurations_operations.py | 607 ++++ .../_operation_status_operations.py | 204 ++ .../v2022_03_01/aio/operations/_operations.py | 111 + ...ource_control_configurations_operations.py | 399 +++ .../v2022_03_01/models/__init__.py | 117 + .../v2022_03_01/models/_models_py3.py | 2263 +++++++++++++++ ...urce_control_configuration_client_enums.py | 121 + .../v2022_03_01/operations/__init__.py | 23 + .../operations/_extensions_operations.py | 829 ++++++ ...flux_config_operation_status_operations.py | 160 ++ .../_flux_configurations_operations.py | 834 ++++++ .../_operation_status_operations.py | 287 ++ .../v2022_03_01/operations/_operations.py | 137 + ...ource_control_configurations_operations.py | 572 ++++ src/k8s-extension/setup.py | 2 +- 231 files changed, 43873 insertions(+), 3585 deletions(-) delete mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/_metadata.json create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/models.py delete mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/models/__init__.py delete mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/models/_models.py delete mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_extensions_operations.py delete mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_vendor.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_version.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/_models_py3.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/_source_control_configuration_client_enums.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_vendor.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_version.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/_models_py3.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/_source_control_configuration_client_enums.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_vendor.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_version.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/_models_py3.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/_source_control_configuration_client_enums.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_vendor.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_version.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/__init__.py rename src/k8s-extension/azext_k8s_extension/vendored_sdks/{ => v2021_05_01_preview}/aio/operations/_cluster_extension_type_operations.py (75%) rename src/k8s-extension/azext_k8s_extension/vendored_sdks/{ => v2021_05_01_preview}/aio/operations/_cluster_extension_types_operations.py (71%) rename src/k8s-extension/azext_k8s_extension/vendored_sdks/{ => v2021_05_01_preview}/aio/operations/_extension_type_versions_operations.py (70%) create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_extensions_operations.py rename src/k8s-extension/azext_k8s_extension/vendored_sdks/{ => v2021_05_01_preview}/aio/operations/_location_extension_types_operations.py (72%) rename src/k8s-extension/azext_k8s_extension/vendored_sdks/{ => v2021_05_01_preview}/aio/operations/_operation_status_operations.py (66%) create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/_models_py3.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/_source_control_configuration_client_enums.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/__init__.py rename src/k8s-extension/azext_k8s_extension/vendored_sdks/{ => v2021_05_01_preview}/operations/_cluster_extension_type_operations.py (56%) rename src/k8s-extension/azext_k8s_extension/vendored_sdks/{ => v2021_05_01_preview}/operations/_cluster_extension_types_operations.py (53%) create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_extension_type_versions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_extensions_operations.py rename src/k8s-extension/azext_k8s_extension/vendored_sdks/{ => v2021_05_01_preview}/operations/_location_extension_types_operations.py (56%) create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_vendor.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_version.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_source_control_configuration_client.py rename src/k8s-extension/azext_k8s_extension/vendored_sdks/{ => v2021_09_01/aio}/operations/__init__.py (100%) rename src/k8s-extension/azext_k8s_extension/vendored_sdks/{ => v2021_09_01}/aio/operations/_extensions_operations.py (62%) rename src/k8s-extension/azext_k8s_extension/vendored_sdks/{ => v2021_09_01/aio}/operations/_operation_status_operations.py (53%) create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/__init__.py rename src/k8s-extension/azext_k8s_extension/vendored_sdks/{ => v2021_09_01}/models/_models_py3.py (60%) rename src/k8s-extension/azext_k8s_extension/vendored_sdks/{ => v2021_09_01}/models/_source_control_configuration_client_enums.py (55%) create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_operation_status_operations.py rename src/k8s-extension/azext_k8s_extension/vendored_sdks/{ => v2021_09_01}/operations/_operations.py (58%) create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_vendor.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_version.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_type_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_types_operations.py rename src/k8s-extension/azext_k8s_extension/vendored_sdks/{ => v2021_11_01_preview/aio}/operations/_extension_type_versions_operations.py (53%) create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_config_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_location_extension_types_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/_models_py3.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/_source_control_configuration_client_enums.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_type_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_types_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_extension_type_versions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_flux_config_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_flux_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_location_extension_types_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_vendor.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_version.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_type_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_types_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_extension_type_versions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_config_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_location_extension_types_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/_models_py3.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/_source_control_configuration_client_enums.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_type_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_types_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_extension_type_versions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_flux_config_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_flux_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_location_extension_types_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_vendor.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_version.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_flux_config_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_flux_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/_models_py3.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/_source_control_configuration_client_enums.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_flux_config_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_flux_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_source_control_configurations_operations.py diff --git a/src/k8s-extension/HISTORY.rst b/src/k8s-extension/HISTORY.rst index 243dd8f7307..58a0fb647e0 100644 --- a/src/k8s-extension/HISTORY.rst +++ b/src/k8s-extension/HISTORY.rst @@ -3,6 +3,12 @@ Release History =============== +1.1.0 +++++++++++++++++++ +* Migrate Extensions api-version to 2022-03-01 +* microsoft.azureml.kubernetes: Remove inference private review warning message +* microsoft.openservicemesh: Enable System-assigned identity + 1.0.4 ++++++++++++++++++ * microsoft.azureml.kubernetes: Support SSL secret diff --git a/src/k8s-extension/azext_k8s_extension/custom.py b/src/k8s-extension/azext_k8s_extension/custom.py index c0a2c4cdb6a..abff15a0246 100644 --- a/src/k8s-extension/azext_k8s_extension/custom.py +++ b/src/k8s-extension/azext_k8s_extension/custom.py @@ -5,7 +5,7 @@ # pylint: disable=unused-argument,too-many-locals -from azext_k8s_extension.utils import ( +from .utils import ( get_cluster_rp_api_version, is_dogfood_cluster, read_config_settings_file, diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py index 3414cf9d803..6334877f59e 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py @@ -10,7 +10,7 @@ import copy from hashlib import md5 from typing import Any, Dict, List, Tuple -from azext_k8s_extension.utils import get_cluster_rp_api_version +from ..utils import get_cluster_rp_api_version import azure.mgmt.relay import azure.mgmt.relay.models @@ -339,7 +339,6 @@ def __validate_config(self, configuration_settings, configuration_protected_sett enable_inference = str(enable_inference).lower() == 'true' if enable_inference: - logger.warning("The installed AzureML extension for AML inference is experimental and not covered by customer support. Please use with discretion.") self.__validate_scoring_fe_settings(configuration_settings, configuration_protected_settings, release_namespace) self.__set_up_inference_ssl(configuration_settings, configuration_protected_settings) elif not (enable_training or enable_inference): diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py index 9af8a12ccb2..f3ad45bb177 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py @@ -49,7 +49,7 @@ def Create(self, cmd, client, resource_group_name, cluster_name, name, cluster_t ext_scope = Scope(cluster=scope_cluster, namespace=None) # NOTE-2: Return a valid Extension object, Instance name and flag for Identity - create_identity = False + create_identity = True _validate_tested_distro(cmd, resource_group_name, cluster_name, version) @@ -83,7 +83,7 @@ def _validate_tested_distro(cmd, cluster_resource_group_name, cluster_name, exte cluster_resource_id = '/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Kubernetes' \ '/connectedClusters/{2}'.format(subscription_id, cluster_resource_group_name, cluster_name) - resource = resources.get_by_id(cluster_resource_id, '2020-01-01-preview') + resource = resources.get_by_id(cluster_resource_id, '2021-10-01') cluster_distro = resource.properties['distribution'].lower() if cluster_distro == "general": diff --git a/src/k8s-extension/azext_k8s_extension/tests/latest/recordings/test_k8s_extension.yaml b/src/k8s-extension/azext_k8s_extension/tests/latest/recordings/test_k8s_extension.yaml index 58b172218ec..d7750934482 100644 --- a/src/k8s-extension/azext_k8s_extension/tests/latest/recordings/test_k8s_extension.yaml +++ b/src/k8s-extension/azext_k8s_extension/tests/latest/recordings/test_k8s_extension.yaml @@ -11,137 +11,9 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -c --cluster-type --extension-type --release-train --version + - -g -n -c --cluster-type --extension-type --release-train --version --no-wait User-Agent: - - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.0 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006?api-version=2020-01-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006","name":"nanthiaks1006","type":"microsoft.kubernetes/connectedclusters","location":"eastus2euap","tags":{},"identity":{"principalId":"4819e8b8-75f1-43c0-b1f3-c2866dcaada2","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"properties":{"provisioningState":"Succeeded","connectivityStatus":"Connected","agentPublicKeyCertificate":"MIICCgKCAgEA5Av/NZAJ5+V5E9Mswh5fjqTK8pEXVGhcYLO2/qBPxGctQ2jYWvqnrqxumZQhD8AXwUAPNm5NZ4NOhkoZo2YN3xPf8Tsxr2wrKkl/EeX55Jlnvw3U9jjQRES7fMR4Io7e0EUavLlKI0SHA3i9AsGzG041Df8BKEcRBpjvpmIkG9BWvikHELCOmhv0dr6Lx4ovMDBf8uP17QdilDhyxorEZeLbd/VIZWjdFHYK+rO4tCadaeecF2GdtNUVdv9uEyRRq4LshZnw5BQjMquqm9W/aIDsPMU959Uotf9aW4UDlW9iybyBRSFtLOuxd+cmJ9oHw9riAq3Fi5UoHDa29kDNp4PaJJBgpUaSfGdKpymDxrtOtchbBdaV0dPaXeVCUMNHXhN9GRkWIHKPVV+qMPOOchbgNf/G/F325h3qfRwuW9pV4Y8MD24h3BZ3PEuyT15CY0BiaPKdpOtER2+K5aUZnI9ihXYEXS1jsxaa5aIimVEZOREPCPk7mI7A3vqjPe4hBGvRtGFLa/dg44WXLetorJU8kFZdP2/hdbxZPMz8XdLbm0kroebp+D+ruDk7QSqsac+kJ8q8ABGHX1QeWUo0DGIMTS9pJyRaFzG8ftudtkYsOBR1NDTkAi3iK+XPntpzcIJHQ/nk/WAMMoAFYJYvzFblxEzOMVD44dnADrucE3cCAwEAAQ==","aadProfile":{"tenantId":"","clientAppId":"","serverAppId":""},"distribution":"aks","infrastructure":"azure","kubernetesVersion":"1.22.1","totalNodeCount":3,"agentVersion":"1.5.2","totalCoreCount":6,"lastConnectivityTime":"2021-10-13T22:54:04.715Z","managedIdentityCertificateExpirationTime":"2022-01-04T23:12:00Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '1527' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 13 Oct 2021 22:54:10 GMT - etag: - - '"0d006390-0000-3400-0000-616763920000"' - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-providerhub-traffic: - - 'True' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.25.1 - method: GET - uri: https://raw.githubusercontent.com/Azure/osm-azure/v0.9.2/charts/osm-arc/values.yaml - response: - body: - string: "# Default values for osm-arc.\n# This is a YAML-formatted file.\n# - Declare variables to be passed into your templates.\n\n## Values populated - by Azure Arc K8s RP during the installation of the extension\nAzure:\n Cluster:\n - \ Distribution: \n\nOpenServiceMesh:\n ignoreNamespaces: - \"kube-system azure-arc arc-osm-system\"\n testedDistros: \"aks gke eks openshift - rancher_rke\"\n\nosm:\n OpenServiceMesh:\n enableDebugServer: false\n - \ enablePermissiveTrafficPolicy: true\n image:\n registry: mcr.microsoft.com/oss/openservicemesh\n - \ enforceSingleMesh: true\n deployPrometheus: false\n deployJaeger: - false\n webhookConfigNamePrefix: arc-osm-webhook\n sidecarImage: mcr.microsoft.com/oss/envoyproxy/envoy:v1.18.3\n - \ osmController:\n podLabels: {\n app.kubernetes.io/component: - osm-controller\n }\n injector:\n podLabels: {\n app.kubernetes.io/component: - osm-controller\n }\n\nalpine:\n image:\n name: \"mcr.microsoft.com/azure-policy/alpine\"\n - \ tag: \"prod_20200505.1\"\n\nkubectl:\n image:\n name: \"bitnami/kubectl\"\n - \ tag: \"latest\"\n\nhelm:\n image:\n name: \"alpine/helm\"\n tag: - \"latest\"\n" - headers: - accept-ranges: - - bytes - access-control-allow-origin: - - '*' - cache-control: - - max-age=300 - connection: - - keep-alive - content-length: - - '1146' - content-security-policy: - - default-src 'none'; style-src 'unsafe-inline'; sandbox - content-type: - - text/plain; charset=utf-8 - date: - - Wed, 13 Oct 2021 22:54:11 GMT - etag: - - W/"bb73fdc51d1aed007544edbbcb7b2c2da2c236cd18aeae0f55e91530aba0ef44" - expires: - - Wed, 13 Oct 2021 22:59:11 GMT - source-age: - - '0' - strict-transport-security: - - max-age=31536000 - vary: - - Authorization,Accept-Encoding,Origin - via: - - 1.1 varnish - x-cache: - - MISS - x-cache-hits: - - '0' - x-content-type-options: - - nosniff - x-fastly-request-id: - - ca005840835efe516f998ff0e96afecafc5ca333 - x-frame-options: - - deny - x-github-request-id: - - 534E:1F28:48016A:6A26FC:61675E67 - x-served-by: - - cache-sea4436-SEA - x-timer: - - S1634165651.917353,VS0,VE160 - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - k8s-extension create - Connection: - - keep-alive - ParameterSetName: - - -g -n -c --cluster-type --extension-type --release-train --version - User-Agent: - - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.0 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.9.6 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration?api-version=2021-04-01 response: @@ -150,21 +22,25 @@ interactions: US","West Europe","West Central US","West US 2","West US 3","South Central US","East US 2","North Europe","UK South","Southeast Asia","Australia East","France Central","Central US","North Central US","West US","Korea Central","East Asia","Japan - East","East US 2 EUAP"],"apiVersions":["2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"defaultApiVersion":"2021-03-01","capabilities":"SupportsExtension"},{"resourceType":"extensions","locations":["East + East","East US 2 EUAP"],"apiVersions":["2022-03-01","2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"defaultApiVersion":"2022-03-01","capabilities":"SupportsExtension"},{"resourceType":"extensions","locations":["East US","West Europe","West Central US","West US 2","West US 3","South Central US","East US 2","North Europe","UK South","Southeast Asia","Australia East","France Central","Central US","North Central US","West US","Korea Central","East Asia","Japan - East","East US 2 EUAP"],"apiVersions":["2021-05-01-preview","2020-07-01-preview"],"capabilities":"SystemAssignedResourceIdentity, - SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2021-09-01","2021-06-01-preview","2021-05-01-preview","2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + East","East US 2 EUAP"],"apiVersions":["2022-03-01","2021-09-01","2021-05-01-preview","2020-07-01-preview"],"defaultApiVersion":"2022-03-01","capabilities":"SystemAssignedResourceIdentity, + SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview","2021-12-01-preview","2021-11-01-preview","2021-09-01","2021-06-01-preview","2021-05-01-preview","2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"capabilities":"None"},{"resourceType":"fluxConfigurations","locations":["East + US 2 EUAP","East US","West Europe","West Central US","West US 2","West US + 3","South Central US","East US 2","North Europe","UK South","Southeast Asia","Australia + East","France Central","Central US","North Central US","West US","Korea Central","East + Asia","Japan East"],"apiVersions":["2022-03-01","2022-01-01-preview","2021-11-01-preview","2021-06-01-preview"],"defaultApiVersion":"2022-03-01","capabilities":"SupportsExtension"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' headers: cache-control: - no-cache content-length: - - '1878' + - '2512' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Oct 2021 22:54:10 GMT + - Fri, 18 Mar 2022 22:49:16 GMT expires: - '-1' pragma: @@ -179,9 +55,9 @@ interactions: code: 200 message: OK - request: - body: '{"properties": {"extensionType": "microsoft.openservicemesh", "releaseTrain": - "pilot", "version": "0.9.2", "scope": {"cluster": {}}, "configurationSettings": - {}, "configurationProtectedSettings": {}}}' + body: '{"properties": {"extensionType": "microsoft.dapr", "releaseTrain": "stable", + "version": "1.6.0", "configurationSettings": {}, "configurationProtectedSettings": + {}}}' headers: Accept: - application/json @@ -192,36 +68,36 @@ interactions: Connection: - keep-alive Content-Length: - - '200' + - '164' Content-Type: - application/json ParameterSetName: - - -g -n -c --cluster-type --extension-type --release-train --version + - -g -n -c --cluster-type --extension-type --release-train --version --no-wait User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0 Python/3.9.6 + (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions/dapr?api-version=2022-03-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh","name":"openservicemesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"pilot","version":"0.9.2","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"provisioningState":"Creating","installState":"Unknown","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-10-07T00:09:54.4243492+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-10-13T22:54:12.9030808+00:00"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions/dapr","name":"dapr","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.dapr","autoUpgradeMinorVersion":false,"releaseTrain":"stable","version":"1.6.0","scope":{"cluster":{"releaseNamespace":"dapr-system"}},"provisioningState":"Creating","installState":"Unknown","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2022-03-18T22:49:20.2443978+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2022-03-18T22:49:20.2443978+00:00"}}' headers: api-supported-versions: - - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01 + - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01, 2022-03-01, 2022-04-02-preview azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/b5613d65-be6a-422d-aae0-a7d0a6492f1d?api-Version=2021-09-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/ConnectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions/dapr/operations/5870c95a-4193-48a7-83da-10619fb90bd5?api-Version=2022-03-01 cache-control: - no-cache content-length: - - '853' + - '818' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Oct 2021 22:54:12 GMT + - Fri, 18 Mar 2022 22:49:19 GMT expires: - '-1' location: - - https://eastus2euap.rp.kubernetesconfiguration.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh + - https://eastus2euap.rp.kubernetesconfiguration.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/ConnectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions/dapr pragma: - no-cache strict-transport-security: @@ -233,194 +109,6 @@ interactions: status: code: 201 message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - k8s-extension create - Connection: - - keep-alive - ParameterSetName: - - -g -n -c --cluster-type --extension-type --release-train --version - User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/b5613d65-be6a-422d-aae0-a7d0a6492f1d?api-Version=2021-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/b5613d65-be6a-422d-aae0-a7d0a6492f1d","name":"b5613d65-be6a-422d-aae0-a7d0a6492f1d","status":"Creating"}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2021-05-01-preview, 2021-06-01-preview, 2021-09-01 - cache-control: - - no-cache - content-length: - - '336' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 13 Oct 2021 22:54:43 GMT - expires: - - '-1' - pragma: - - no-cache - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - k8s-extension create - Connection: - - keep-alive - ParameterSetName: - - -g -n -c --cluster-type --extension-type --release-train --version - User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/b5613d65-be6a-422d-aae0-a7d0a6492f1d?api-Version=2021-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/b5613d65-be6a-422d-aae0-a7d0a6492f1d","name":"b5613d65-be6a-422d-aae0-a7d0a6492f1d","status":"Creating"}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2021-05-01-preview, 2021-06-01-preview, 2021-09-01 - cache-control: - - no-cache - content-length: - - '336' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 13 Oct 2021 22:55:14 GMT - expires: - - '-1' - pragma: - - no-cache - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - k8s-extension create - Connection: - - keep-alive - ParameterSetName: - - -g -n -c --cluster-type --extension-type --release-train --version - User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/b5613d65-be6a-422d-aae0-a7d0a6492f1d?api-Version=2021-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/b5613d65-be6a-422d-aae0-a7d0a6492f1d","name":"b5613d65-be6a-422d-aae0-a7d0a6492f1d","status":"Succeeded"}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2021-05-01-preview, 2021-06-01-preview, 2021-09-01 - cache-control: - - no-cache - content-length: - - '337' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 13 Oct 2021 22:55:44 GMT - expires: - - '-1' - pragma: - - no-cache - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - k8s-extension create - Connection: - - keep-alive - ParameterSetName: - - -g -n -c --cluster-type --extension-type --release-train --version - User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh?api-version=2021-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh","name":"openservicemesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"pilot","version":"0.9.2","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"provisioningState":"Succeeded","installState":"Installed","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-10-07T00:09:54.4243492+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-10-13T22:54:12.9030808+00:00"}}' - headers: - api-supported-versions: - - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01 - cache-control: - - no-cache - content-length: - - '856' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 13 Oct 2021 22:55:45 GMT - expires: - - '-1' - pragma: - - no-cache - 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: @@ -435,30 +123,24 @@ interactions: ParameterSetName: - -c -g --cluster-type User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0 Python/3.9.6 + (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions?api-version=2022-03-01 response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh","name":"openservicemesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"pilot","version":"0.9.2","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"provisioningState":"Succeeded","installState":"Installed","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-10-07T00:09:54.4243492+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-10-13T22:54:12.9030808+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/azuremonitor-containers","name":"azuremonitor-containers","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.azuremonitor.containers","autoUpgradeMinorVersion":true,"releaseTrain":"Stable","version":"2.8.2","scope":{"cluster":{"releaseNamespace":"azuremonitor-containers"}},"provisioningState":"Failed","installState":"Failed","configurationSettings":{"logAnalyticsWorkspaceResourceID":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-0e750457-5252-493e-95a3-e40e6a460bf0-eus"},"configurationProtectedSettings":{"omsagent.secret.wsid":"","omsagent.secret.key":""},"statuses":[{"code":"InstallationFailed","displayStatus":null,"level":null,"message":"Error: - {failed to install chart from path [] for release [azuremonitor-containers]: - err [unable to build kubernetes objects from release manifest: [unable to - recognize \"\": no matches for kind \"ClusterRole\" in version \"rbac.authorization.k8s.io/v1beta1\", - unable to recognize \"\": no matches for kind \"ClusterRoleBinding\" in version - \"rbac.authorization.k8s.io/v1beta1\"]]} occurred while doing the operation - : {Installing the extension} on the config","time":null}],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-10-07T20:18:32.2074073+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-10-07T20:18:32.2074073+00:00"},"identity":{"type":"SystemAssigned","principalId":"e0e4d71f-00be-4972-9395-e4babc04bdd9"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/cassandra","name":"cassandra","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"cassandradatacentersoperator","autoUpgradeMinorVersion":true,"releaseTrain":"Stable","version":"1.1.18","scope":{"namespace":{"targetNamespace":"cassandrans"}},"provisioningState":"Succeeded","installState":"Installed","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-10-07T00:56:12.7708078+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-10-07T00:56:12.7708078+00:00"},"identity":{"type":"SystemAssigned","principalId":"93e7c7d2-2fe0-4e30-9742-3d4230a3cd6a"}}],"nextLink":null}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions/dapr","name":"dapr","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.dapr","autoUpgradeMinorVersion":false,"releaseTrain":"stable","version":"1.6.0","scope":{"cluster":{"releaseNamespace":"dapr-system"}},"provisioningState":"Creating","installState":"Unknown","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2022-03-18T22:49:20.2443978+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2022-03-18T22:49:20.2443978+00:00"}}],"nextLink":null}' headers: api-supported-versions: - - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01 + - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01, 2022-03-01, 2022-04-02-preview cache-control: - no-cache content-length: - - '3627' + - '846' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Oct 2021 22:55:47 GMT + - Fri, 18 Mar 2022 22:49:20 GMT expires: - '-1' pragma: @@ -488,24 +170,24 @@ interactions: ParameterSetName: - -c -g -n --cluster-type User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0 Python/3.9.6 + (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions/dapr?api-version=2022-03-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh","name":"openservicemesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"pilot","version":"0.9.2","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"provisioningState":"Succeeded","installState":"Installed","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-10-07T00:09:54.4243492+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-10-13T22:54:12.9030808+00:00"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions/dapr","name":"dapr","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.dapr","autoUpgradeMinorVersion":false,"releaseTrain":"stable","version":"1.6.0","scope":{"cluster":{"releaseNamespace":"dapr-system"}},"provisioningState":"Creating","installState":"Unknown","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2022-03-18T22:49:20.2443978+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2022-03-18T22:49:20.2443978+00:00"}}' headers: api-supported-versions: - - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01 + - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01, 2022-03-01, 2022-04-02-preview cache-control: - no-cache content-length: - - '856' + - '818' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Oct 2021 22:55:48 GMT + - Fri, 18 Mar 2022 22:49:22 GMT expires: - '-1' pragma: @@ -533,26 +215,26 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -c -n --cluster-type -y + - -g -c -n --cluster-type --force -y User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0 Python/3.9.6 + (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions/dapr?api-version=2022-03-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh","name":"openservicemesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"pilot","version":"0.9.2","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"provisioningState":"Succeeded","installState":"Installed","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-10-07T00:09:54.4243492+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-10-13T22:54:12.9030808+00:00"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions/dapr","name":"dapr","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.dapr","autoUpgradeMinorVersion":false,"releaseTrain":"stable","version":"1.6.0","scope":{"cluster":{"releaseNamespace":"dapr-system"}},"provisioningState":"Creating","installState":"Unknown","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2022-03-18T22:49:20.2443978+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2022-03-18T22:49:20.2443978+00:00"}}' headers: api-supported-versions: - - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01 + - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01, 2022-03-01, 2022-04-02-preview cache-control: - no-cache content-length: - - '856' + - '818' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Oct 2021 22:55:50 GMT + - Fri, 18 Mar 2022 22:49:22 GMT expires: - '-1' pragma: @@ -582,212 +264,26 @@ interactions: Content-Length: - '0' ParameterSetName: - - -g -c -n --cluster-type -y + - -g -c -n --cluster-type --force -y User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0 Python/3.9.6 + (Windows-10-10.0.22000-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh?api-version=2021-09-01&forceDelete=false - response: - body: - string: '' - headers: - api-supported-versions: - - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01 - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/c242312c-0d18-413d-8b0a-efd7cfd0ad0e?api-Version=2021-09-01 - cache-control: - - no-cache - content-length: - - '0' - date: - - Wed, 13 Oct 2021 22:55:51 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - k8s-extension delete - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type -y - User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/c242312c-0d18-413d-8b0a-efd7cfd0ad0e?api-Version=2021-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/c242312c-0d18-413d-8b0a-efd7cfd0ad0e","name":"c242312c-0d18-413d-8b0a-efd7cfd0ad0e","status":"Deleting"}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2021-05-01-preview, 2021-06-01-preview, 2021-09-01 - cache-control: - - no-cache - content-length: - - '336' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 13 Oct 2021 22:56:21 GMT - expires: - - '-1' - pragma: - - no-cache - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - k8s-extension delete - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type -y - User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/c242312c-0d18-413d-8b0a-efd7cfd0ad0e?api-Version=2021-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/c242312c-0d18-413d-8b0a-efd7cfd0ad0e","name":"c242312c-0d18-413d-8b0a-efd7cfd0ad0e","status":"Deleting"}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2021-05-01-preview, 2021-06-01-preview, 2021-09-01 - cache-control: - - no-cache - content-length: - - '336' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 13 Oct 2021 22:56:52 GMT - expires: - - '-1' - pragma: - - no-cache - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - k8s-extension delete - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type -y - User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/c242312c-0d18-413d-8b0a-efd7cfd0ad0e?api-Version=2021-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/c242312c-0d18-413d-8b0a-efd7cfd0ad0e","name":"c242312c-0d18-413d-8b0a-efd7cfd0ad0e","status":"Deleting"}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2021-05-01-preview, 2021-06-01-preview, 2021-09-01 - cache-control: - - no-cache - content-length: - - '336' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 13 Oct 2021 22:57:23 GMT - expires: - - '-1' - pragma: - - no-cache - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - k8s-extension delete - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type -y - User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/c242312c-0d18-413d-8b0a-efd7cfd0ad0e?api-Version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions/dapr?api-version=2022-03-01&forceDelete=true response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/c242312c-0d18-413d-8b0a-efd7cfd0ad0e","name":"c242312c-0d18-413d-8b0a-efd7cfd0ad0e","status":"Succeeded"}' + string: '{"content":null,"statusCode":200,"headers":[],"version":"1.1","reasonPhrase":"OK","trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' headers: api-supported-versions: - - 2019-11-01-Preview, 2021-05-01-preview, 2021-06-01-preview, 2021-09-01 + - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01, 2022-03-01, 2022-04-02-preview cache-control: - no-cache content-length: - - '337' + - '152' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Oct 2021 22:57:53 GMT + - Fri, 18 Mar 2022 22:49:24 GMT expires: - '-1' pragma: @@ -800,6 +296,8 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' status: code: 200 message: OK @@ -817,30 +315,24 @@ interactions: ParameterSetName: - -c -g --cluster-type User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0 Python/3.9.6 + (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions?api-version=2022-03-01 response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/azuremonitor-containers","name":"azuremonitor-containers","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.azuremonitor.containers","autoUpgradeMinorVersion":true,"releaseTrain":"Stable","version":"2.8.2","scope":{"cluster":{"releaseNamespace":"azuremonitor-containers"}},"provisioningState":"Failed","installState":"Failed","configurationSettings":{"logAnalyticsWorkspaceResourceID":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-0e750457-5252-493e-95a3-e40e6a460bf0-eus"},"configurationProtectedSettings":{"omsagent.secret.wsid":"","omsagent.secret.key":""},"statuses":[{"code":"InstallationFailed","displayStatus":null,"level":null,"message":"Error: - {failed to install chart from path [] for release [azuremonitor-containers]: - err [unable to build kubernetes objects from release manifest: [unable to - recognize \"\": no matches for kind \"ClusterRole\" in version \"rbac.authorization.k8s.io/v1beta1\", - unable to recognize \"\": no matches for kind \"ClusterRoleBinding\" in version - \"rbac.authorization.k8s.io/v1beta1\"]]} occurred while doing the operation - : {Installing the extension} on the config","time":null}],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-10-07T20:18:32.2074073+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-10-07T20:18:32.2074073+00:00"},"identity":{"type":"SystemAssigned","principalId":"e0e4d71f-00be-4972-9395-e4babc04bdd9"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/cassandra","name":"cassandra","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"cassandradatacentersoperator","autoUpgradeMinorVersion":true,"releaseTrain":"Stable","version":"1.1.18","scope":{"namespace":{"targetNamespace":"cassandrans"}},"provisioningState":"Succeeded","installState":"Installed","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-10-07T00:56:12.7708078+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-10-07T00:56:12.7708078+00:00"},"identity":{"type":"SystemAssigned","principalId":"93e7c7d2-2fe0-4e30-9742-3d4230a3cd6a"}}],"nextLink":null}' + string: '{"value":[],"nextLink":null}' headers: api-supported-versions: - - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01 + - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01, 2022-03-01, 2022-04-02-preview cache-control: - no-cache content-length: - - '2770' + - '28' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Oct 2021 22:57:55 GMT + - Fri, 18 Mar 2022 22:49:25 GMT expires: - '-1' pragma: diff --git a/src/k8s-extension/azext_k8s_extension/tests/latest/test_k8s_extension_scenario.py b/src/k8s-extension/azext_k8s_extension/tests/latest/test_k8s_extension_scenario.py index 47dc82ae37b..6a0369bfcdc 100644 --- a/src/k8s-extension/azext_k8s_extension/tests/latest/test_k8s_extension_scenario.py +++ b/src/k8s-extension/azext_k8s_extension/tests/latest/test_k8s_extension_scenario.py @@ -15,27 +15,20 @@ class K8sExtensionScenarioTest(ScenarioTest): @record_only() def test_k8s_extension(self): - resource_type = 'microsoft.openservicemesh' + extension_type = 'microsoft.dapr' self.kwargs.update({ - 'name': 'openservicemesh', - 'rg': 'nanthirg1006', - 'cluster_name': 'nanthiaks1006', + 'name': 'dapr', + 'rg': 'azurecli-tests', + 'cluster_name': 'arc-cluster', 'cluster_type': 'connectedClusters', - 'extension_type': resource_type, - 'release_train': 'pilot', - 'version': '0.9.2' + 'extension_type': extension_type, + 'release_train': 'stable', + 'version': '1.6.0', }) self.cmd('k8s-extension create -g {rg} -n {name} -c {cluster_name} --cluster-type {cluster_type} ' - '--extension-type {extension_type} --release-train {release_train} --version {version}', - checks=[ - self.check('name', '{name}'), - self.check('releaseTrain', '{release_train}'), - self.check('version', '{version}'), - self.check('resourceGroup', '{rg}'), - self.check('extensionType', '{extension_type}') - ] - ) + '--extension-type {extension_type} --release-train {release_train} --version {version} ' + '--no-wait') # Update requires agent running in k8s cluster that is connected to Azure - so no update tests here # self.cmd('k8s-extension update -g {rg} -n {name} --tags foo=boo', checks=[ @@ -45,7 +38,7 @@ def test_k8s_extension(self): installed_exts = self.cmd('k8s-extension list -c {cluster_name} -g {rg} --cluster-type {cluster_type}').get_output_in_json() found_extension = False for item in installed_exts: - if item['extensionType'] == resource_type: + if item['extensionType'] == extension_type: found_extension = True break self.assertTrue(found_extension) @@ -58,12 +51,12 @@ def test_k8s_extension(self): self.check('extensionType', '{extension_type}') ]) - self.cmd('k8s-extension delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y') + self.cmd('k8s-extension delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} --force -y') installed_exts = self.cmd('k8s-extension list -c {cluster_name} -g {rg} --cluster-type {cluster_type}').get_output_in_json() found_extension = False for item in installed_exts: - if item['extensionType'] == resource_type: + if item['extensionType'] == extension_type: found_extension = True break self.assertFalse(found_extension) diff --git a/src/k8s-extension/azext_k8s_extension/utils.py b/src/k8s-extension/azext_k8s_extension/utils.py index 9c7322cdf70..c587c3050a1 100644 --- a/src/k8s-extension/azext_k8s_extension/utils.py +++ b/src/k8s-extension/azext_k8s_extension/utils.py @@ -6,7 +6,7 @@ import json from typing import Tuple from urllib.parse import urlparse -from azext_k8s_extension import consts +from . import consts from azure.cli.core.azclierror import InvalidArgumentValueError diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/__init__.py index f13062376d7..b0a136e072d 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/__init__.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/__init__.py @@ -7,9 +7,6 @@ # -------------------------------------------------------------------------- from ._source_control_configuration_client import SourceControlConfigurationClient -from ._version import VERSION - -__version__ = VERSION __all__ = ['SourceControlConfigurationClient'] try: diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/_configuration.py index abc45d20646..6cd5f3b0fb0 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/_configuration.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/_configuration.py @@ -1,16 +1,18 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. # -------------------------------------------------------------------------- - from typing import TYPE_CHECKING from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy from ._version import VERSION @@ -20,7 +22,6 @@ from azure.core.credentials import TokenCredential - class SourceControlConfigurationClientConfiguration(Configuration): """Configuration for SourceControlConfigurationClient. @@ -48,9 +49,8 @@ def __init__( self.credential = credential self.subscription_id = subscription_id - self.api_version = "2021-09-01" self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + kwargs.setdefault('sdk_moniker', 'azure-mgmt-kubernetesconfiguration/{}'.format(VERSION)) self._configure(**kwargs) def _configure( @@ -68,4 +68,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/_metadata.json b/src/k8s-extension/azext_k8s_extension/vendored_sdks/_metadata.json deleted file mode 100644 index 01a86003f7e..00000000000 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/_metadata.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "chosen_version": "2021-09-01", - "total_api_version_list": ["2021-09-01"], - "client": { - "name": "SourceControlConfigurationClient", - "filename": "_source_control_configuration_client", - "description": "KubernetesConfiguration Client.", - "base_url": "\u0027https://management.azure.com\u0027", - "custom_base_url": null, - "azure_arm": true, - "has_lro_operations": true, - "client_side_validation": false, - "sync_imports": "{\"typing\": {\"azurecore\": {\"azure.core.credentials\": [\"TokenCredential\"]}}, \"regular\": {\"azurecore\": {\"azure.profiles\": [\"KnownProfiles\", \"ProfileDefinition\"], \"azure.profiles.multiapiclient\": [\"MultiApiClientMixin\"], \"msrest\": [\"Deserializer\", \"Serializer\"], \"azure.mgmt.core\": [\"ARMPipelineClient\"]}, \"local\": {\"._configuration\": [\"SourceControlConfigurationClientConfiguration\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Optional\"]}, \"azurecore\": {\"azure.core.pipeline.transport\": [\"HttpRequest\", \"HttpResponse\"]}}}", - "async_imports": "{\"typing\": {\"azurecore\": {\"azure.core.credentials_async\": [\"AsyncTokenCredential\"]}}, \"regular\": {\"azurecore\": {\"azure.profiles\": [\"KnownProfiles\", \"ProfileDefinition\"], \"azure.profiles.multiapiclient\": [\"MultiApiClientMixin\"], \"msrest\": [\"Deserializer\", \"Serializer\"], \"azure.mgmt.core\": [\"AsyncARMPipelineClient\"]}, \"local\": {\"._configuration\": [\"SourceControlConfigurationClientConfiguration\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Optional\"]}, \"azurecore\": {\"azure.core.pipeline.transport\": [\"AsyncHttpResponse\", \"HttpRequest\"]}}}" - }, - "global_parameters": { - "sync": { - "credential": { - "signature": "credential, # type: \"TokenCredential\"", - "description": "Credential needed for the client to connect to Azure.", - "docstring_type": "~azure.core.credentials.TokenCredential", - "required": true - }, - "subscription_id": { - "signature": "subscription_id, # type: str", - "description": "The ID of the target subscription.", - "docstring_type": "str", - "required": true - } - }, - "async": { - "credential": { - "signature": "credential: \"AsyncTokenCredential\",", - "description": "Credential needed for the client to connect to Azure.", - "docstring_type": "~azure.core.credentials_async.AsyncTokenCredential", - "required": true - }, - "subscription_id": { - "signature": "subscription_id: str,", - "description": "The ID of the target subscription.", - "docstring_type": "str", - "required": true - } - }, - "constant": { - }, - "call": "credential, subscription_id", - "service_client_specific": { - "sync": { - "api_version": { - "signature": "api_version=None, # type: Optional[str]", - "description": "API version to use if no profile is provided, or if missing in profile.", - "docstring_type": "str", - "required": false - }, - "base_url": { - "signature": "base_url=None, # type: Optional[str]", - "description": "Service URL", - "docstring_type": "str", - "required": false - }, - "profile": { - "signature": "profile=KnownProfiles.default, # type: KnownProfiles", - "description": "A profile definition, from KnownProfiles to dict.", - "docstring_type": "azure.profiles.KnownProfiles", - "required": false - } - }, - "async": { - "api_version": { - "signature": "api_version: Optional[str] = None,", - "description": "API version to use if no profile is provided, or if missing in profile.", - "docstring_type": "str", - "required": false - }, - "base_url": { - "signature": "base_url: Optional[str] = None,", - "description": "Service URL", - "docstring_type": "str", - "required": false - }, - "profile": { - "signature": "profile: KnownProfiles = KnownProfiles.default,", - "description": "A profile definition, from KnownProfiles to dict.", - "docstring_type": "azure.profiles.KnownProfiles", - "required": false - } - } - } - }, - "config": { - "credential": true, - "credential_scopes": ["https://management.azure.com/.default"], - "credential_default_policy_type": "BearerTokenCredentialPolicy", - "credential_default_policy_type_has_async_version": true, - "credential_key_header_name": null, - "sync_imports": "{\"regular\": {\"azurecore\": {\"azure.core.configuration\": [\"Configuration\"], \"azure.core.pipeline\": [\"policies\"], \"azure.mgmt.core.policies\": [\"ARMHttpLoggingPolicy\"]}, \"local\": {\"._version\": [\"VERSION\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\"]}}, \"typing\": {\"azurecore\": {\"azure.core.credentials\": [\"TokenCredential\"]}}}", - "async_imports": "{\"regular\": {\"azurecore\": {\"azure.core.configuration\": [\"Configuration\"], \"azure.core.pipeline\": [\"policies\"], \"azure.mgmt.core.policies\": [\"ARMHttpLoggingPolicy\"]}, \"local\": {\".._version\": [\"VERSION\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\"]}}, \"typing\": {\"azurecore\": {\"azure.core.credentials_async\": [\"AsyncTokenCredential\"]}}}" - }, - "operation_groups": { - "extensions": "ExtensionsOperations", - "operation_status": "OperationStatusOperations", - "operations": "Operations" - } -} \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/_source_control_configuration_client.py index 7b567be1cb6..a75870fe68b 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/_source_control_configuration_client.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/_source_control_configuration_client.py @@ -1,99 +1,368 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. # -------------------------------------------------------------------------- from typing import TYPE_CHECKING from azure.mgmt.core import ARMPipelineClient +from azure.profiles import KnownProfiles, ProfileDefinition +from azure.profiles.multiapiclient import MultiApiClientMixin from msrest import Deserializer, Serializer +from ._configuration import SourceControlConfigurationClientConfiguration + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from typing import Any, Optional from azure.core.credentials import TokenCredential - from azure.core.pipeline.transport import HttpRequest, HttpResponse - -from ._configuration import SourceControlConfigurationClientConfiguration -from .operations import ExtensionsOperations -from .operations import OperationStatusOperations -from .operations import Operations -from . import models +class _SDKClient(object): + def __init__(self, *args, **kwargs): + """This is a fake class to support current implemetation of MultiApiClientMixin." + Will be removed in final version of multiapi azure-core based client + """ + pass -class SourceControlConfigurationClient(object): +class SourceControlConfigurationClient(MultiApiClientMixin, _SDKClient): """KubernetesConfiguration Client. - :ivar extensions: ExtensionsOperations operations - :vartype extensions: azure.mgmt.kubernetesconfiguration.operations.ExtensionsOperations - :ivar operation_status: OperationStatusOperations operations - :vartype operation_status: azure.mgmt.kubernetesconfiguration.operations.OperationStatusOperations - :ivar operations: Operations operations - :vartype operations: azure.mgmt.kubernetesconfiguration.operations.Operations + This ready contains multiple API versions, to help you deal with all of the Azure clouds + (Azure Stack, Azure Government, Azure China, etc.). + By default, it uses the latest API version available on public Azure. + For production, you should stick to a particular api-version and/or profile. + The profile sets a mapping between an operation group and its API version. + The api-version parameter sets the default API version if the operation + group is not described in the profile. + :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The ID of the target subscription. :type subscription_id: str - :param str base_url: Service URL + :param api_version: API version to use if no profile is provided, or if missing in profile. + :type api_version: str + :param base_url: Service URL + :type base_url: str + :param profile: A profile definition, from KnownProfiles to dict. + :type profile: azure.profiles.KnownProfiles :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ + DEFAULT_API_VERSION = '2022-03-01' + _PROFILE_TAG = "azure.mgmt.kubernetesconfiguration.SourceControlConfigurationClient" + LATEST_PROFILE = ProfileDefinition({ + _PROFILE_TAG: { + None: DEFAULT_API_VERSION, + 'cluster_extension_type': '2022-01-01-preview', + 'cluster_extension_types': '2022-01-01-preview', + 'extension_type_versions': '2022-01-01-preview', + 'location_extension_types': '2022-01-01-preview', + }}, + _PROFILE_TAG + " latest" + ) + def __init__( self, credential, # type: "TokenCredential" subscription_id, # type: str - base_url=None, # type: Optional[str] + api_version=None, # type: Optional[str] + base_url="https://management.azure.com", # type: str + profile=KnownProfiles.default, # type: KnownProfiles **kwargs # type: Any ): - # type: (...) -> None - if not base_url: - base_url = 'https://management.azure.com' self._config = SourceControlConfigurationClientConfiguration(credential, subscription_id, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + super(SourceControlConfigurationClient, self).__init__( + api_version=api_version, + profile=profile + ) + + @classmethod + def _models_dict(cls, api_version): + return {k: v for k, v in cls.models(api_version).__dict__.items() if isinstance(v, type)} + + @classmethod + def models(cls, api_version=DEFAULT_API_VERSION): + """Module depends on the API version: + + * 2020-07-01-preview: :mod:`v2020_07_01_preview.models` + * 2020-10-01-preview: :mod:`v2020_10_01_preview.models` + * 2021-03-01: :mod:`v2021_03_01.models` + * 2021-05-01-preview: :mod:`v2021_05_01_preview.models` + * 2021-09-01: :mod:`v2021_09_01.models` + * 2021-11-01-preview: :mod:`v2021_11_01_preview.models` + * 2022-01-01-preview: :mod:`v2022_01_01_preview.models` + * 2022-03-01: :mod:`v2022_03_01.models` + """ + if api_version == '2020-07-01-preview': + from .v2020_07_01_preview import models + return models + elif api_version == '2020-10-01-preview': + from .v2020_10_01_preview import models + return models + elif api_version == '2021-03-01': + from .v2021_03_01 import models + return models + elif api_version == '2021-05-01-preview': + from .v2021_05_01_preview import models + return models + elif api_version == '2021-09-01': + from .v2021_09_01 import models + return models + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview import models + return models + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview import models + return models + elif api_version == '2022-03-01': + from .v2022_03_01 import models + return models + raise ValueError("API version {} is not available".format(api_version)) + + @property + def cluster_extension_type(self): + """Instance depends on the API version: + + * 2021-05-01-preview: :class:`ClusterExtensionTypeOperations` + * 2021-11-01-preview: :class:`ClusterExtensionTypeOperations` + * 2022-01-01-preview: :class:`ClusterExtensionTypeOperations` + """ + api_version = self._get_api_version('cluster_extension_type') + if api_version == '2021-05-01-preview': + from .v2021_05_01_preview.operations import ClusterExtensionTypeOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import ClusterExtensionTypeOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import ClusterExtensionTypeOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'cluster_extension_type'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def cluster_extension_types(self): + """Instance depends on the API version: + + * 2021-05-01-preview: :class:`ClusterExtensionTypesOperations` + * 2021-11-01-preview: :class:`ClusterExtensionTypesOperations` + * 2022-01-01-preview: :class:`ClusterExtensionTypesOperations` + """ + api_version = self._get_api_version('cluster_extension_types') + if api_version == '2021-05-01-preview': + from .v2021_05_01_preview.operations import ClusterExtensionTypesOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import ClusterExtensionTypesOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import ClusterExtensionTypesOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'cluster_extension_types'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def extension_type_versions(self): + """Instance depends on the API version: + + * 2021-05-01-preview: :class:`ExtensionTypeVersionsOperations` + * 2021-11-01-preview: :class:`ExtensionTypeVersionsOperations` + * 2022-01-01-preview: :class:`ExtensionTypeVersionsOperations` + """ + api_version = self._get_api_version('extension_type_versions') + if api_version == '2021-05-01-preview': + from .v2021_05_01_preview.operations import ExtensionTypeVersionsOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import ExtensionTypeVersionsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import ExtensionTypeVersionsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'extension_type_versions'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def extensions(self): + """Instance depends on the API version: - client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self._serialize = Serializer(client_models) - self._serialize.client_side_validation = False - self._deserialize = Deserializer(client_models) - - self.extensions = ExtensionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operation_status = OperationStatusOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - - def _send_request(self, http_request, **kwargs): - # type: (HttpRequest, Any) -> HttpResponse - """Runs the network request through the client's chained policies. - - :param http_request: The network request you want to make. Required. - :type http_request: ~azure.core.pipeline.transport.HttpRequest - :keyword bool stream: Whether the response payload will be streamed. Defaults to True. - :return: The response of your network call. Does not do error handling on your response. - :rtype: ~azure.core.pipeline.transport.HttpResponse + * 2020-07-01-preview: :class:`ExtensionsOperations` + * 2021-05-01-preview: :class:`ExtensionsOperations` + * 2021-09-01: :class:`ExtensionsOperations` + * 2021-11-01-preview: :class:`ExtensionsOperations` + * 2022-01-01-preview: :class:`ExtensionsOperations` + * 2022-03-01: :class:`ExtensionsOperations` """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - http_request.url = self._client.format_url(http_request.url, **path_format_arguments) - stream = kwargs.pop("stream", True) - pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response + api_version = self._get_api_version('extensions') + if api_version == '2020-07-01-preview': + from .v2020_07_01_preview.operations import ExtensionsOperations as OperationClass + elif api_version == '2021-05-01-preview': + from .v2021_05_01_preview.operations import ExtensionsOperations as OperationClass + elif api_version == '2021-09-01': + from .v2021_09_01.operations import ExtensionsOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import ExtensionsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import ExtensionsOperations as OperationClass + elif api_version == '2022-03-01': + from .v2022_03_01.operations import ExtensionsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'extensions'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def flux_config_operation_status(self): + """Instance depends on the API version: + + * 2021-11-01-preview: :class:`FluxConfigOperationStatusOperations` + * 2022-01-01-preview: :class:`FluxConfigOperationStatusOperations` + * 2022-03-01: :class:`FluxConfigOperationStatusOperations` + """ + api_version = self._get_api_version('flux_config_operation_status') + if api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import FluxConfigOperationStatusOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import FluxConfigOperationStatusOperations as OperationClass + elif api_version == '2022-03-01': + from .v2022_03_01.operations import FluxConfigOperationStatusOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'flux_config_operation_status'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def flux_configurations(self): + """Instance depends on the API version: + + * 2021-11-01-preview: :class:`FluxConfigurationsOperations` + * 2022-01-01-preview: :class:`FluxConfigurationsOperations` + * 2022-03-01: :class:`FluxConfigurationsOperations` + """ + api_version = self._get_api_version('flux_configurations') + if api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import FluxConfigurationsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import FluxConfigurationsOperations as OperationClass + elif api_version == '2022-03-01': + from .v2022_03_01.operations import FluxConfigurationsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'flux_configurations'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def location_extension_types(self): + """Instance depends on the API version: + + * 2021-05-01-preview: :class:`LocationExtensionTypesOperations` + * 2021-11-01-preview: :class:`LocationExtensionTypesOperations` + * 2022-01-01-preview: :class:`LocationExtensionTypesOperations` + """ + api_version = self._get_api_version('location_extension_types') + if api_version == '2021-05-01-preview': + from .v2021_05_01_preview.operations import LocationExtensionTypesOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import LocationExtensionTypesOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import LocationExtensionTypesOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'location_extension_types'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def operation_status(self): + """Instance depends on the API version: + + * 2021-05-01-preview: :class:`OperationStatusOperations` + * 2021-09-01: :class:`OperationStatusOperations` + * 2021-11-01-preview: :class:`OperationStatusOperations` + * 2022-01-01-preview: :class:`OperationStatusOperations` + * 2022-03-01: :class:`OperationStatusOperations` + """ + api_version = self._get_api_version('operation_status') + if api_version == '2021-05-01-preview': + from .v2021_05_01_preview.operations import OperationStatusOperations as OperationClass + elif api_version == '2021-09-01': + from .v2021_09_01.operations import OperationStatusOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import OperationStatusOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import OperationStatusOperations as OperationClass + elif api_version == '2022-03-01': + from .v2022_03_01.operations import OperationStatusOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'operation_status'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def operations(self): + """Instance depends on the API version: + + * 2020-07-01-preview: :class:`Operations` + * 2020-10-01-preview: :class:`Operations` + * 2021-03-01: :class:`Operations` + * 2021-05-01-preview: :class:`Operations` + * 2021-09-01: :class:`Operations` + * 2021-11-01-preview: :class:`Operations` + * 2022-01-01-preview: :class:`Operations` + * 2022-03-01: :class:`Operations` + """ + api_version = self._get_api_version('operations') + if api_version == '2020-07-01-preview': + from .v2020_07_01_preview.operations import Operations as OperationClass + elif api_version == '2020-10-01-preview': + from .v2020_10_01_preview.operations import Operations as OperationClass + elif api_version == '2021-03-01': + from .v2021_03_01.operations import Operations as OperationClass + elif api_version == '2021-05-01-preview': + from .v2021_05_01_preview.operations import Operations as OperationClass + elif api_version == '2021-09-01': + from .v2021_09_01.operations import Operations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import Operations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import Operations as OperationClass + elif api_version == '2022-03-01': + from .v2022_03_01.operations import Operations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'operations'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def source_control_configurations(self): + """Instance depends on the API version: + + * 2020-07-01-preview: :class:`SourceControlConfigurationsOperations` + * 2020-10-01-preview: :class:`SourceControlConfigurationsOperations` + * 2021-03-01: :class:`SourceControlConfigurationsOperations` + * 2021-05-01-preview: :class:`SourceControlConfigurationsOperations` + * 2021-11-01-preview: :class:`SourceControlConfigurationsOperations` + * 2022-01-01-preview: :class:`SourceControlConfigurationsOperations` + * 2022-03-01: :class:`SourceControlConfigurationsOperations` + """ + api_version = self._get_api_version('source_control_configurations') + if api_version == '2020-07-01-preview': + from .v2020_07_01_preview.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2020-10-01-preview': + from .v2020_10_01_preview.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2021-03-01': + from .v2021_03_01.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2021-05-01-preview': + from .v2021_05_01_preview.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2022-03-01': + from .v2022_03_01.operations import SourceControlConfigurationsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'source_control_configurations'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) def close(self): - # type: () -> None self._client.close() - def __enter__(self): - # type: () -> SourceControlConfigurationClient self._client.__enter__() return self - def __exit__(self, *exc_details): - # type: (Any) -> None self._client.__exit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/_version.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/_version.py index e5754a47ce6..c47f66669f1 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/_version.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "1.0.0b1" +VERSION = "1.0.0" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/_configuration.py index 3f22841a050..dfeb48eb057 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/_configuration.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/_configuration.py @@ -1,16 +1,18 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. # -------------------------------------------------------------------------- - from typing import Any, TYPE_CHECKING from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy from .._version import VERSION @@ -18,7 +20,6 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential - class SourceControlConfigurationClientConfiguration(Configuration): """Configuration for SourceControlConfigurationClient. @@ -35,7 +36,7 @@ def __init__( self, credential: "AsyncTokenCredential", subscription_id: str, - **kwargs: Any + **kwargs # type: Any ) -> None: if credential is None: raise ValueError("Parameter 'credential' must not be None.") @@ -45,9 +46,8 @@ def __init__( self.credential = credential self.subscription_id = subscription_id - self.api_version = "2021-09-01" self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + kwargs.setdefault('sdk_moniker', 'azure-mgmt-kubernetesconfiguration/{}'.format(VERSION)) self._configure(**kwargs) def _configure( @@ -64,4 +64,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/_source_control_configuration_client.py index a8c84244f44..ed320e3b24c 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/_source_control_configuration_client.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/_source_control_configuration_client.py @@ -1,92 +1,367 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. # -------------------------------------------------------------------------- from typing import Any, Optional, TYPE_CHECKING -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core import AsyncARMPipelineClient +from azure.profiles import KnownProfiles, ProfileDefinition +from azure.profiles.multiapiclient import MultiApiClientMixin from msrest import Deserializer, Serializer +from ._configuration import SourceControlConfigurationClientConfiguration + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential from azure.core.credentials_async import AsyncTokenCredential -from ._configuration import SourceControlConfigurationClientConfiguration -from .operations import ExtensionsOperations -from .operations import OperationStatusOperations -from .operations import Operations -from .. import models - +class _SDKClient(object): + def __init__(self, *args, **kwargs): + """This is a fake class to support current implemetation of MultiApiClientMixin." + Will be removed in final version of multiapi azure-core based client + """ + pass -class SourceControlConfigurationClient(object): +class SourceControlConfigurationClient(MultiApiClientMixin, _SDKClient): """KubernetesConfiguration Client. - :ivar extensions: ExtensionsOperations operations - :vartype extensions: azure.mgmt.kubernetesconfiguration.aio.operations.ExtensionsOperations - :ivar operation_status: OperationStatusOperations operations - :vartype operation_status: azure.mgmt.kubernetesconfiguration.aio.operations.OperationStatusOperations - :ivar operations: Operations operations - :vartype operations: azure.mgmt.kubernetesconfiguration.aio.operations.Operations + This ready contains multiple API versions, to help you deal with all of the Azure clouds + (Azure Stack, Azure Government, Azure China, etc.). + By default, it uses the latest API version available on public Azure. + For production, you should stick to a particular api-version and/or profile. + The profile sets a mapping between an operation group and its API version. + The api-version parameter sets the default API version if the operation + group is not described in the profile. + :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials_async.AsyncTokenCredential :param subscription_id: The ID of the target subscription. :type subscription_id: str - :param str base_url: Service URL + :param api_version: API version to use if no profile is provided, or if missing in profile. + :type api_version: str + :param base_url: Service URL + :type base_url: str + :param profile: A profile definition, from KnownProfiles to dict. + :type profile: azure.profiles.KnownProfiles :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ + DEFAULT_API_VERSION = '2022-03-01' + _PROFILE_TAG = "azure.mgmt.kubernetesconfiguration.SourceControlConfigurationClient" + LATEST_PROFILE = ProfileDefinition({ + _PROFILE_TAG: { + None: DEFAULT_API_VERSION, + 'cluster_extension_type': '2022-01-01-preview', + 'cluster_extension_types': '2022-01-01-preview', + 'extension_type_versions': '2022-01-01-preview', + 'location_extension_types': '2022-01-01-preview', + }}, + _PROFILE_TAG + " latest" + ) + def __init__( self, credential: "AsyncTokenCredential", subscription_id: str, - base_url: Optional[str] = None, - **kwargs: Any + api_version: Optional[str] = None, + base_url: str = "https://management.azure.com", + profile: KnownProfiles = KnownProfiles.default, + **kwargs # type: Any ) -> None: - if not base_url: - base_url = 'https://management.azure.com' self._config = SourceControlConfigurationClientConfiguration(credential, subscription_id, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + super(SourceControlConfigurationClient, self).__init__( + api_version=api_version, + profile=profile + ) + + @classmethod + def _models_dict(cls, api_version): + return {k: v for k, v in cls.models(api_version).__dict__.items() if isinstance(v, type)} + + @classmethod + def models(cls, api_version=DEFAULT_API_VERSION): + """Module depends on the API version: - client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self._serialize = Serializer(client_models) - self._serialize.client_side_validation = False - self._deserialize = Deserializer(client_models) - - self.extensions = ExtensionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operation_status = OperationStatusOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - - async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: - """Runs the network request through the client's chained policies. - - :param http_request: The network request you want to make. Required. - :type http_request: ~azure.core.pipeline.transport.HttpRequest - :keyword bool stream: Whether the response payload will be streamed. Defaults to True. - :return: The response of your network call. Does not do error handling on your response. - :rtype: ~azure.core.pipeline.transport.AsyncHttpResponse + * 2020-07-01-preview: :mod:`v2020_07_01_preview.models` + * 2020-10-01-preview: :mod:`v2020_10_01_preview.models` + * 2021-03-01: :mod:`v2021_03_01.models` + * 2021-05-01-preview: :mod:`v2021_05_01_preview.models` + * 2021-09-01: :mod:`v2021_09_01.models` + * 2021-11-01-preview: :mod:`v2021_11_01_preview.models` + * 2022-01-01-preview: :mod:`v2022_01_01_preview.models` + * 2022-03-01: :mod:`v2022_03_01.models` """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - http_request.url = self._client.format_url(http_request.url, **path_format_arguments) - stream = kwargs.pop("stream", True) - pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response - - async def close(self) -> None: - await self._client.close() + if api_version == '2020-07-01-preview': + from ..v2020_07_01_preview import models + return models + elif api_version == '2020-10-01-preview': + from ..v2020_10_01_preview import models + return models + elif api_version == '2021-03-01': + from ..v2021_03_01 import models + return models + elif api_version == '2021-05-01-preview': + from ..v2021_05_01_preview import models + return models + elif api_version == '2021-09-01': + from ..v2021_09_01 import models + return models + elif api_version == '2021-11-01-preview': + from ..v2021_11_01_preview import models + return models + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview import models + return models + elif api_version == '2022-03-01': + from ..v2022_03_01 import models + return models + raise ValueError("API version {} is not available".format(api_version)) + + @property + def cluster_extension_type(self): + """Instance depends on the API version: + + * 2021-05-01-preview: :class:`ClusterExtensionTypeOperations` + * 2021-11-01-preview: :class:`ClusterExtensionTypeOperations` + * 2022-01-01-preview: :class:`ClusterExtensionTypeOperations` + """ + api_version = self._get_api_version('cluster_extension_type') + if api_version == '2021-05-01-preview': + from ..v2021_05_01_preview.aio.operations import ClusterExtensionTypeOperations as OperationClass + elif api_version == '2021-11-01-preview': + from ..v2021_11_01_preview.aio.operations import ClusterExtensionTypeOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import ClusterExtensionTypeOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'cluster_extension_type'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def cluster_extension_types(self): + """Instance depends on the API version: + + * 2021-05-01-preview: :class:`ClusterExtensionTypesOperations` + * 2021-11-01-preview: :class:`ClusterExtensionTypesOperations` + * 2022-01-01-preview: :class:`ClusterExtensionTypesOperations` + """ + api_version = self._get_api_version('cluster_extension_types') + if api_version == '2021-05-01-preview': + from ..v2021_05_01_preview.aio.operations import ClusterExtensionTypesOperations as OperationClass + elif api_version == '2021-11-01-preview': + from ..v2021_11_01_preview.aio.operations import ClusterExtensionTypesOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import ClusterExtensionTypesOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'cluster_extension_types'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def extension_type_versions(self): + """Instance depends on the API version: + + * 2021-05-01-preview: :class:`ExtensionTypeVersionsOperations` + * 2021-11-01-preview: :class:`ExtensionTypeVersionsOperations` + * 2022-01-01-preview: :class:`ExtensionTypeVersionsOperations` + """ + api_version = self._get_api_version('extension_type_versions') + if api_version == '2021-05-01-preview': + from ..v2021_05_01_preview.aio.operations import ExtensionTypeVersionsOperations as OperationClass + elif api_version == '2021-11-01-preview': + from ..v2021_11_01_preview.aio.operations import ExtensionTypeVersionsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import ExtensionTypeVersionsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'extension_type_versions'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def extensions(self): + """Instance depends on the API version: + + * 2020-07-01-preview: :class:`ExtensionsOperations` + * 2021-05-01-preview: :class:`ExtensionsOperations` + * 2021-09-01: :class:`ExtensionsOperations` + * 2021-11-01-preview: :class:`ExtensionsOperations` + * 2022-01-01-preview: :class:`ExtensionsOperations` + * 2022-03-01: :class:`ExtensionsOperations` + """ + api_version = self._get_api_version('extensions') + if api_version == '2020-07-01-preview': + from ..v2020_07_01_preview.aio.operations import ExtensionsOperations as OperationClass + elif api_version == '2021-05-01-preview': + from ..v2021_05_01_preview.aio.operations import ExtensionsOperations as OperationClass + elif api_version == '2021-09-01': + from ..v2021_09_01.aio.operations import ExtensionsOperations as OperationClass + elif api_version == '2021-11-01-preview': + from ..v2021_11_01_preview.aio.operations import ExtensionsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import ExtensionsOperations as OperationClass + elif api_version == '2022-03-01': + from ..v2022_03_01.aio.operations import ExtensionsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'extensions'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def flux_config_operation_status(self): + """Instance depends on the API version: + + * 2021-11-01-preview: :class:`FluxConfigOperationStatusOperations` + * 2022-01-01-preview: :class:`FluxConfigOperationStatusOperations` + * 2022-03-01: :class:`FluxConfigOperationStatusOperations` + """ + api_version = self._get_api_version('flux_config_operation_status') + if api_version == '2021-11-01-preview': + from ..v2021_11_01_preview.aio.operations import FluxConfigOperationStatusOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import FluxConfigOperationStatusOperations as OperationClass + elif api_version == '2022-03-01': + from ..v2022_03_01.aio.operations import FluxConfigOperationStatusOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'flux_config_operation_status'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def flux_configurations(self): + """Instance depends on the API version: + + * 2021-11-01-preview: :class:`FluxConfigurationsOperations` + * 2022-01-01-preview: :class:`FluxConfigurationsOperations` + * 2022-03-01: :class:`FluxConfigurationsOperations` + """ + api_version = self._get_api_version('flux_configurations') + if api_version == '2021-11-01-preview': + from ..v2021_11_01_preview.aio.operations import FluxConfigurationsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import FluxConfigurationsOperations as OperationClass + elif api_version == '2022-03-01': + from ..v2022_03_01.aio.operations import FluxConfigurationsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'flux_configurations'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def location_extension_types(self): + """Instance depends on the API version: + + * 2021-05-01-preview: :class:`LocationExtensionTypesOperations` + * 2021-11-01-preview: :class:`LocationExtensionTypesOperations` + * 2022-01-01-preview: :class:`LocationExtensionTypesOperations` + """ + api_version = self._get_api_version('location_extension_types') + if api_version == '2021-05-01-preview': + from ..v2021_05_01_preview.aio.operations import LocationExtensionTypesOperations as OperationClass + elif api_version == '2021-11-01-preview': + from ..v2021_11_01_preview.aio.operations import LocationExtensionTypesOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import LocationExtensionTypesOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'location_extension_types'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def operation_status(self): + """Instance depends on the API version: - async def __aenter__(self) -> "SourceControlConfigurationClient": + * 2021-05-01-preview: :class:`OperationStatusOperations` + * 2021-09-01: :class:`OperationStatusOperations` + * 2021-11-01-preview: :class:`OperationStatusOperations` + * 2022-01-01-preview: :class:`OperationStatusOperations` + * 2022-03-01: :class:`OperationStatusOperations` + """ + api_version = self._get_api_version('operation_status') + if api_version == '2021-05-01-preview': + from ..v2021_05_01_preview.aio.operations import OperationStatusOperations as OperationClass + elif api_version == '2021-09-01': + from ..v2021_09_01.aio.operations import OperationStatusOperations as OperationClass + elif api_version == '2021-11-01-preview': + from ..v2021_11_01_preview.aio.operations import OperationStatusOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import OperationStatusOperations as OperationClass + elif api_version == '2022-03-01': + from ..v2022_03_01.aio.operations import OperationStatusOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'operation_status'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def operations(self): + """Instance depends on the API version: + + * 2020-07-01-preview: :class:`Operations` + * 2020-10-01-preview: :class:`Operations` + * 2021-03-01: :class:`Operations` + * 2021-05-01-preview: :class:`Operations` + * 2021-09-01: :class:`Operations` + * 2021-11-01-preview: :class:`Operations` + * 2022-01-01-preview: :class:`Operations` + * 2022-03-01: :class:`Operations` + """ + api_version = self._get_api_version('operations') + if api_version == '2020-07-01-preview': + from ..v2020_07_01_preview.aio.operations import Operations as OperationClass + elif api_version == '2020-10-01-preview': + from ..v2020_10_01_preview.aio.operations import Operations as OperationClass + elif api_version == '2021-03-01': + from ..v2021_03_01.aio.operations import Operations as OperationClass + elif api_version == '2021-05-01-preview': + from ..v2021_05_01_preview.aio.operations import Operations as OperationClass + elif api_version == '2021-09-01': + from ..v2021_09_01.aio.operations import Operations as OperationClass + elif api_version == '2021-11-01-preview': + from ..v2021_11_01_preview.aio.operations import Operations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import Operations as OperationClass + elif api_version == '2022-03-01': + from ..v2022_03_01.aio.operations import Operations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'operations'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def source_control_configurations(self): + """Instance depends on the API version: + + * 2020-07-01-preview: :class:`SourceControlConfigurationsOperations` + * 2020-10-01-preview: :class:`SourceControlConfigurationsOperations` + * 2021-03-01: :class:`SourceControlConfigurationsOperations` + * 2021-05-01-preview: :class:`SourceControlConfigurationsOperations` + * 2021-11-01-preview: :class:`SourceControlConfigurationsOperations` + * 2022-01-01-preview: :class:`SourceControlConfigurationsOperations` + * 2022-03-01: :class:`SourceControlConfigurationsOperations` + """ + api_version = self._get_api_version('source_control_configurations') + if api_version == '2020-07-01-preview': + from ..v2020_07_01_preview.aio.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2020-10-01-preview': + from ..v2020_10_01_preview.aio.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2021-03-01': + from ..v2021_03_01.aio.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2021-05-01-preview': + from ..v2021_05_01_preview.aio.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2021-11-01-preview': + from ..v2021_11_01_preview.aio.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2022-03-01': + from ..v2022_03_01.aio.operations import SourceControlConfigurationsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'source_control_configurations'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + async def close(self): + await self._client.close() + async def __aenter__(self): await self._client.__aenter__() return self - - async def __aexit__(self, *exc_details) -> None: + async def __aexit__(self, *exc_details): await self._client.__aexit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/__init__.py index 632ac4c1eeb..07db19b318c 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/__init__.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/__init__.py @@ -6,12 +6,10 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._extensions_operations import ExtensionsOperations -from ._operation_status_operations import OperationStatusOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations from ._operations import Operations __all__ = [ - 'ExtensionsOperations', - 'OperationStatusOperations', + 'SourceControlConfigurationsOperations', 'Operations', ] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_operations.py index 2aeed3f8027..abad6a97377 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_operations.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_operations.py @@ -43,10 +43,9 @@ def __init__(self, client, config, serializer, deserializer) -> None: def list( self, - **kwargs: Any + **kwargs ) -> AsyncIterable["_models.ResourceProviderOperationList"]: - """List all the available operations the KubernetesConfiguration resource provider supports, in - this api-version. + """List all the available operations the KubernetesConfiguration resource provider supports. :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) @@ -58,7 +57,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2020-10-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -94,9 +93,8 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) return pipeline_response diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_source_control_configurations_operations.py index 116ecb3713e..2a8fe57a0cf 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_source_control_configurations_operations.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_source_control_configurations_operations.py @@ -28,7 +28,7 @@ class SourceControlConfigurationsOperations: instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models + :type models: ~azure.mgmt.kubernetesconfiguration.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -50,7 +50,7 @@ async def get( cluster_resource_name: Union[str, "_models.Enum1"], cluster_name: str, source_control_configuration_name: str, - **kwargs: Any + **kwargs ) -> "_models.SourceControlConfiguration": """Gets details of the Source Control Configuration. @@ -58,17 +58,17 @@ async def get( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :rtype: ~azure.mgmt.kubernetesconfiguration.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -76,7 +76,7 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2020-10-01-preview" accept = "application/json" # Construct URL @@ -105,7 +105,7 @@ async def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) @@ -124,7 +124,7 @@ async def create_or_update( cluster_name: str, source_control_configuration_name: str, source_control_configuration: "_models.SourceControlConfiguration", - **kwargs: Any + **kwargs ) -> "_models.SourceControlConfiguration": """Create a new Kubernetes Source Control Configuration. @@ -132,19 +132,19 @@ async def create_or_update( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. - :type source_control_configuration: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :type source_control_configuration: ~azure.mgmt.kubernetesconfiguration.models.SourceControlConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :rtype: ~azure.mgmt.kubernetesconfiguration.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -152,7 +152,7 @@ async def create_or_update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2020-10-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -186,7 +186,7 @@ async def create_or_update( if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -208,14 +208,14 @@ async def _delete_initial( cluster_resource_name: Union[str, "_models.Enum1"], cluster_name: str, source_control_configuration_name: str, - **kwargs: Any + **kwargs ) -> None: cls = kwargs.pop('cls', None) # type: ClsType[None] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2020-10-01-preview" accept = "application/json" # Construct URL @@ -244,7 +244,7 @@ async def _delete_initial( if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: @@ -259,7 +259,7 @@ async def begin_delete( cluster_resource_name: Union[str, "_models.Enum1"], cluster_name: str, source_control_configuration_name: str, - **kwargs: Any + **kwargs ) -> AsyncLROPoller[None]: """This will delete the YAML file used to set up the Source control configuration, thus stopping future sync from the source repo. @@ -268,18 +268,18 @@ async def begin_delete( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) @@ -340,7 +340,7 @@ def list( cluster_rp: Union[str, "_models.Enum0"], cluster_resource_name: Union[str, "_models.Enum1"], cluster_name: str, - **kwargs: Any + **kwargs ) -> AsyncIterable["_models.SourceControlConfigurationList"]: """List all Source Control Configurations. @@ -348,15 +348,15 @@ def list( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either SourceControlConfigurationList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfigurationList] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.models.SourceControlConfigurationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] @@ -364,7 +364,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2020-10-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -408,7 +408,7 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/models.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/models.py new file mode 100644 index 00000000000..c9c8d2ae160 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/models.py @@ -0,0 +1,8 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +from .v2022_01_01_preview.models import * +from .v2022_03_01.models import * diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/models/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/models/__init__.py deleted file mode 100644 index 2bcf3a10bde..00000000000 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/models/__init__.py +++ /dev/null @@ -1,86 +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 ._models_py3 import ErrorAdditionalInfo - from ._models_py3 import ErrorDetail - from ._models_py3 import ErrorResponse - from ._models_py3 import Extension - from ._models_py3 import ExtensionPropertiesAksAssignedIdentity - from ._models_py3 import ExtensionStatus - from ._models_py3 import ExtensionsList - from ._models_py3 import Identity - from ._models_py3 import OperationStatusList - from ._models_py3 import OperationStatusResult - from ._models_py3 import PatchExtension - from ._models_py3 import ProxyResource - from ._models_py3 import Resource - from ._models_py3 import ResourceProviderOperation - from ._models_py3 import ResourceProviderOperationDisplay - from ._models_py3 import ResourceProviderOperationList - from ._models_py3 import Scope - from ._models_py3 import ScopeCluster - from ._models_py3 import ScopeNamespace - from ._models_py3 import SystemData -except (SyntaxError, ImportError): - from ._models import ErrorAdditionalInfo # type: ignore - from ._models import ErrorDetail # type: ignore - from ._models import ErrorResponse # type: ignore - from ._models import Extension # type: ignore - from ._models import ExtensionPropertiesAksAssignedIdentity # type: ignore - from ._models import ExtensionStatus # type: ignore - from ._models import ExtensionsList # type: ignore - from ._models import Identity # type: ignore - from ._models import OperationStatusList # type: ignore - from ._models import OperationStatusResult # type: ignore - from ._models import PatchExtension # type: ignore - from ._models import ProxyResource # type: ignore - from ._models import Resource # type: ignore - from ._models import ResourceProviderOperation # type: ignore - from ._models import ResourceProviderOperationDisplay # type: ignore - from ._models import ResourceProviderOperationList # type: ignore - from ._models import Scope # type: ignore - from ._models import ScopeCluster # type: ignore - from ._models import ScopeNamespace # type: ignore - from ._models import SystemData # type: ignore - -from ._source_control_configuration_client_enums import ( - CreatedByType, - Enum0, - Enum1, - LevelType, - ProvisioningState, -) - -__all__ = [ - 'ErrorAdditionalInfo', - 'ErrorDetail', - 'ErrorResponse', - 'Extension', - 'ExtensionPropertiesAksAssignedIdentity', - 'ExtensionStatus', - 'ExtensionsList', - 'Identity', - 'OperationStatusList', - 'OperationStatusResult', - 'PatchExtension', - 'ProxyResource', - 'Resource', - 'ResourceProviderOperation', - 'ResourceProviderOperationDisplay', - 'ResourceProviderOperationList', - 'Scope', - 'ScopeCluster', - 'ScopeNamespace', - 'SystemData', - 'CreatedByType', - 'Enum0', - 'Enum1', - 'LevelType', - 'ProvisioningState', -] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/models/_models.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/models/_models.py deleted file mode 100644 index 55d57ebde1f..00000000000 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/models/_models.py +++ /dev/null @@ -1,737 +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 azure.core.exceptions import HttpResponseError -import msrest.serialization - - -class ErrorAdditionalInfo(msrest.serialization.Model): - """The resource management error additional info. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar type: The additional info type. - :vartype type: str - :ivar info: The additional info. - :vartype info: any - """ - - _validation = { - 'type': {'readonly': True}, - 'info': {'readonly': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'info': {'key': 'info', 'type': 'object'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorAdditionalInfo, self).__init__(**kwargs) - self.type = None - self.info = None - - -class ErrorDetail(msrest.serialization.Model): - """The error detail. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar code: The error code. - :vartype code: str - :ivar message: The error message. - :vartype message: str - :ivar target: The error target. - :vartype target: str - :ivar details: The error details. - :vartype details: list[~azure.mgmt.kubernetesconfiguration.models.ErrorDetail] - :ivar additional_info: The error additional info. - :vartype additional_info: list[~azure.mgmt.kubernetesconfiguration.models.ErrorAdditionalInfo] - """ - - _validation = { - 'code': {'readonly': True}, - 'message': {'readonly': True}, - 'target': {'readonly': True}, - 'details': {'readonly': True}, - 'additional_info': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ErrorDetail]'}, - 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorDetail, self).__init__(**kwargs) - self.code = None - self.message = None - self.target = None - self.details = None - self.additional_info = None - - -class ErrorResponse(msrest.serialization.Model): - """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). - - :param error: The error object. - :type error: ~azure.mgmt.kubernetesconfiguration.models.ErrorDetail - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDetail'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorResponse, self).__init__(**kwargs) - self.error = kwargs.get('error', None) - - -class Resource(msrest.serialization.Model): - """Common fields that are returned in the response for all Azure Resource Manager 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. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - - -class ProxyResource(Resource): - """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ProxyResource, self).__init__(**kwargs) - - -class Extension(ProxyResource): - """The Extension object. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :param location: Location of resource type - :type location: str - :param identity: Identity of the Extension resource. - :type identity: ~azure.mgmt.kubernetesconfiguration.models.Identity - :ivar system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :vartype system_data: ~azure.mgmt.kubernetesconfiguration.models.SystemData - :param extension_type: Type of the Extension, of which this resource is an instance of. It - must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the - Extension publisher. - :type extension_type: str - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade - of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific - version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param scope: Scope at which the extension is installed. - :type scope: ~azure.mgmt.kubernetesconfiguration.models.Scope - :param configuration_settings: Configuration settings, as name-value pairs for configuring this - extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as - name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] - :ivar provisioning_state: The provisioning state of the extension resource. Possible values - include: "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". - :vartype provisioning_state: str or - ~azure.mgmt.kubernetesconfiguration.models.ProvisioningState - :param statuses: Status from this extension. - :type statuses: list[~azure.mgmt.kubernetesconfiguration.models.ExtensionStatus] - :param error_info: The error detail. - :type error_info: ~azure.mgmt.kubernetesconfiguration.models.ErrorDetail - :ivar custom_location_settings: Custom Location settings properties. - :vartype custom_location_settings: dict[str, str] - :ivar package_uri: Uri of the Helm package. - :vartype package_uri: str - :param aks_assigned_identity: Identity of the Extension resource in an AKS cluster. - :type aks_assigned_identity: - ~azure.mgmt.kubernetesconfiguration.models.ExtensionPropertiesAksAssignedIdentity - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'custom_location_settings': {'readonly': True}, - 'package_uri': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'Identity'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, - 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, - 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'scope': {'key': 'properties.scope', 'type': 'Scope'}, - 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'statuses': {'key': 'properties.statuses', 'type': '[ExtensionStatus]'}, - 'error_info': {'key': 'properties.errorInfo', 'type': 'ErrorDetail'}, - 'custom_location_settings': {'key': 'properties.customLocationSettings', 'type': '{str}'}, - 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, - 'aks_assigned_identity': {'key': 'properties.aksAssignedIdentity', 'type': 'ExtensionPropertiesAksAssignedIdentity'}, - } - - def __init__( - self, - **kwargs - ): - super(Extension, self).__init__(**kwargs) - self.location = kwargs.get('location', None) - self.identity = kwargs.get('identity', None) - self.system_data = None - self.extension_type = kwargs.get('extension_type', None) - self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', True) - self.release_train = kwargs.get('release_train', "Stable") - self.version = kwargs.get('version', None) - self.scope = kwargs.get('scope', None) - self.configuration_settings = kwargs.get('configuration_settings', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - self.provisioning_state = None - self.statuses = kwargs.get('statuses', None) - self.error_info = kwargs.get('error_info', None) - self.custom_location_settings = None - self.package_uri = None - self.aks_assigned_identity = kwargs.get('aks_assigned_identity', None) - - -class ExtensionPropertiesAksAssignedIdentity(msrest.serialization.Model): - """Identity of the Extension resource in an AKS cluster. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar principal_id: The principal ID of resource identity. - :vartype principal_id: str - :ivar tenant_id: The tenant ID of resource. - :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and - "SystemAssigned". The default value is None. - :type type: str - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionPropertiesAksAssignedIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = kwargs.get('type', None) - - -class ExtensionsList(msrest.serialization.Model): - """Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Extensions within a Kubernetes cluster. - :vartype value: list[~azure.mgmt.kubernetesconfiguration.models.Extension] - :ivar next_link: URL to get the next set of extension objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Extension]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionsList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class ExtensionStatus(msrest.serialization.Model): - """Status from the extension. - - :param code: Status code provided by the Extension. - :type code: str - :param display_status: Short description of status of the extension. - :type display_status: str - :param level: Level of the status. Possible values include: "Error", "Warning", "Information". - Default value: "Information". - :type level: str or ~azure.mgmt.kubernetesconfiguration.models.LevelType - :param message: Detailed message of the status from the Extension. - :type message: str - :param time: DateLiteral (per ISO8601) noting the time of installation status. - :type time: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'display_status': {'key': 'displayStatus', 'type': 'str'}, - 'level': {'key': 'level', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'time': {'key': 'time', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionStatus, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.display_status = kwargs.get('display_status', None) - self.level = kwargs.get('level', "Information") - self.message = kwargs.get('message', None) - self.time = kwargs.get('time', None) - - -class Identity(msrest.serialization.Model): - """Identity for the resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar principal_id: The principal ID of resource identity. - :vartype principal_id: str - :ivar tenant_id: The tenant ID of resource. - :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and - "SystemAssigned". The default value is None. - :type type: str - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Identity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = kwargs.get('type', None) - - -class OperationStatusList(msrest.serialization.Model): - """The async operations in progress, in the cluster. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of async operations in progress, in the cluster. - :vartype value: list[~azure.mgmt.kubernetesconfiguration.models.OperationStatusResult] - :ivar next_link: URL to get the next set of Operation Result objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[OperationStatusResult]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationStatusList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class OperationStatusResult(msrest.serialization.Model): - """The current status of an async operation. - - All required parameters must be populated in order to send to Azure. - - :param id: Fully qualified ID for the async operation. - :type id: str - :param name: Name of the async operation. - :type name: str - :param status: Required. Operation status. - :type status: str - :param properties: Additional information, if available. - :type properties: dict[str, str] - :param error: The error detail. - :type error: ~azure.mgmt.kubernetesconfiguration.models.ErrorDetail - """ - - _validation = { - 'status': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': '{str}'}, - 'error': {'key': 'error', 'type': 'ErrorDetail'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationStatusResult, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = kwargs.get('name', None) - self.status = kwargs['status'] - self.properties = kwargs.get('properties', None) - self.error = kwargs.get('error', None) - - -class PatchExtension(msrest.serialization.Model): - """The Extension Patch Request object. - - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade - of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific - version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param configuration_settings: Configuration settings, as name-value pairs for configuring this - extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as - name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] - """ - - _attribute_map = { - 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, - 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - } - - def __init__( - self, - **kwargs - ): - super(PatchExtension, self).__init__(**kwargs) - self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', True) - self.release_train = kwargs.get('release_train', "Stable") - self.version = kwargs.get('version', None) - self.configuration_settings = kwargs.get('configuration_settings', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - - -class ResourceProviderOperation(msrest.serialization.Model): - """Supported operation of this resource provider. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param name: Operation name, in format of {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: ~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperationDisplay - :ivar is_data_action: The flag that indicates whether the operation applies to data plane. - :vartype is_data_action: bool - :ivar origin: Origin of the operation. - :vartype origin: str - """ - - _validation = { - 'is_data_action': {'readonly': True}, - 'origin': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, - 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, - 'origin': {'key': 'origin', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceProviderOperation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display = kwargs.get('display', None) - self.is_data_action = None - self.origin = None - - -class ResourceProviderOperationDisplay(msrest.serialization.Model): - """Display metadata associated with the operation. - - :param provider: Resource provider: Microsoft KubernetesConfiguration. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :param description: Description of this 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) - - -class ResourceProviderOperationList(msrest.serialization.Model): - """Result of the request to list operations. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: List of operations supported by this resource provider. - :type value: list[~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperation] - :ivar next_link: URL to the next set of results, if any. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceProviderOperationList, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class Scope(msrest.serialization.Model): - """Scope of the extension. It can be either Cluster or Namespace; but not both. - - :param cluster: Specifies that the scope of the extension is Cluster. - :type cluster: ~azure.mgmt.kubernetesconfiguration.models.ScopeCluster - :param namespace: Specifies that the scope of the extension is Namespace. - :type namespace: ~azure.mgmt.kubernetesconfiguration.models.ScopeNamespace - """ - - _attribute_map = { - 'cluster': {'key': 'cluster', 'type': 'ScopeCluster'}, - 'namespace': {'key': 'namespace', 'type': 'ScopeNamespace'}, - } - - def __init__( - self, - **kwargs - ): - super(Scope, self).__init__(**kwargs) - self.cluster = kwargs.get('cluster', None) - self.namespace = kwargs.get('namespace', None) - - -class ScopeCluster(msrest.serialization.Model): - """Specifies that the scope of the extension is Cluster. - - :param release_namespace: Namespace where the extension Release must be placed, for a Cluster - scoped extension. If this namespace does not exist, it will be created. - :type release_namespace: str - """ - - _attribute_map = { - 'release_namespace': {'key': 'releaseNamespace', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ScopeCluster, self).__init__(**kwargs) - self.release_namespace = kwargs.get('release_namespace', None) - - -class ScopeNamespace(msrest.serialization.Model): - """Specifies that the scope of the extension is Namespace. - - :param target_namespace: Namespace where the extension will be created for an Namespace scoped - extension. If this namespace does not exist, it will be created. - :type target_namespace: str - """ - - _attribute_map = { - 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ScopeNamespace, self).__init__(**kwargs) - self.target_namespace = kwargs.get('target_namespace', None) - - -class SystemData(msrest.serialization.Model): - """Metadata pertaining to creation and last modification of the resource. - - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. Possible values - include: "User", "Application", "ManagedIdentity", "Key". - :type created_by_type: str or ~azure.mgmt.kubernetesconfiguration.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: ~datetime.datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the resource. Possible - values include: "User", "Application", "ManagedIdentity", "Key". - :type last_modified_by_type: str or ~azure.mgmt.kubernetesconfiguration.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime - """ - - _attribute_map = { - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'createdByType', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__( - self, - **kwargs - ): - super(SystemData, self).__init__(**kwargs) - self.created_by = kwargs.get('created_by', None) - self.created_by_type = kwargs.get('created_by_type', None) - self.created_at = kwargs.get('created_at', None) - self.last_modified_by = kwargs.get('last_modified_by', None) - self.last_modified_by_type = kwargs.get('last_modified_by_type', None) - self.last_modified_at = kwargs.get('last_modified_at', None) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_extensions_operations.py deleted file mode 100644 index 794ba86c86c..00000000000 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_extensions_operations.py +++ /dev/null @@ -1,657 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -from typing import TYPE_CHECKING -import warnings - -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error -from azure.core.paging import ItemPaged -from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse -from azure.core.polling import LROPoller, NoPolling, PollingMethod -from azure.mgmt.core.exceptions import ARMErrorFormat -from azure.mgmt.core.polling.arm_polling import ARMPolling - -from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] - -class ExtensionsOperations(object): - """ExtensionsOperations operations. - - You should not instantiate this class directly. Instead, you should create a Client instance that - instantiates it for you and attaches it as an attribute. - - :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.mgmt.kubernetesconfiguration.models - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - """ - - models = _models - - def __init__(self, client, config, serializer, deserializer): - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self._config = config - - def _create_initial( - self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - extension, # type: "_models.Extension" - **kwargs # type: Any - ): - # type: (...) -> "_models.Extension" - cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(extension, 'Extension') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [200, 201]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if response.status_code == 200: - deserialized = self._deserialize('Extension', pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize('Extension', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore - - def begin_create( - self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - extension, # type: "_models.Extension" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.Extension"] - """Create a new Kubernetes Cluster Extension. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS - clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 - :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters - (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 - :param cluster_name: The name of the kubernetes cluster. - :type cluster_name: str - :param extension_name: Name of the Extension. - :type extension_name: str - :param extension: Properties necessary to Create an Extension. - :type extension: ~azure.mgmt.kubernetesconfiguration.models.Extension - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either Extension or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.models.Extension] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._create_initial( - resource_group_name=resource_group_name, - cluster_rp=cluster_rp, - cluster_resource_name=cluster_resource_name, - cluster_name=cluster_name, - extension_name=extension_name, - extension=extension, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('Extension', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore - - def get( - self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.Extension" - """Gets Kubernetes Cluster Extension. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS - clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 - :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters - (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 - :param cluster_name: The name of the kubernetes cluster. - :type cluster_name: str - :param extension_name: Name of the Extension. - :type extension_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: Extension, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.models.Extension - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('Extension', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore - - def _delete_initial( - self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - force_delete=None, # type: Optional[bool] - **kwargs # type: Any - ): - # type: (...) -> None - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if force_delete is not None: - query_parameters['forceDelete'] = self._serialize.query("force_delete", force_delete, 'bool') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - request = self._client.delete(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [200, 202, 204]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if cls: - return cls(pipeline_response, None, {}) - - _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore - - def begin_delete( - self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - force_delete=None, # type: Optional[bool] - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] - """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension - from the cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS - clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 - :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters - (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 - :param cluster_name: The name of the kubernetes cluster. - :type cluster_name: str - :param extension_name: Name of the Extension. - :type extension_name: str - :param force_delete: Delete the extension resource in Azure - not the normal asynchronous - delete. - :type force_delete: bool - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - cluster_rp=cluster_rp, - cluster_resource_name=cluster_resource_name, - cluster_name=cluster_name, - extension_name=extension_name, - force_delete=force_delete, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore - - def _update_initial( - self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - patch_extension, # type: "_models.PatchExtension" - **kwargs # type: Any - ): - # type: (...) -> "_models.Extension" - cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] - error_map = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: lambda response: ResourceExistsError(response=response, model=self._deserialize(_models.ErrorResponse, response), error_format=ARMErrorFormat), - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(patch_extension, 'PatchExtension') - body_content_kwargs['content'] = body_content - request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [202]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('Extension', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore - - def begin_update( - self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - patch_extension, # type: "_models.PatchExtension" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.Extension"] - """Patch an existing Kubernetes Cluster Extension. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS - clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 - :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters - (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 - :param cluster_name: The name of the kubernetes cluster. - :type cluster_name: str - :param extension_name: Name of the Extension. - :type extension_name: str - :param patch_extension: Properties to Patch in an existing Extension. - :type patch_extension: ~azure.mgmt.kubernetesconfiguration.models.PatchExtension - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either Extension or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.models.Extension] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._update_initial( - resource_group_name=resource_group_name, - cluster_rp=cluster_rp, - cluster_resource_name=cluster_resource_name, - cluster_name=cluster_name, - extension_name=extension_name, - patch_extension=patch_extension, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - deserialized = self._deserialize('Extension', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized - - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore - - def list( - self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ExtensionsList"] - """List all Extensions in the cluster. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS - clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 - :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters - (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 - :param cluster_name: The name of the kubernetes cluster. - :type cluster_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ExtensionsList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.models.ExtensionsList] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionsList', pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) - return deserialized.next_link or None, iter(list_of_elem) - - def get_next(next_link=None): - request = prepare_request(next_link) - - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged( - get_next, extract_data - ) - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_source_control_configurations_operations.py deleted file mode 100644 index d192efa6d03..00000000000 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_source_control_configurations_operations.py +++ /dev/null @@ -1,429 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- -from typing import TYPE_CHECKING -import warnings - -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error -from azure.core.paging import ItemPaged -from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse -from azure.core.polling import LROPoller, NoPolling, PollingMethod -from azure.mgmt.core.exceptions import ARMErrorFormat -from azure.mgmt.core.polling.arm_polling import ARMPolling - -from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] - -class SourceControlConfigurationsOperations(object): - """SourceControlConfigurationsOperations operations. - - You should not instantiate this class directly. Instead, you should create a Client instance that - instantiates it for you and attaches it as an attribute. - - :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models - :param client: Client for service requests. - :param config: Configuration of service client. - :param serializer: An object model serializer. - :param deserializer: An object model deserializer. - """ - - models = _models - - def __init__(self, client, config, serializer, deserializer): - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self._config = config - - def get( - self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.SourceControlConfiguration" - """Gets details of the Source Control Configuration. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS - clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 - :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters - (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 - :param cluster_name: The name of the kubernetes cluster. - :type cluster_name: str - :param source_control_configuration_name: Name of the Source Control Configuration. - :type source_control_configuration_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [200]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore - - def create_or_update( - self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - source_control_configuration, # type: "_models.SourceControlConfiguration" - **kwargs # type: Any - ): - # type: (...) -> "_models.SourceControlConfiguration" - """Create a new Kubernetes Source Control Configuration. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS - clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 - :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters - (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 - :param cluster_name: The name of the kubernetes cluster. - :type cluster_name: str - :param source_control_configuration_name: Name of the Source Control Configuration. - :type source_control_configuration_name: str - :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. - :type source_control_configuration: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration - :keyword callable cls: A custom type or function that will be passed the direct response - :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.create_or_update.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [200, 201]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if response.status_code == 200: - deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore - - def _delete_initial( - self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - request = self._client.delete(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [200, 204]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if cls: - return cls(pipeline_response, None, {}) - - _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore - - def begin_delete( - self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] - """This will delete the YAML file used to set up the Source control configuration, thus stopping - future sync from the source repo. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS - clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 - :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters - (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 - :param cluster_name: The name of the kubernetes cluster. - :type cluster_name: str - :param source_control_configuration_name: Name of the Source Control Configuration. - :type source_control_configuration_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. - :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either None or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: - """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] - if cont_token is None: - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - cluster_rp=cluster_rp, - cluster_resource_name=cluster_resource_name, - cluster_name=cluster_name, - source_control_configuration_name=source_control_configuration_name, - cls=lambda x,y,z: x, - **kwargs - ) - - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) - - def get_long_running_output(pipeline_response): - if cls: - return cls(pipeline_response, None, {}) - - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) - elif polling is False: polling_method = NoPolling() - else: polling_method = polling - if cont_token: - return LROPoller.from_continuation_token( - polling_method=polling_method, - continuation_token=cont_token, - client=self._client, - deserialization_callback=get_long_running_output - ) - else: - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore - - def list( - self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.SourceControlConfigurationList"] - """List all Source Control Configurations. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS - clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 - :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters - (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 - :param cluster_name: The name of the kubernetes cluster. - :type cluster_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SourceControlConfigurationList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfigurationList] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - accept = "application/json" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) - else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('SourceControlConfigurationList', pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) - return deserialized.next_link or None, iter(list_of_elem) - - def get_next(next_link=None): - request = prepare_request(next_link) - - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response - - if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - return pipeline_response - - return ItemPaged( - get_next, extract_data - ) - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/__init__.py new file mode 100644 index 00000000000..e9096303633 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_configuration.py new file mode 100644 index 00000000000..a175e772c24 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_configuration.py @@ -0,0 +1,68 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2020-07-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_source_control_configuration_client.py new file mode 100644 index 00000000000..4a2066e60af --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_source_control_configuration_client.py @@ -0,0 +1,103 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.rest import HttpRequest, HttpResponse +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ExtensionsOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.operations.Operations + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.operations.ExtensionsOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :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 base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.HttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> SourceControlConfigurationClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_vendor.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_vendor.py @@ -0,0 +1,27 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_version.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_version.py new file mode 100644 index 00000000000..59deb8c7263 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +VERSION = "1.1.0" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/__init__.py new file mode 100644 index 00000000000..5f583276b4e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_configuration.py new file mode 100644 index 00000000000..5d42c644d80 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_configuration.py @@ -0,0 +1,67 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2020-07-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_source_control_configuration_client.py new file mode 100644 index 00000000000..786354552c0 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_source_control_configuration_client.py @@ -0,0 +1,100 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING + +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ExtensionsOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.aio.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.aio.operations.Operations + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.aio.operations.ExtensionsOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :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 base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "SourceControlConfigurationClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/__init__.py new file mode 100644 index 00000000000..2e68d5ecb0c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/__init__.py @@ -0,0 +1,17 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations +from ._extensions_operations import ExtensionsOperations + +__all__ = [ + 'SourceControlConfigurationsOperations', + 'Operations', + 'ExtensionsOperations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_extensions_operations.py new file mode 100644 index 00000000000..2cb12620a0e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_extensions_operations.py @@ -0,0 +1,419 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._extensions_operations import build_create_request, build_delete_request, build_get_request, build_list_request, build_update_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ExtensionsOperations: + """ExtensionsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def create( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + extension_instance: "_models.ExtensionInstance", + **kwargs: Any + ) -> "_models.ExtensionInstance": + """Create a new Kubernetes Cluster Extension Instance. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_instance_name: Name of an instance of the Extension. + :type extension_instance_name: str + :param extension_instance: Properties necessary to Create an Extension Instance. + :type extension_instance: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionInstance, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionInstance"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension_instance, 'ExtensionInstance') + + request = build_create_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + content_type=content_type, + json=_json, + template_url=self.create.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionInstance', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + **kwargs: Any + ) -> "_models.ExtensionInstance": + """Gets details of the Kubernetes Cluster Extension Instance. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_instance_name: Name of an instance of the Extension. + :type extension_instance_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionInstance, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionInstance"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionInstance', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + + @distributed_trace_async + async def update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + extension_instance: "_models.ExtensionInstanceUpdate", + **kwargs: Any + ) -> "_models.ExtensionInstance": + """Update an existing Kubernetes Cluster Extension Instance. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_instance_name: Name of an instance of the Extension. + :type extension_instance_name: str + :param extension_instance: Properties to Update in the Extension Instance. + :type extension_instance: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstanceUpdate + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionInstance, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionInstance"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension_instance, 'ExtensionInstanceUpdate') + + request = build_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + content_type=content_type, + json=_json, + template_url=self.update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionInstance', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + + @distributed_trace_async + async def delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + **kwargs: Any + ) -> None: + """Delete a Kubernetes Cluster Extension Instance. This will cause the Agent to Uninstall the + extension instance from the cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_instance_name: Name of an instance of the Extension. + :type extension_instance_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionInstancesList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionInstancesList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstancesList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionInstancesList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionInstancesList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_operations.py new file mode 100644 index 00000000000..15d34648a9c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_operations.py @@ -0,0 +1,111 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class Operations: + """Operations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..540d16d33ae --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_source_control_configurations_operations.py @@ -0,0 +1,405 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SourceControlConfigurationsOperations: + """SourceControlConfigurationsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/__init__.py new file mode 100644 index 00000000000..70c78dcb2d4 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/__init__.py @@ -0,0 +1,77 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._models_py3 import ComplianceStatus +from ._models_py3 import ConfigurationIdentity +from ._models_py3 import ErrorDefinition +from ._models_py3 import ErrorResponse +from ._models_py3 import ExtensionInstance +from ._models_py3 import ExtensionInstanceUpdate +from ._models_py3 import ExtensionInstancesList +from ._models_py3 import ExtensionStatus +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import ProxyResource +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Result +from ._models_py3 import Scope +from ._models_py3 import ScopeCluster +from ._models_py3 import ScopeNamespace +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SystemData + + +from ._source_control_configuration_client_enums import ( + ComplianceStateType, + Enum0, + Enum1, + InstallStateType, + LevelType, + MessageLevelType, + OperatorScopeType, + OperatorType, + ProvisioningStateType, + ResourceIdentityType, +) + +__all__ = [ + 'ComplianceStatus', + 'ConfigurationIdentity', + 'ErrorDefinition', + 'ErrorResponse', + 'ExtensionInstance', + 'ExtensionInstanceUpdate', + 'ExtensionInstancesList', + 'ExtensionStatus', + 'HelmOperatorProperties', + 'ProxyResource', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', + 'Result', + 'Scope', + 'ScopeCluster', + 'ScopeNamespace', + 'SourceControlConfiguration', + 'SourceControlConfigurationList', + 'SystemData', + 'ComplianceStateType', + 'Enum0', + 'Enum1', + 'InstallStateType', + 'LevelType', + 'MessageLevelType', + 'OperatorScopeType', + 'OperatorType', + 'ProvisioningStateType', + 'ResourceIdentityType', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/_models_py3.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/_models_py3.py new file mode 100644 index 00000000000..d28c93715ed --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/_models_py3.py @@ -0,0 +1,1076 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import datetime +from typing import Dict, List, Optional, Union + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + +from ._source_control_configuration_client_enums import * + + +class ComplianceStatus(msrest.serialization.Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar compliance_state: The compliance state of the configuration. Possible values include: + "Pending", "Compliant", "Noncompliant", "Installed", "Failed". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ComplianceStateType + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :vartype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.MessageLevelType + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__( + self, + *, + last_config_applied: Optional[datetime.datetime] = None, + message: Optional[str] = None, + message_level: Optional[Union[str, "MessageLevelType"]] = None, + **kwargs + ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.MessageLevelType + """ + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = last_config_applied + self.message = message + self.message_level = message_level + + +class ConfigurationIdentity(msrest.serialization.Model): + """Identity for the managed cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal id of the system assigned identity which is used by the + configuration. + :vartype principal_id: str + :ivar tenant_id: The tenant id of the system assigned identity which is used by the + configuration. + :vartype tenant_id: str + :ivar type: The type of identity used for the configuration. Type 'SystemAssigned' will use an + implicitly created identity. Type 'None' will not use Managed Identity for the configuration. + Possible values include: "SystemAssigned", "None". + :vartype type: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "ResourceIdentityType"]] = None, + **kwargs + ): + """ + :keyword type: The type of identity used for the configuration. Type 'SystemAssigned' will use + an implicitly created identity. Type 'None' will not use Managed Identity for the + configuration. Possible values include: "SystemAssigned", "None". + :paramtype type: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceIdentityType + """ + super(ConfigurationIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class ErrorDefinition(msrest.serialization.Model): + """Error definition. + + All required parameters must be populated in order to send to Azure. + + :ivar code: Required. Service specific error code which serves as the substatus for the HTTP + error code. + :vartype code: str + :ivar message: Required. Description of the error. + :vartype message: str + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + *, + code: str, + message: str, + **kwargs + ): + """ + :keyword code: Required. Service specific error code which serves as the substatus for the HTTP + error code. + :paramtype code: str + :keyword message: Required. Description of the error. + :paramtype message: str + """ + super(ErrorDefinition, self).__init__(**kwargs) + self.code = code + self.message = message + + +class ErrorResponse(msrest.serialization.Model): + """Error response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar error: Error definition. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ErrorDefinition + """ + + _validation = { + 'error': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ErrorResponse, self).__init__(**kwargs) + self.error = None + + +class Resource(msrest.serialization.Model): + """The Resource model definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + """ + + _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'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + system_data: Optional["SystemData"] = None, + **kwargs + ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + """ + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.system_data = system_data + + +class ProxyResource(Resource): + """ARM proxy resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + """ + + _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'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + system_data: Optional["SystemData"] = None, + **kwargs + ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + """ + super(ProxyResource, self).__init__(system_data=system_data, **kwargs) + + +class ExtensionInstance(ProxyResource): + """The Extension Instance object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + :ivar extension_type: Type of the Extension, of which this resource is an instance of. It must + be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :vartype extension_type: str + :ivar auto_upgrade_minor_version: Flag to note if this instance participates in auto upgrade of + minor version, or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension instance participates in for auto-upgrade + (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension instance, if it is 'pinned' to a + specific version. autoUpgradeMinorVersion must be 'false'. + :vartype version: str + :ivar scope: Scope at which the extension instance is installed. + :vartype scope: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Scope + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this + instance of the extension. + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this instance of the extension. + :vartype configuration_protected_settings: dict[str, str] + :ivar install_state: Status of installation of this instance of the extension. Possible values + include: "Pending", "Installed", "Failed". + :vartype install_state: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.InstallStateType + :ivar statuses: Status from this instance of the extension. + :vartype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionStatus] + :ivar creation_time: DateLiteral (per ISO8601) noting the time the resource was created by the + client (user). + :vartype creation_time: str + :ivar last_modified_time: DateLiteral (per ISO8601) noting the time the resource was modified + by the client (user). + :vartype last_modified_time: str + :ivar last_status_time: DateLiteral (per ISO8601) noting the time of last status from the + agent. + :vartype last_status_time: str + :ivar error_info: Error information from the Agent - e.g. errors during installation. + :vartype error_info: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ErrorDefinition + :ivar identity: The identity of the configuration. + :vartype identity: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ConfigurationIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'install_state': {'readonly': True}, + 'creation_time': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'last_status_time': {'readonly': True}, + 'error_info': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'Scope'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'install_state': {'key': 'properties.installState', 'type': 'str'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ExtensionStatus]'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'str'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'str'}, + 'last_status_time': {'key': 'properties.lastStatusTime', 'type': 'str'}, + 'error_info': {'key': 'properties.errorInfo', 'type': 'ErrorDefinition'}, + 'identity': {'key': 'properties.identity', 'type': 'ConfigurationIdentity'}, + } + + def __init__( + self, + *, + system_data: Optional["SystemData"] = None, + extension_type: Optional[str] = None, + auto_upgrade_minor_version: Optional[bool] = None, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + scope: Optional["Scope"] = None, + configuration_settings: Optional[Dict[str, str]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + statuses: Optional[List["ExtensionStatus"]] = None, + identity: Optional["ConfigurationIdentity"] = None, + **kwargs + ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + :keyword extension_type: Type of the Extension, of which this resource is an instance of. It + must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :paramtype extension_type: str + :keyword auto_upgrade_minor_version: Flag to note if this instance participates in auto upgrade + of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension instance participates in for auto-upgrade + (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension instance, if it is 'pinned' to a + specific version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword scope: Scope at which the extension instance is installed. + :paramtype scope: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Scope + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this instance of the extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this instance of the extension. + :paramtype configuration_protected_settings: dict[str, str] + :keyword statuses: Status from this instance of the extension. + :paramtype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionStatus] + :keyword identity: The identity of the configuration. + :paramtype identity: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ConfigurationIdentity + """ + super(ExtensionInstance, self).__init__(system_data=system_data, **kwargs) + self.extension_type = extension_type + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + self.scope = scope + self.configuration_settings = configuration_settings + self.configuration_protected_settings = configuration_protected_settings + self.install_state = None + self.statuses = statuses + self.creation_time = None + self.last_modified_time = None + self.last_status_time = None + self.error_info = None + self.identity = identity + + +class ExtensionInstancesList(msrest.serialization.Model): + """Result of the request to list Extension Instances. It contains a list of ExtensionInstance objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Extension Instances within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance] + :ivar next_link: URL to get the next set of extension instance objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExtensionInstance]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ExtensionInstancesList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ExtensionInstanceUpdate(msrest.serialization.Model): + """Update Extension Instance request object. + + :ivar auto_upgrade_minor_version: Flag to note if this instance participates in Extension + Lifecycle Management or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension instance participates in for auto-upgrade + (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version number of extension, to 'pin' to a specific version. + autoUpgradeMinorVersion must be 'false'. + :vartype version: str + """ + + _attribute_map = { + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + } + + def __init__( + self, + *, + auto_upgrade_minor_version: Optional[bool] = None, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + **kwargs + ): + """ + :keyword auto_upgrade_minor_version: Flag to note if this instance participates in Extension + Lifecycle Management or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension instance participates in for auto-upgrade + (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version number of extension, to 'pin' to a specific version. + autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + """ + super(ExtensionInstanceUpdate, self).__init__(**kwargs) + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + + +class ExtensionStatus(msrest.serialization.Model): + """Status from this instance of the extension. + + :ivar code: Status code provided by the Extension. + :vartype code: str + :ivar display_status: Short description of status of this instance of the extension. + :vartype display_status: str + :ivar level: Level of the status. Possible values include: "Error", "Warning", "Information". + Default value: "Information". + :vartype level: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.LevelType + :ivar message: Detailed message of the status from the Extension instance. + :vartype message: str + :ivar time: DateLiteral (per ISO8601) noting the time of installation status. + :vartype time: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'display_status': {'key': 'displayStatus', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + display_status: Optional[str] = None, + level: Optional[Union[str, "LevelType"]] = "Information", + message: Optional[str] = None, + time: Optional[str] = None, + **kwargs + ): + """ + :keyword code: Status code provided by the Extension. + :paramtype code: str + :keyword display_status: Short description of status of this instance of the extension. + :paramtype display_status: str + :keyword level: Level of the status. Possible values include: "Error", "Warning", + "Information". Default value: "Information". + :paramtype level: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.LevelType + :keyword message: Detailed message of the status from the Extension instance. + :paramtype message: str + :keyword time: DateLiteral (per ISO8601) noting the time of installation status. + :paramtype time: str + """ + super(ExtensionStatus, self).__init__(**kwargs) + self.code = code + self.display_status = display_status + self.level = level + self.message = message + self.time = time + + +class HelmOperatorProperties(msrest.serialization.Model): + """Properties for Helm operator. + + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__( + self, + *, + chart_version: Optional[str] = None, + chart_values: Optional[str] = None, + **kwargs + ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = chart_version + self.chart_values = chart_values + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperationDisplay + :ivar is_data_action: The flag that indicates whether the operation applies to data plane. + :vartype is_data_action: bool + """ + + _validation = { + 'is_data_action': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + **kwargs + ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperationDisplay + """ + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + self.is_data_action = None + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + provider: Optional[str] = None, + resource: Optional[str] = None, + operation: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of operations supported by this resource provider. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperation] + :ivar next_link: URL to the next set of results, if any. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceProviderOperation"]] = None, + **kwargs + ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperation] + """ + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class Result(msrest.serialization.Model): + """Sample result definition. + + :ivar sample_property: Sample property of type string. + :vartype sample_property: str + """ + + _attribute_map = { + 'sample_property': {'key': 'sampleProperty', 'type': 'str'}, + } + + def __init__( + self, + *, + sample_property: Optional[str] = None, + **kwargs + ): + """ + :keyword sample_property: Sample property of type string. + :paramtype sample_property: str + """ + super(Result, self).__init__(**kwargs) + self.sample_property = sample_property + + +class Scope(msrest.serialization.Model): + """Scope of the extensionInstance. It can be either Cluster or Namespace; but not both. + + :ivar cluster: Specifies that the scope of the extensionInstance is Cluster. + :vartype cluster: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ScopeCluster + :ivar namespace: Specifies that the scope of the extensionInstance is Namespace. + :vartype namespace: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ScopeNamespace + """ + + _attribute_map = { + 'cluster': {'key': 'cluster', 'type': 'ScopeCluster'}, + 'namespace': {'key': 'namespace', 'type': 'ScopeNamespace'}, + } + + def __init__( + self, + *, + cluster: Optional["ScopeCluster"] = None, + namespace: Optional["ScopeNamespace"] = None, + **kwargs + ): + """ + :keyword cluster: Specifies that the scope of the extensionInstance is Cluster. + :paramtype cluster: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ScopeCluster + :keyword namespace: Specifies that the scope of the extensionInstance is Namespace. + :paramtype namespace: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ScopeNamespace + """ + super(Scope, self).__init__(**kwargs) + self.cluster = cluster + self.namespace = namespace + + +class ScopeCluster(msrest.serialization.Model): + """Specifies that the scope of the extensionInstance is Cluster. + + :ivar release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extensionInstance. If this namespace does not exist, it will be created. + :vartype release_namespace: str + """ + + _attribute_map = { + 'release_namespace': {'key': 'releaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + release_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extensionInstance. If this namespace does not exist, it will be created. + :paramtype release_namespace: str + """ + super(ScopeCluster, self).__init__(**kwargs) + self.release_namespace = release_namespace + + +class ScopeNamespace(msrest.serialization.Model): + """Specifies that the scope of the extensionInstance is Namespace. + + :ivar target_namespace: Namespace where the extensionInstance will be created for an Namespace + scoped extensionInstance. If this namespace does not exist, it will be created. + :vartype target_namespace: str + """ + + _attribute_map = { + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + target_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword target_namespace: Namespace where the extensionInstance will be created for an + Namespace scoped extensionInstance. If this namespace does not exist, it will be created. + :paramtype target_namespace: str + """ + super(ScopeNamespace, self).__init__(**kwargs) + self.target_namespace = target_namespace + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.OperatorType + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :vartype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.OperatorScopeType + :ivar repository_public_key: Public Key associated with this SourceControl configuration + (either generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + required to access private Git instances. + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. Possible values + include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ProvisioningStateType + :ivar compliance_status: Compliance Status of the Configuration. + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__( + self, + *, + system_data: Optional["SystemData"] = None, + repository_url: Optional[str] = None, + operator_namespace: Optional[str] = "default", + operator_instance_name: Optional[str] = None, + operator_type: Optional[Union[str, "OperatorType"]] = None, + operator_params: Optional[str] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + operator_scope: Optional[Union[str, "OperatorScopeType"]] = "cluster", + ssh_known_hosts_contents: Optional[str] = None, + enable_helm_operator: Optional[bool] = None, + helm_operator_properties: Optional["HelmOperatorProperties"] = None, + **kwargs + ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.HelmOperatorProperties + """ + super(SourceControlConfiguration, self).__init__(system_data=system_data, **kwargs) + self.repository_url = repository_url + self.operator_namespace = operator_namespace + self.operator_instance_name = operator_instance_name + self.operator_type = operator_type + self.operator_params = operator_params + self.configuration_protected_settings = configuration_protected_settings + self.operator_scope = operator_scope + self.repository_public_key = None + self.ssh_known_hosts_contents = ssh_known_hosts_contents + self.enable_helm_operator = enable_helm_operator + self.helm_operator_properties = helm_operator_properties + self.provisioning_state = None + self.compliance_status = None + + +class SourceControlConfigurationList(msrest.serialization.Model): + """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Source Control Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(SourceControlConfigurationList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class SystemData(msrest.serialization.Model): + """Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar created_by: A string identifier for the identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource: user, application, + managedIdentity, key. + :vartype created_by_type: str + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: A string identifier for the identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource: user, + application, managedIdentity, key. + :vartype last_modified_by_type: str + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime + """ + + _validation = { + 'created_by': {'readonly': True}, + 'created_by_type': {'readonly': True}, + 'created_at': {'readonly': True}, + 'last_modified_by': {'readonly': True}, + 'last_modified_by_type': {'readonly': True}, + 'last_modified_at': {'readonly': True}, + } + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(SystemData, self).__init__(**kwargs) + self.created_by = None + self.created_by_type = None + self.created_at = None + self.last_modified_by = None + self.last_modified_by_type = None + self.last_modified_at = None diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/_source_control_configuration_client_enums.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/_source_control_configuration_client_enums.py new file mode 100644 index 00000000000..bae6382fbce --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/_source_control_configuration_client_enums.py @@ -0,0 +1,87 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum +from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta + + +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The compliance state of the configuration. + """ + + PENDING = "Pending" + COMPLIANT = "Compliant" + NONCOMPLIANT = "Noncompliant" + INSTALLED = "Installed" + FAILED = "Failed" + +class Enum0(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" + MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" + +class Enum1(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MANAGED_CLUSTERS = "managedClusters" + CONNECTED_CLUSTERS = "connectedClusters" + +class InstallStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Status of installation of this instance of the extension. + """ + + PENDING = "Pending" + INSTALLED = "Installed" + FAILED = "Failed" + +class LevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the status. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the message. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the operator will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Type of the operator + """ + + FLUX = "Flux" + +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource provider. + """ + + ACCEPTED = "Accepted" + DELETING = "Deleting" + RUNNING = "Running" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + +class ResourceIdentityType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The type of identity used for the configuration. Type 'SystemAssigned' will use an implicitly + created identity. Type 'None' will not use Managed Identity for the configuration. + """ + + SYSTEM_ASSIGNED = "SystemAssigned" + NONE = "None" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/__init__.py new file mode 100644 index 00000000000..2e68d5ecb0c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/__init__.py @@ -0,0 +1,17 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations +from ._extensions_operations import ExtensionsOperations + +__all__ = [ + 'SourceControlConfigurationsOperations', + 'Operations', + 'ExtensionsOperations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_extensions_operations.py new file mode 100644 index 00000000000..f0a15e102ca --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_extensions_operations.py @@ -0,0 +1,642 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionInstanceName": _SERIALIZER.url("extension_instance_name", extension_instance_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionInstanceName": _SERIALIZER.url("extension_instance_name", extension_instance_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionInstanceName": _SERIALIZER.url("extension_instance_name", extension_instance_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionInstanceName": _SERIALIZER.url("extension_instance_name", extension_instance_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ExtensionsOperations(object): + """ExtensionsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def create( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + extension_instance: "_models.ExtensionInstance", + **kwargs: Any + ) -> "_models.ExtensionInstance": + """Create a new Kubernetes Cluster Extension Instance. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_instance_name: Name of an instance of the Extension. + :type extension_instance_name: str + :param extension_instance: Properties necessary to Create an Extension Instance. + :type extension_instance: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionInstance, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionInstance"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension_instance, 'ExtensionInstance') + + request = build_create_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + content_type=content_type, + json=_json, + template_url=self.create.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionInstance', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + **kwargs: Any + ) -> "_models.ExtensionInstance": + """Gets details of the Kubernetes Cluster Extension Instance. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_instance_name: Name of an instance of the Extension. + :type extension_instance_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionInstance, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionInstance"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionInstance', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + + @distributed_trace + def update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + extension_instance: "_models.ExtensionInstanceUpdate", + **kwargs: Any + ) -> "_models.ExtensionInstance": + """Update an existing Kubernetes Cluster Extension Instance. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_instance_name: Name of an instance of the Extension. + :type extension_instance_name: str + :param extension_instance: Properties to Update in the Extension Instance. + :type extension_instance: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstanceUpdate + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionInstance, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionInstance"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension_instance, 'ExtensionInstanceUpdate') + + request = build_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + content_type=content_type, + json=_json, + template_url=self.update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionInstance', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + + @distributed_trace + def delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + **kwargs: Any + ) -> None: + """Delete a Kubernetes Cluster Extension Instance. This will cause the Agent to Uninstall the + extension instance from the cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_instance_name: Name of an instance of the Extension. + :type extension_instance_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionInstancesList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionInstancesList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstancesList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionInstancesList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionInstancesList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_operations.py new file mode 100644 index 00000000000..3e405e2ae48 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_operations.py @@ -0,0 +1,137 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class Operations(object): + """Operations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..3a863680448 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_source_control_configurations_operations.py @@ -0,0 +1,578 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class SourceControlConfigurationsOperations(object): + """SourceControlConfigurationsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/__init__.py new file mode 100644 index 00000000000..e9096303633 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_configuration.py new file mode 100644 index 00000000000..7167f9bec31 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_configuration.py @@ -0,0 +1,68 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2020-10-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_source_control_configuration_client.py new file mode 100644 index 00000000000..435ce16a3a2 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_source_control_configuration_client.py @@ -0,0 +1,99 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.rest import HttpRequest, HttpResponse +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.operations.Operations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :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 base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.HttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> SourceControlConfigurationClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_vendor.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_vendor.py @@ -0,0 +1,27 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_version.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_version.py new file mode 100644 index 00000000000..59deb8c7263 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +VERSION = "1.1.0" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/__init__.py new file mode 100644 index 00000000000..5f583276b4e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_configuration.py new file mode 100644 index 00000000000..2ea6b77035b --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_configuration.py @@ -0,0 +1,67 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2020-10-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_source_control_configuration_client.py new file mode 100644 index 00000000000..24c6800aa80 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_source_control_configuration_client.py @@ -0,0 +1,96 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING + +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.aio.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.aio.operations.Operations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :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 base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "SourceControlConfigurationClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/__init__.py new file mode 100644 index 00000000000..07db19b318c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/_operations.py new file mode 100644 index 00000000000..d10b2c945f2 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/_operations.py @@ -0,0 +1,111 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class Operations: + """Operations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..1ff137c7cc0 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/_source_control_configurations_operations.py @@ -0,0 +1,405 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SourceControlConfigurationsOperations: + """SourceControlConfigurationsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/__init__.py new file mode 100644 index 00000000000..f851a5fd806 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/__init__.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._models_py3 import ComplianceStatus +from ._models_py3 import ErrorDefinition +from ._models_py3 import ErrorResponse +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import ProxyResource +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Result +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SystemData + + +from ._source_control_configuration_client_enums import ( + ComplianceStateType, + Enum0, + Enum1, + MessageLevelType, + OperatorScopeType, + OperatorType, + ProvisioningStateType, +) + +__all__ = [ + 'ComplianceStatus', + 'ErrorDefinition', + 'ErrorResponse', + 'HelmOperatorProperties', + 'ProxyResource', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', + 'Result', + 'SourceControlConfiguration', + 'SourceControlConfigurationList', + 'SystemData', + 'ComplianceStateType', + 'Enum0', + 'Enum1', + 'MessageLevelType', + 'OperatorScopeType', + 'OperatorType', + 'ProvisioningStateType', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/_models_py3.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/_models_py3.py new file mode 100644 index 00000000000..b3ea2a3dcc4 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/_models_py3.py @@ -0,0 +1,650 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import datetime +from typing import Dict, List, Optional, Union + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + +from ._source_control_configuration_client_enums import * + + +class ComplianceStatus(msrest.serialization.Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar compliance_state: The compliance state of the configuration. Possible values include: + "Pending", "Compliant", "Noncompliant", "Installed", "Failed". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ComplianceStateType + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :vartype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.MessageLevelType + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__( + self, + *, + last_config_applied: Optional[datetime.datetime] = None, + message: Optional[str] = None, + message_level: Optional[Union[str, "MessageLevelType"]] = None, + **kwargs + ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.MessageLevelType + """ + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = last_config_applied + self.message = message + self.message_level = message_level + + +class ErrorDefinition(msrest.serialization.Model): + """Error definition. + + All required parameters must be populated in order to send to Azure. + + :ivar code: Required. Service specific error code which serves as the substatus for the HTTP + error code. + :vartype code: str + :ivar message: Required. Description of the error. + :vartype message: str + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + *, + code: str, + message: str, + **kwargs + ): + """ + :keyword code: Required. Service specific error code which serves as the substatus for the HTTP + error code. + :paramtype code: str + :keyword message: Required. Description of the error. + :paramtype message: str + """ + super(ErrorDefinition, self).__init__(**kwargs) + self.code = code + self.message = message + + +class ErrorResponse(msrest.serialization.Model): + """Error response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar error: Error definition. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ErrorDefinition + """ + + _validation = { + 'error': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ErrorResponse, self).__init__(**kwargs) + self.error = None + + +class HelmOperatorProperties(msrest.serialization.Model): + """Properties for Helm operator. + + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__( + self, + *, + chart_version: Optional[str] = None, + chart_values: Optional[str] = None, + **kwargs + ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = chart_version + self.chart_values = chart_values + + +class Resource(msrest.serialization.Model): + """The Resource model definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData + """ + + _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'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + system_data: Optional["SystemData"] = None, + **kwargs + ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData + """ + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.system_data = system_data + + +class ProxyResource(Resource): + """ARM proxy resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData + """ + + _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'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + system_data: Optional["SystemData"] = None, + **kwargs + ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData + """ + super(ProxyResource, self).__init__(system_data=system_data, **kwargs) + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperationDisplay + :ivar is_data_action: The flag that indicates whether the operation applies to data plane. + :vartype is_data_action: bool + """ + + _validation = { + 'is_data_action': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + **kwargs + ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperationDisplay + """ + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + self.is_data_action = None + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + provider: Optional[str] = None, + resource: Optional[str] = None, + operation: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of operations supported by this resource provider. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperation] + :ivar next_link: URL to the next set of results, if any. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceProviderOperation"]] = None, + **kwargs + ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperation] + """ + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class Result(msrest.serialization.Model): + """Sample result definition. + + :ivar sample_property: Sample property of type string. + :vartype sample_property: str + """ + + _attribute_map = { + 'sample_property': {'key': 'sampleProperty', 'type': 'str'}, + } + + def __init__( + self, + *, + sample_property: Optional[str] = None, + **kwargs + ): + """ + :keyword sample_property: Sample property of type string. + :paramtype sample_property: str + """ + super(Result, self).__init__(**kwargs) + self.sample_property = sample_property + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.OperatorType + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :vartype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.OperatorScopeType + :ivar repository_public_key: Public Key associated with this SourceControl configuration + (either generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + required to access private Git instances. + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. Possible values + include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ProvisioningStateType + :ivar compliance_status: Compliance Status of the Configuration. + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__( + self, + *, + system_data: Optional["SystemData"] = None, + repository_url: Optional[str] = None, + operator_namespace: Optional[str] = "default", + operator_instance_name: Optional[str] = None, + operator_type: Optional[Union[str, "OperatorType"]] = None, + operator_params: Optional[str] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + operator_scope: Optional[Union[str, "OperatorScopeType"]] = "cluster", + ssh_known_hosts_contents: Optional[str] = None, + enable_helm_operator: Optional[bool] = None, + helm_operator_properties: Optional["HelmOperatorProperties"] = None, + **kwargs + ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.HelmOperatorProperties + """ + super(SourceControlConfiguration, self).__init__(system_data=system_data, **kwargs) + self.repository_url = repository_url + self.operator_namespace = operator_namespace + self.operator_instance_name = operator_instance_name + self.operator_type = operator_type + self.operator_params = operator_params + self.configuration_protected_settings = configuration_protected_settings + self.operator_scope = operator_scope + self.repository_public_key = None + self.ssh_known_hosts_contents = ssh_known_hosts_contents + self.enable_helm_operator = enable_helm_operator + self.helm_operator_properties = helm_operator_properties + self.provisioning_state = None + self.compliance_status = None + + +class SourceControlConfigurationList(msrest.serialization.Model): + """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Source Control Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(SourceControlConfigurationList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class SystemData(msrest.serialization.Model): + """Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar created_by: A string identifier for the identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource: user, application, + managedIdentity, key. + :vartype created_by_type: str + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: A string identifier for the identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource: user, + application, managedIdentity, key. + :vartype last_modified_by_type: str + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime + """ + + _validation = { + 'created_by': {'readonly': True}, + 'created_by_type': {'readonly': True}, + 'created_at': {'readonly': True}, + 'last_modified_by': {'readonly': True}, + 'last_modified_by_type': {'readonly': True}, + 'last_modified_at': {'readonly': True}, + } + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(SystemData, self).__init__(**kwargs) + self.created_by = None + self.created_by_type = None + self.created_at = None + self.last_modified_by = None + self.last_modified_by_type = None + self.last_modified_at = None diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/_source_control_configuration_client_enums.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/_source_control_configuration_client_enums.py new file mode 100644 index 00000000000..f15af9df3a0 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/_source_control_configuration_client_enums.py @@ -0,0 +1,63 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum +from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta + + +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The compliance state of the configuration. + """ + + PENDING = "Pending" + COMPLIANT = "Compliant" + NONCOMPLIANT = "Noncompliant" + INSTALLED = "Installed" + FAILED = "Failed" + +class Enum0(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" + MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" + +class Enum1(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MANAGED_CLUSTERS = "managedClusters" + CONNECTED_CLUSTERS = "connectedClusters" + +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the message. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the operator will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Type of the operator + """ + + FLUX = "Flux" + +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource provider. + """ + + ACCEPTED = "Accepted" + DELETING = "Deleting" + RUNNING = "Running" + SUCCEEDED = "Succeeded" + FAILED = "Failed" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/__init__.py new file mode 100644 index 00000000000..07db19b318c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/_operations.py new file mode 100644 index 00000000000..04f675b2f5e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/_operations.py @@ -0,0 +1,137 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2020-10-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class Operations(object): + """Operations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..8eebc483790 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/_source_control_configurations_operations.py @@ -0,0 +1,578 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-10-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2020-10-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-10-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-10-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class SourceControlConfigurationsOperations(object): + """SourceControlConfigurationsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/__init__.py new file mode 100644 index 00000000000..e9096303633 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_configuration.py new file mode 100644 index 00000000000..d1e0dc4fffe --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_configuration.py @@ -0,0 +1,68 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-03-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_source_control_configuration_client.py new file mode 100644 index 00000000000..d88edd7b180 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_source_control_configuration_client.py @@ -0,0 +1,98 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.rest import HttpRequest, HttpResponse +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2021_03_01.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.kubernetesconfiguration.v2021_03_01.operations.Operations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :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 base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.HttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> SourceControlConfigurationClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_vendor.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_vendor.py @@ -0,0 +1,27 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_version.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_version.py new file mode 100644 index 00000000000..59deb8c7263 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +VERSION = "1.1.0" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/__init__.py new file mode 100644 index 00000000000..5f583276b4e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_configuration.py new file mode 100644 index 00000000000..6e8d28ce1ac --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_configuration.py @@ -0,0 +1,67 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-03-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_source_control_configuration_client.py new file mode 100644 index 00000000000..ebbe4381c95 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_source_control_configuration_client.py @@ -0,0 +1,95 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING + +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2021_03_01.aio.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.kubernetesconfiguration.v2021_03_01.aio.operations.Operations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :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 base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "SourceControlConfigurationClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/__init__.py new file mode 100644 index 00000000000..07db19b318c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/_operations.py new file mode 100644 index 00000000000..ced61c24199 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/_operations.py @@ -0,0 +1,111 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class Operations: + """Operations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..8ca4a2f361a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/_source_control_configurations_operations.py @@ -0,0 +1,403 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SourceControlConfigurationsOperations: + """SourceControlConfigurationsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/__init__.py new file mode 100644 index 00000000000..ec901c15835 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/__init__.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._models_py3 import ComplianceStatus +from ._models_py3 import ErrorDefinition +from ._models_py3 import ErrorResponse +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import ProxyResource +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Result +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SystemData + + +from ._source_control_configuration_client_enums import ( + ComplianceStateType, + CreatedByType, + Enum0, + Enum1, + MessageLevelType, + OperatorScopeType, + OperatorType, + ProvisioningStateType, +) + +__all__ = [ + 'ComplianceStatus', + 'ErrorDefinition', + 'ErrorResponse', + 'HelmOperatorProperties', + 'ProxyResource', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', + 'Result', + 'SourceControlConfiguration', + 'SourceControlConfigurationList', + 'SystemData', + 'ComplianceStateType', + 'CreatedByType', + 'Enum0', + 'Enum1', + 'MessageLevelType', + 'OperatorScopeType', + 'OperatorType', + 'ProvisioningStateType', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/_models_py3.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/_models_py3.py new file mode 100644 index 00000000000..fb21995b82b --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/_models_py3.py @@ -0,0 +1,646 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import datetime +from typing import Dict, List, Optional, Union + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + +from ._source_control_configuration_client_enums import * + + +class ComplianceStatus(msrest.serialization.Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar compliance_state: The compliance state of the configuration. Possible values include: + "Pending", "Compliant", "Noncompliant", "Installed", "Failed". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ComplianceStateType + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :vartype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.MessageLevelType + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__( + self, + *, + last_config_applied: Optional[datetime.datetime] = None, + message: Optional[str] = None, + message_level: Optional[Union[str, "MessageLevelType"]] = None, + **kwargs + ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.MessageLevelType + """ + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = last_config_applied + self.message = message + self.message_level = message_level + + +class ErrorDefinition(msrest.serialization.Model): + """Error definition. + + All required parameters must be populated in order to send to Azure. + + :ivar code: Required. Service specific error code which serves as the substatus for the HTTP + error code. + :vartype code: str + :ivar message: Required. Description of the error. + :vartype message: str + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + *, + code: str, + message: str, + **kwargs + ): + """ + :keyword code: Required. Service specific error code which serves as the substatus for the HTTP + error code. + :paramtype code: str + :keyword message: Required. Description of the error. + :paramtype message: str + """ + super(ErrorDefinition, self).__init__(**kwargs) + self.code = code + self.message = message + + +class ErrorResponse(msrest.serialization.Model): + """Error response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar error: Error definition. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ErrorDefinition + """ + + _validation = { + 'error': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ErrorResponse, self).__init__(**kwargs) + self.error = None + + +class HelmOperatorProperties(msrest.serialization.Model): + """Properties for Helm operator. + + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__( + self, + *, + chart_version: Optional[str] = None, + chart_values: Optional[str] = None, + **kwargs + ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = chart_version + self.chart_values = chart_values + + +class Resource(msrest.serialization.Model): + """Common fields that are returned in the response for all Azure Resource Manager 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. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class ProxyResource(Resource): + """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ProxyResource, self).__init__(**kwargs) + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperationDisplay + :ivar is_data_action: The flag that indicates whether the operation applies to data plane. + :vartype is_data_action: bool + """ + + _validation = { + 'is_data_action': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + **kwargs + ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperationDisplay + """ + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + self.is_data_action = None + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + provider: Optional[str] = None, + resource: Optional[str] = None, + operation: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of operations supported by this resource provider. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperation] + :ivar next_link: URL to the next set of results, if any. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceProviderOperation"]] = None, + **kwargs + ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperation] + """ + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class Result(msrest.serialization.Model): + """Sample result definition. + + :ivar sample_property: Sample property of type string. + :vartype sample_property: str + """ + + _attribute_map = { + 'sample_property': {'key': 'sampleProperty', 'type': 'str'}, + } + + def __init__( + self, + *, + sample_property: Optional[str] = None, + **kwargs + ): + """ + :keyword sample_property: Sample property of type string. + :paramtype sample_property: str + """ + super(Result, self).__init__(**kwargs) + self.sample_property = sample_property + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SystemData + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.OperatorType + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :vartype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.OperatorScopeType + :ivar repository_public_key: Public Key associated with this SourceControl configuration + (either generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + required to access private Git instances. + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. Possible values + include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ProvisioningStateType + :ivar compliance_status: Compliance Status of the Configuration. + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__( + self, + *, + repository_url: Optional[str] = None, + operator_namespace: Optional[str] = "default", + operator_instance_name: Optional[str] = None, + operator_type: Optional[Union[str, "OperatorType"]] = None, + operator_params: Optional[str] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + operator_scope: Optional[Union[str, "OperatorScopeType"]] = "cluster", + ssh_known_hosts_contents: Optional[str] = None, + enable_helm_operator: Optional[bool] = None, + helm_operator_properties: Optional["HelmOperatorProperties"] = None, + **kwargs + ): + """ + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.HelmOperatorProperties + """ + super(SourceControlConfiguration, self).__init__(**kwargs) + self.system_data = None + self.repository_url = repository_url + self.operator_namespace = operator_namespace + self.operator_instance_name = operator_instance_name + self.operator_type = operator_type + self.operator_params = operator_params + self.configuration_protected_settings = configuration_protected_settings + self.operator_scope = operator_scope + self.repository_public_key = None + self.ssh_known_hosts_contents = ssh_known_hosts_contents + self.enable_helm_operator = enable_helm_operator + self.helm_operator_properties = helm_operator_properties + self.provisioning_state = None + self.compliance_status = None + + +class SourceControlConfigurationList(msrest.serialization.Model): + """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Source Control Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(SourceControlConfigurationList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.CreatedByType + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :vartype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.CreatedByType + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + created_by: Optional[str] = None, + created_by_type: Optional[Union[str, "CreatedByType"]] = None, + created_at: Optional[datetime.datetime] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None, + last_modified_at: Optional[datetime.datetime] = None, + **kwargs + ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ + super(SystemData, self).__init__(**kwargs) + self.created_by = created_by + self.created_by_type = created_by_type + self.created_at = created_at + self.last_modified_by = last_modified_by + self.last_modified_by_type = last_modified_by_type + self.last_modified_at = last_modified_at diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/_source_control_configuration_client_enums.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/_source_control_configuration_client_enums.py new file mode 100644 index 00000000000..68b551afcbe --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/_source_control_configuration_client_enums.py @@ -0,0 +1,72 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum +from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta + + +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The compliance state of the configuration. + """ + + PENDING = "Pending" + COMPLIANT = "Compliant" + NONCOMPLIANT = "Noncompliant" + INSTALLED = "Installed" + FAILED = "Failed" + +class CreatedByType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The type of identity that created the resource. + """ + + USER = "User" + APPLICATION = "Application" + MANAGED_IDENTITY = "ManagedIdentity" + KEY = "Key" + +class Enum0(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" + MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" + +class Enum1(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MANAGED_CLUSTERS = "managedClusters" + CONNECTED_CLUSTERS = "connectedClusters" + +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the message. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the operator will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Type of the operator + """ + + FLUX = "Flux" + +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource provider. + """ + + ACCEPTED = "Accepted" + DELETING = "Deleting" + RUNNING = "Running" + SUCCEEDED = "Succeeded" + FAILED = "Failed" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/__init__.py new file mode 100644 index 00000000000..07db19b318c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/_operations.py new file mode 100644 index 00000000000..284e6510ab7 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/_operations.py @@ -0,0 +1,137 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2021-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class Operations(object): + """Operations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..a36d0e745c0 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/_source_control_configurations_operations.py @@ -0,0 +1,576 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class SourceControlConfigurationsOperations(object): + """SourceControlConfigurationsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/__init__.py new file mode 100644 index 00000000000..e9096303633 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_configuration.py new file mode 100644 index 00000000000..e0d799c1310 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_configuration.py @@ -0,0 +1,68 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-05-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_source_control_configuration_client.py new file mode 100644 index 00000000000..caa563f1320 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_source_control_configuration_client.py @@ -0,0 +1,122 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.rest import HttpRequest, HttpResponse +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ClusterExtensionTypeOperations, ClusterExtensionTypesOperations, ExtensionTypeVersionsOperations, ExtensionsOperations, LocationExtensionTypesOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.OperationStatusOperations + :ivar cluster_extension_type: ClusterExtensionTypeOperations operations + :vartype cluster_extension_type: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.ClusterExtensionTypeOperations + :ivar cluster_extension_types: ClusterExtensionTypesOperations operations + :vartype cluster_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.ClusterExtensionTypesOperations + :ivar extension_type_versions: ExtensionTypeVersionsOperations operations + :vartype extension_type_versions: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.ExtensionTypeVersionsOperations + :ivar location_extension_types: LocationExtensionTypesOperations operations + :vartype location_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.LocationExtensionTypesOperations + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.Operations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_type = ClusterExtensionTypeOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_types = ClusterExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extension_type_versions = ExtensionTypeVersionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.location_extension_types = LocationExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.HttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> SourceControlConfigurationClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_vendor.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_vendor.py @@ -0,0 +1,27 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_version.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_version.py new file mode 100644 index 00000000000..59deb8c7263 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +VERSION = "1.1.0" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/__init__.py new file mode 100644 index 00000000000..5f583276b4e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_configuration.py new file mode 100644 index 00000000000..d457ecaa974 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_configuration.py @@ -0,0 +1,67 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-05-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_source_control_configuration_client.py new file mode 100644 index 00000000000..a2fbc1fdda5 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_source_control_configuration_client.py @@ -0,0 +1,119 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING + +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ClusterExtensionTypeOperations, ClusterExtensionTypesOperations, ExtensionTypeVersionsOperations, ExtensionsOperations, LocationExtensionTypesOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.OperationStatusOperations + :ivar cluster_extension_type: ClusterExtensionTypeOperations operations + :vartype cluster_extension_type: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.ClusterExtensionTypeOperations + :ivar cluster_extension_types: ClusterExtensionTypesOperations operations + :vartype cluster_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.ClusterExtensionTypesOperations + :ivar extension_type_versions: ExtensionTypeVersionsOperations operations + :vartype extension_type_versions: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.ExtensionTypeVersionsOperations + :ivar location_extension_types: LocationExtensionTypesOperations operations + :vartype location_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.LocationExtensionTypesOperations + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.Operations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_type = ClusterExtensionTypeOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_types = ClusterExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extension_type_versions = ExtensionTypeVersionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.location_extension_types = LocationExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "SourceControlConfigurationClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/__init__.py new file mode 100644 index 00000000000..5f4504b206d --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/__init__.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._cluster_extension_type_operations import ClusterExtensionTypeOperations +from ._cluster_extension_types_operations import ClusterExtensionTypesOperations +from ._extension_type_versions_operations import ExtensionTypeVersionsOperations +from ._location_extension_types_operations import LocationExtensionTypesOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'ExtensionsOperations', + 'OperationStatusOperations', + 'ClusterExtensionTypeOperations', + 'ClusterExtensionTypesOperations', + 'ExtensionTypeVersionsOperations', + 'LocationExtensionTypesOperations', + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_cluster_extension_type_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_type_operations.py similarity index 75% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_cluster_extension_type_operations.py rename to src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_type_operations.py index 8253dcae713..c77d6b31997 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_cluster_extension_type_operations.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_type_operations.py @@ -5,16 +5,20 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._cluster_extension_type_operations import build_get_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -40,6 +44,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, @@ -73,36 +78,26 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterType': self._serialize.url("cluster_type", cluster_type, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionTypeName': self._serialize.url("extension_type_name", extension_type_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_type=cluster_type, + cluster_name=cluster_name, + extension_type_name=extension_type_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ExtensionType', pipeline_response) @@ -111,4 +106,6 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterType}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_cluster_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_types_operations.py similarity index 71% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_cluster_extension_types_operations.py rename to src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_types_operations.py index 7ff4216acce..b99f307b6ad 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_cluster_extension_types_operations.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_types_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._cluster_extension_types_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, @@ -59,7 +65,8 @@ def list( :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] @@ -67,37 +74,35 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionTypeList', pipeline_response) + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -110,12 +115,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_extension_type_versions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_extension_type_versions_operations.py similarity index 70% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_extension_type_versions_operations.py rename to src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_extension_type_versions_operations.py index bd9f2c220fc..0fd76dd062a 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_extension_type_versions_operations.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_extension_type_versions_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._extension_type_versions_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, location: str, @@ -54,8 +60,10 @@ def list( :param extension_type_name: Extension type name. :type extension_type_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ExtensionVersionList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionVersionList] + :return: An iterator like instance of either ExtensionVersionList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionVersionList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionVersionList"] @@ -63,36 +71,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'location': self._serialize.url("location", location, 'str'), - 'extensionTypeName': self._serialize.url("extension_type_name", extension_type_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionVersionList', pipeline_response) + deserialized = self._deserialize("ExtensionVersionList", pipeline_response) list_of_elem = deserialized.versions if cls: list_of_elem = cls(list_of_elem) @@ -105,12 +110,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_extensions_operations.py new file mode 100644 index 00000000000..65591042bb2 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_extensions_operations.py @@ -0,0 +1,471 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._extensions_operations import build_create_request_initial, build_delete_request_initial, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ExtensionsOperations: + """ExtensionsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def _create_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_create( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> AsyncLROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_location_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_location_extension_types_operations.py similarity index 72% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_location_extension_types_operations.py rename to src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_location_extension_types_operations.py index f435cdfdcb5..024729f2f0f 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_location_extension_types_operations.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_location_extension_types_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._location_extension_types_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, location: str, @@ -52,7 +58,8 @@ def list( :type location: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] @@ -60,35 +67,31 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'location': self._serialize.url("location", location, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionTypeList', pipeline_response) + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -101,12 +104,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_operation_status_operations.py similarity index 66% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_operation_status_operations.py rename to src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_operation_status_operations.py index 00a463db54b..2d99d5e6b2f 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_operation_status_operations.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_operation_status_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._operation_status_operations import build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class OperationStatusOperations: instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.mgmt.kubernetesconfiguration.models + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, @@ -55,15 +61,17 @@ def list( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationStatusList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.models.OperationStatusList] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperationStatusList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] @@ -71,38 +79,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('OperationStatusList', pipeline_response) + deserialized = self._deserialize("OperationStatusList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -115,17 +122,19 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -142,10 +151,11 @@ async def get( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -154,7 +164,7 @@ async def get( :type operation_id: str :keyword callable cls: A custom type or function that will be passed the direct response :return: OperationStatusResult, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.models.OperationStatusResult + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperationStatusResult :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] @@ -162,37 +172,27 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - 'operationId': self._serialize.url("operation_id", operation_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('OperationStatusResult', pipeline_response) @@ -201,4 +201,6 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_operations.py new file mode 100644 index 00000000000..d62dc62020b --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_operations.py @@ -0,0 +1,111 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class Operations: + """Operations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..d63c27542d2 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_source_control_configurations_operations.py @@ -0,0 +1,405 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SourceControlConfigurationsOperations: + """SourceControlConfigurationsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/__init__.py new file mode 100644 index 00000000000..2b481eea8c9 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/__init__.py @@ -0,0 +1,95 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._models_py3 import ClusterScopeSettings +from ._models_py3 import ComplianceStatus +from ._models_py3 import ErrorAdditionalInfo +from ._models_py3 import ErrorDetail +from ._models_py3 import ErrorResponse +from ._models_py3 import Extension +from ._models_py3 import ExtensionStatus +from ._models_py3 import ExtensionType +from ._models_py3 import ExtensionTypeList +from ._models_py3 import ExtensionVersionList +from ._models_py3 import ExtensionVersionListVersionsItem +from ._models_py3 import ExtensionsList +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import Identity +from ._models_py3 import OperationStatusList +from ._models_py3 import OperationStatusResult +from ._models_py3 import ProxyResource +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Scope +from ._models_py3 import ScopeCluster +from ._models_py3 import ScopeNamespace +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SupportedScopes +from ._models_py3 import SystemData + + +from ._source_control_configuration_client_enums import ( + ClusterTypes, + ComplianceStateType, + CreatedByType, + Enum0, + Enum1, + Enum5, + LevelType, + MessageLevelType, + OperatorScopeType, + OperatorType, + ProvisioningState, + ProvisioningStateType, +) + +__all__ = [ + 'ClusterScopeSettings', + 'ComplianceStatus', + 'ErrorAdditionalInfo', + 'ErrorDetail', + 'ErrorResponse', + 'Extension', + 'ExtensionStatus', + 'ExtensionType', + 'ExtensionTypeList', + 'ExtensionVersionList', + 'ExtensionVersionListVersionsItem', + 'ExtensionsList', + 'HelmOperatorProperties', + 'Identity', + 'OperationStatusList', + 'OperationStatusResult', + 'ProxyResource', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', + 'Scope', + 'ScopeCluster', + 'ScopeNamespace', + 'SourceControlConfiguration', + 'SourceControlConfigurationList', + 'SupportedScopes', + 'SystemData', + 'ClusterTypes', + 'ComplianceStateType', + 'CreatedByType', + 'Enum0', + 'Enum1', + 'Enum5', + 'LevelType', + 'MessageLevelType', + 'OperatorScopeType', + 'OperatorType', + 'ProvisioningState', + 'ProvisioningStateType', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/_models_py3.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/_models_py3.py new file mode 100644 index 00000000000..97597606978 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/_models_py3.py @@ -0,0 +1,1363 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import datetime +from typing import Dict, List, Optional, Union + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + +from ._source_control_configuration_client_enums import * + + +class Resource(msrest.serialization.Model): + """Common fields that are returned in the response for all Azure Resource Manager 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. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class ProxyResource(Resource): + """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ProxyResource, self).__init__(**kwargs) + + +class ClusterScopeSettings(ProxyResource): + """Extension scope settings. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar allow_multiple_instances: Describes if multiple instances of the extension are allowed. + :vartype allow_multiple_instances: bool + :ivar default_release_namespace: Default extension release namespace. + :vartype default_release_namespace: 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'}, + 'allow_multiple_instances': {'key': 'properties.allowMultipleInstances', 'type': 'bool'}, + 'default_release_namespace': {'key': 'properties.defaultReleaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + allow_multiple_instances: Optional[bool] = None, + default_release_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword allow_multiple_instances: Describes if multiple instances of the extension are + allowed. + :paramtype allow_multiple_instances: bool + :keyword default_release_namespace: Default extension release namespace. + :paramtype default_release_namespace: str + """ + super(ClusterScopeSettings, self).__init__(**kwargs) + self.allow_multiple_instances = allow_multiple_instances + self.default_release_namespace = default_release_namespace + + +class ComplianceStatus(msrest.serialization.Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar compliance_state: The compliance state of the configuration. Possible values include: + "Pending", "Compliant", "Noncompliant", "Installed", "Failed". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ComplianceStateType + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :vartype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.MessageLevelType + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__( + self, + *, + last_config_applied: Optional[datetime.datetime] = None, + message: Optional[str] = None, + message_level: Optional[Union[str, "MessageLevelType"]] = None, + **kwargs + ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.MessageLevelType + """ + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = last_config_applied + self.message = message + self.message_level = message_level + + +class ErrorAdditionalInfo(msrest.serialization.Model): + """The resource management error additional info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: The additional info type. + :vartype type: str + :ivar info: The additional info. + :vartype info: any + """ + + _validation = { + 'type': {'readonly': True}, + 'info': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'info': {'key': 'info', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ErrorAdditionalInfo, self).__init__(**kwargs) + self.type = None + self.info = None + + +class ErrorDetail(msrest.serialization.Model): + """The error detail. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + :ivar target: The error target. + :vartype target: str + :ivar details: The error details. + :vartype details: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorDetail] + :ivar additional_info: The error additional info. + :vartype additional_info: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorAdditionalInfo] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'details': {'readonly': True}, + 'additional_info': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDetail]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ErrorDetail, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None + + +class ErrorResponse(msrest.serialization.Model): + """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). + + :ivar error: The error object. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorDetail + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + error: Optional["ErrorDetail"] = None, + **kwargs + ): + """ + :keyword error: The error object. + :paramtype error: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorDetail + """ + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class Extension(ProxyResource): + """The Extension object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar identity: Identity of the Extension resource. + :vartype identity: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Identity + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SystemData + :ivar extension_type: Type of the Extension, of which this resource is an instance of. It must + be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :vartype extension_type: str + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + of minor version, or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :vartype version: str + :ivar scope: Scope at which the extension is installed. + :vartype scope: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Scope + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this + extension. + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :vartype configuration_protected_settings: dict[str, str] + :ivar provisioning_state: Status of installation of this extension. Possible values include: + "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ProvisioningState + :ivar statuses: Status from this extension. + :vartype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionStatus] + :ivar error_info: Error information from the Agent - e.g. errors during installation. + :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorDetail + :ivar custom_location_settings: Custom Location settings properties. + :vartype custom_location_settings: dict[str, str] + :ivar package_uri: Uri of the Helm package. + :vartype package_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'error_info': {'readonly': True}, + 'custom_location_settings': {'readonly': True}, + 'package_uri': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'Scope'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ExtensionStatus]'}, + 'error_info': {'key': 'properties.errorInfo', 'type': 'ErrorDetail'}, + 'custom_location_settings': {'key': 'properties.customLocationSettings', 'type': '{str}'}, + 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, + } + + def __init__( + self, + *, + identity: Optional["Identity"] = None, + extension_type: Optional[str] = None, + auto_upgrade_minor_version: Optional[bool] = True, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + scope: Optional["Scope"] = None, + configuration_settings: Optional[Dict[str, str]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + statuses: Optional[List["ExtensionStatus"]] = None, + **kwargs + ): + """ + :keyword identity: Identity of the Extension resource. + :paramtype identity: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Identity + :keyword extension_type: Type of the Extension, of which this resource is an instance of. It + must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :paramtype extension_type: str + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword scope: Scope at which the extension is installed. + :paramtype scope: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Scope + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + :keyword statuses: Status from this extension. + :paramtype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionStatus] + """ + super(Extension, self).__init__(**kwargs) + self.identity = identity + self.system_data = None + self.extension_type = extension_type + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + self.scope = scope + self.configuration_settings = configuration_settings + self.configuration_protected_settings = configuration_protected_settings + self.provisioning_state = None + self.statuses = statuses + self.error_info = None + self.custom_location_settings = None + self.package_uri = None + + +class ExtensionsList(msrest.serialization.Model): + """Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Extensions within a Kubernetes cluster. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension] + :ivar next_link: URL to get the next set of extension objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Extension]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ExtensionsList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ExtensionStatus(msrest.serialization.Model): + """Status from the extension. + + :ivar code: Status code provided by the Extension. + :vartype code: str + :ivar display_status: Short description of status of the extension. + :vartype display_status: str + :ivar level: Level of the status. Possible values include: "Error", "Warning", "Information". + Default value: "Information". + :vartype level: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.LevelType + :ivar message: Detailed message of the status from the Extension. + :vartype message: str + :ivar time: DateLiteral (per ISO8601) noting the time of installation status. + :vartype time: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'display_status': {'key': 'displayStatus', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + display_status: Optional[str] = None, + level: Optional[Union[str, "LevelType"]] = "Information", + message: Optional[str] = None, + time: Optional[str] = None, + **kwargs + ): + """ + :keyword code: Status code provided by the Extension. + :paramtype code: str + :keyword display_status: Short description of status of the extension. + :paramtype display_status: str + :keyword level: Level of the status. Possible values include: "Error", "Warning", + "Information". Default value: "Information". + :paramtype level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.LevelType + :keyword message: Detailed message of the status from the Extension. + :paramtype message: str + :keyword time: DateLiteral (per ISO8601) noting the time of installation status. + :paramtype time: str + """ + super(ExtensionStatus, self).__init__(**kwargs) + self.code = code + self.display_status = display_status + self.level = level + self.message = message + self.time = time + + +class ExtensionType(msrest.serialization.Model): + """Represents an Extension Type. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SystemData + :ivar release_trains: Extension release train: preview or stable. + :vartype release_trains: list[str] + :ivar cluster_types: Cluster types. Possible values include: "connectedClusters", + "managedClusters". + :vartype cluster_types: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ClusterTypes + :ivar supported_scopes: Extension scopes. + :vartype supported_scopes: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SupportedScopes + """ + + _validation = { + 'system_data': {'readonly': True}, + 'release_trains': {'readonly': True}, + 'cluster_types': {'readonly': True}, + 'supported_scopes': {'readonly': True}, + } + + _attribute_map = { + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'release_trains': {'key': 'properties.releaseTrains', 'type': '[str]'}, + 'cluster_types': {'key': 'properties.clusterTypes', 'type': 'str'}, + 'supported_scopes': {'key': 'properties.supportedScopes', 'type': 'SupportedScopes'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ExtensionType, self).__init__(**kwargs) + self.system_data = None + self.release_trains = None + self.cluster_types = None + self.supported_scopes = None + + +class ExtensionTypeList(msrest.serialization.Model): + """List Extension Types. + + :ivar value: The list of Extension Types. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionType] + :ivar next_link: The link to fetch the next page of Extension Types. + :vartype next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExtensionType]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ExtensionType"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + """ + :keyword value: The list of Extension Types. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionType] + :keyword next_link: The link to fetch the next page of Extension Types. + :paramtype next_link: str + """ + super(ExtensionTypeList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ExtensionVersionList(msrest.serialization.Model): + """List versions for an Extension. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar versions: Versions available for this Extension Type. + :vartype versions: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionVersionListVersionsItem] + :ivar next_link: The link to fetch the next page of Extension Types. + :vartype next_link: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SystemData + """ + + _validation = { + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'versions': {'key': 'versions', 'type': '[ExtensionVersionListVersionsItem]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + versions: Optional[List["ExtensionVersionListVersionsItem"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + """ + :keyword versions: Versions available for this Extension Type. + :paramtype versions: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionVersionListVersionsItem] + :keyword next_link: The link to fetch the next page of Extension Types. + :paramtype next_link: str + """ + super(ExtensionVersionList, self).__init__(**kwargs) + self.versions = versions + self.next_link = next_link + self.system_data = None + + +class ExtensionVersionListVersionsItem(msrest.serialization.Model): + """ExtensionVersionListVersionsItem. + + :ivar release_train: The release train for this Extension Type. + :vartype release_train: str + :ivar versions: Versions available for this Extension Type and release train. + :vartype versions: list[str] + """ + + _attribute_map = { + 'release_train': {'key': 'releaseTrain', 'type': 'str'}, + 'versions': {'key': 'versions', 'type': '[str]'}, + } + + def __init__( + self, + *, + release_train: Optional[str] = None, + versions: Optional[List[str]] = None, + **kwargs + ): + """ + :keyword release_train: The release train for this Extension Type. + :paramtype release_train: str + :keyword versions: Versions available for this Extension Type and release train. + :paramtype versions: list[str] + """ + super(ExtensionVersionListVersionsItem, self).__init__(**kwargs) + self.release_train = release_train + self.versions = versions + + +class HelmOperatorProperties(msrest.serialization.Model): + """Properties for Helm operator. + + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__( + self, + *, + chart_version: Optional[str] = None, + chart_values: Optional[str] = None, + **kwargs + ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = chart_version + self.chart_values = chart_values + + +class Identity(msrest.serialization.Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :vartype type: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[str] = None, + **kwargs + ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class OperationStatusList(msrest.serialization.Model): + """The async operations in progress, in the cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of async operations in progress, in the cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperationStatusResult] + :ivar next_link: URL to get the next set of Operation Result objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationStatusResult]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(OperationStatusList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class OperationStatusResult(msrest.serialization.Model): + """The current status of an async operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified ID for the async operation. + :vartype id: str + :ivar name: Name of the async operation. + :vartype name: str + :ivar status: Required. Operation status. + :vartype status: str + :ivar properties: Additional information, if available. + :vartype properties: dict[str, str] + :ivar error: If present, details of the operation error. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorDetail + """ + + _validation = { + 'status': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + status: str, + id: Optional[str] = None, + name: Optional[str] = None, + properties: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword id: Fully qualified ID for the async operation. + :paramtype id: str + :keyword name: Name of the async operation. + :paramtype name: str + :keyword status: Required. Operation status. + :paramtype status: str + :keyword properties: Additional information, if available. + :paramtype properties: dict[str, str] + """ + super(OperationStatusResult, self).__init__(**kwargs) + self.id = id + self.name = name + self.status = status + self.properties = properties + self.error = None + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperationDisplay + :ivar origin: The intended executor of the operation;governs the display of the operation in + the RBAC UX and the audit logs UX. + :vartype origin: str + :ivar is_data_action: The flag that indicates whether the operation applies to data plane. + :vartype is_data_action: bool + """ + + _validation = { + 'is_data_action': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + origin: Optional[str] = None, + **kwargs + ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperationDisplay + :keyword origin: The intended executor of the operation;governs the display of the operation in + the RBAC UX and the audit logs UX. + :paramtype origin: str + """ + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + self.origin = origin + self.is_data_action = None + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + provider: Optional[str] = None, + resource: Optional[str] = None, + operation: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of operations supported by this resource provider. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperation] + :ivar next_link: URL to the next set of results, if any. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceProviderOperation"]] = None, + **kwargs + ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperation] + """ + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class Scope(msrest.serialization.Model): + """Scope of the extension. It can be either Cluster or Namespace; but not both. + + :ivar cluster: Specifies that the scope of the extension is Cluster. + :vartype cluster: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ScopeCluster + :ivar namespace: Specifies that the scope of the extension is Namespace. + :vartype namespace: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ScopeNamespace + """ + + _attribute_map = { + 'cluster': {'key': 'cluster', 'type': 'ScopeCluster'}, + 'namespace': {'key': 'namespace', 'type': 'ScopeNamespace'}, + } + + def __init__( + self, + *, + cluster: Optional["ScopeCluster"] = None, + namespace: Optional["ScopeNamespace"] = None, + **kwargs + ): + """ + :keyword cluster: Specifies that the scope of the extension is Cluster. + :paramtype cluster: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ScopeCluster + :keyword namespace: Specifies that the scope of the extension is Namespace. + :paramtype namespace: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ScopeNamespace + """ + super(Scope, self).__init__(**kwargs) + self.cluster = cluster + self.namespace = namespace + + +class ScopeCluster(msrest.serialization.Model): + """Specifies that the scope of the extension is Cluster. + + :ivar release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :vartype release_namespace: str + """ + + _attribute_map = { + 'release_namespace': {'key': 'releaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + release_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :paramtype release_namespace: str + """ + super(ScopeCluster, self).__init__(**kwargs) + self.release_namespace = release_namespace + + +class ScopeNamespace(msrest.serialization.Model): + """Specifies that the scope of the extension is Namespace. + + :ivar target_namespace: Namespace where the extension will be created for an Namespace scoped + extension. If this namespace does not exist, it will be created. + :vartype target_namespace: str + """ + + _attribute_map = { + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + target_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword target_namespace: Namespace where the extension will be created for an Namespace + scoped extension. If this namespace does not exist, it will be created. + :paramtype target_namespace: str + """ + super(ScopeNamespace, self).__init__(**kwargs) + self.target_namespace = target_namespace + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SystemData + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperatorType + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :vartype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperatorScopeType + :ivar repository_public_key: Public Key associated with this SourceControl configuration + (either generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + required to access private Git instances. + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. Possible values + include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ProvisioningStateType + :ivar compliance_status: Compliance Status of the Configuration. + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__( + self, + *, + repository_url: Optional[str] = None, + operator_namespace: Optional[str] = "default", + operator_instance_name: Optional[str] = None, + operator_type: Optional[Union[str, "OperatorType"]] = None, + operator_params: Optional[str] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + operator_scope: Optional[Union[str, "OperatorScopeType"]] = "cluster", + ssh_known_hosts_contents: Optional[str] = None, + enable_helm_operator: Optional[bool] = None, + helm_operator_properties: Optional["HelmOperatorProperties"] = None, + **kwargs + ): + """ + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.HelmOperatorProperties + """ + super(SourceControlConfiguration, self).__init__(**kwargs) + self.system_data = None + self.repository_url = repository_url + self.operator_namespace = operator_namespace + self.operator_instance_name = operator_instance_name + self.operator_type = operator_type + self.operator_params = operator_params + self.configuration_protected_settings = configuration_protected_settings + self.operator_scope = operator_scope + self.repository_public_key = None + self.ssh_known_hosts_contents = ssh_known_hosts_contents + self.enable_helm_operator = enable_helm_operator + self.helm_operator_properties = helm_operator_properties + self.provisioning_state = None + self.compliance_status = None + + +class SourceControlConfigurationList(msrest.serialization.Model): + """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Source Control Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(SourceControlConfigurationList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class SupportedScopes(msrest.serialization.Model): + """Extension scopes. + + :ivar default_scope: Default extension scopes: cluster or namespace. + :vartype default_scope: str + :ivar cluster_scope_settings: Scope settings. + :vartype cluster_scope_settings: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ClusterScopeSettings + """ + + _attribute_map = { + 'default_scope': {'key': 'defaultScope', 'type': 'str'}, + 'cluster_scope_settings': {'key': 'clusterScopeSettings', 'type': 'ClusterScopeSettings'}, + } + + def __init__( + self, + *, + default_scope: Optional[str] = None, + cluster_scope_settings: Optional["ClusterScopeSettings"] = None, + **kwargs + ): + """ + :keyword default_scope: Default extension scopes: cluster or namespace. + :paramtype default_scope: str + :keyword cluster_scope_settings: Scope settings. + :paramtype cluster_scope_settings: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ClusterScopeSettings + """ + super(SupportedScopes, self).__init__(**kwargs) + self.default_scope = default_scope + self.cluster_scope_settings = cluster_scope_settings + + +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.CreatedByType + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :vartype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.CreatedByType + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + created_by: Optional[str] = None, + created_by_type: Optional[Union[str, "CreatedByType"]] = None, + created_at: Optional[datetime.datetime] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None, + last_modified_at: Optional[datetime.datetime] = None, + **kwargs + ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ + super(SystemData, self).__init__(**kwargs) + self.created_by = created_by + self.created_by_type = created_by_type + self.created_at = created_at + self.last_modified_by = last_modified_by + self.last_modified_by_type = last_modified_by_type + self.last_modified_at = last_modified_at diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/_source_control_configuration_client_enums.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/_source_control_configuration_client_enums.py new file mode 100644 index 00000000000..bd58c28c279 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/_source_control_configuration_client_enums.py @@ -0,0 +1,103 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum +from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta + + +class ClusterTypes(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Cluster types + """ + + CONNECTED_CLUSTERS = "connectedClusters" + MANAGED_CLUSTERS = "managedClusters" + +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The compliance state of the configuration. + """ + + PENDING = "Pending" + COMPLIANT = "Compliant" + NONCOMPLIANT = "Noncompliant" + INSTALLED = "Installed" + FAILED = "Failed" + +class CreatedByType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The type of identity that created the resource. + """ + + USER = "User" + APPLICATION = "Application" + MANAGED_IDENTITY = "ManagedIdentity" + KEY = "Key" + +class Enum0(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" + MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" + +class Enum1(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MANAGED_CLUSTERS = "managedClusters" + CONNECTED_CLUSTERS = "connectedClusters" + +class Enum5(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MANAGED_CLUSTERS = "managedClusters" + CONNECTED_CLUSTERS = "connectedClusters" + +class LevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the status. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the message. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the operator will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Type of the operator + """ + + FLUX = "Flux" + +class ProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the extension resource. + """ + + SUCCEEDED = "Succeeded" + FAILED = "Failed" + CANCELED = "Canceled" + CREATING = "Creating" + UPDATING = "Updating" + DELETING = "Deleting" + +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource provider. + """ + + ACCEPTED = "Accepted" + DELETING = "Deleting" + RUNNING = "Running" + SUCCEEDED = "Succeeded" + FAILED = "Failed" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/__init__.py new file mode 100644 index 00000000000..5f4504b206d --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/__init__.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._cluster_extension_type_operations import ClusterExtensionTypeOperations +from ._cluster_extension_types_operations import ClusterExtensionTypesOperations +from ._extension_type_versions_operations import ExtensionTypeVersionsOperations +from ._location_extension_types_operations import LocationExtensionTypesOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'ExtensionsOperations', + 'OperationStatusOperations', + 'ClusterExtensionTypeOperations', + 'ClusterExtensionTypesOperations', + 'ExtensionTypeVersionsOperations', + 'LocationExtensionTypesOperations', + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_cluster_extension_type_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_type_operations.py similarity index 56% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_cluster_extension_type_operations.py rename to src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_type_operations.py index a2998ac9547..a9e523f7ed1 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_cluster_extension_type_operations.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_type_operations.py @@ -5,22 +5,65 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_type: Union[str, "_models.Enum5"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterType}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterType": _SERIALIZER.url("cluster_type", cluster_type, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionTypeName": _SERIALIZER.url("extension_type_name", extension_type_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class ClusterExtensionTypeOperations(object): """ClusterExtensionTypeOperations operations. @@ -44,16 +87,16 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_type, # type: Union[str, "_models.Enum5"] - cluster_name, # type: str - extension_type_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ExtensionType" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_type: Union[str, "_models.Enum5"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any + ) -> "_models.ExtensionType": """Get Extension Type details. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -78,36 +121,26 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterType': self._serialize.url("cluster_type", cluster_type, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionTypeName': self._serialize.url("extension_type_name", extension_type_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_type=cluster_type, + cluster_name=cluster_name, + extension_type_name=extension_type_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ExtensionType', pipeline_response) @@ -116,4 +149,6 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterType}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_cluster_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_types_operations.py similarity index 53% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_cluster_extension_types_operations.py rename to src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_types_operations.py index 8ba2c2d42e9..210d4945423 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_cluster_extension_types_operations.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_types_operations.py @@ -5,23 +5,62 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/connectedClusters/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class ClusterExtensionTypesOperations(object): """ClusterExtensionTypesOperations operations. @@ -45,14 +84,14 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ExtensionTypeList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionTypeList"]: """Get Extension Types. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -64,7 +103,8 @@ def list( :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] @@ -72,37 +112,35 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionTypeList', pipeline_response) + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -115,12 +153,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_extension_type_versions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_extension_type_versions_operations.py new file mode 100644 index 00000000000..c978497cf58 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_extension_type_versions_operations.py @@ -0,0 +1,159 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + extension_type_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "extensionTypeName": _SERIALIZER.url("extension_type_name", extension_type_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ExtensionTypeVersionsOperations(object): + """ExtensionTypeVersionsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location: str, + extension_type_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionVersionList"]: + """List available versions for an Extension Type. + + :param location: extension location. + :type location: str + :param extension_type_name: Extension type name. + :type extension_type_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionVersionList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionVersionList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionVersionList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionVersionList", pipeline_response) + list_of_elem = deserialized.versions + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_extensions_operations.py new file mode 100644 index 00000000000..36fca482e88 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_extensions_operations.py @@ -0,0 +1,647 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ExtensionsOperations(object): + """ExtensionsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def _create_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_create( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either Extension or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_location_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_location_extension_types_operations.py similarity index 56% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_location_extension_types_operations.py rename to src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_location_extension_types_operations.py index 15282cd28e0..5a8c204da5e 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_location_extension_types_operations.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_location_extension_types_operations.py @@ -5,23 +5,58 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class LocationExtensionTypesOperations(object): """LocationExtensionTypesOperations operations. @@ -45,19 +80,20 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - location, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ExtensionTypeList"] + location: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionTypeList"]: """List all Extension Types. :param location: extension location. :type location: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] @@ -65,35 +101,31 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'location': self._serialize.url("location", location, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionTypeList', pipeline_response) + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -106,12 +138,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_operation_status_operations.py new file mode 100644 index 00000000000..c1cdf65ac6d --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_operation_status_operations.py @@ -0,0 +1,289 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class OperationStatusOperations(object): + """OperationStatusOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.OperationStatusList"]: + """List Async Operations, currently in progress, in a cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationStatusList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperationStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_operations.py new file mode 100644 index 00000000000..6fd3ea82cea --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_operations.py @@ -0,0 +1,137 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class Operations(object): + """Operations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..f79edc22996 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_source_control_configurations_operations.py @@ -0,0 +1,578 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class SourceControlConfigurationsOperations(object): + """SourceControlConfigurationsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/__init__.py new file mode 100644 index 00000000000..e9096303633 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_configuration.py new file mode 100644 index 00000000000..b83d2cdd71b --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_configuration.py @@ -0,0 +1,68 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-09-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_source_control_configuration_client.py new file mode 100644 index 00000000000..537f5bba325 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_source_control_configuration_client.py @@ -0,0 +1,101 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.rest import HttpRequest, HttpResponse +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ExtensionsOperations, OperationStatusOperations, Operations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2021_09_01.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2021_09_01.operations.OperationStatusOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.kubernetesconfiguration.v2021_09_01.operations.Operations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.HttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> SourceControlConfigurationClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_vendor.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_vendor.py @@ -0,0 +1,27 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_version.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_version.py new file mode 100644 index 00000000000..59deb8c7263 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +VERSION = "1.1.0" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/__init__.py new file mode 100644 index 00000000000..5f583276b4e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_configuration.py new file mode 100644 index 00000000000..710846e073d --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_configuration.py @@ -0,0 +1,67 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-09-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_source_control_configuration_client.py new file mode 100644 index 00000000000..96bdeb10bc7 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_source_control_configuration_client.py @@ -0,0 +1,98 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING + +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ExtensionsOperations, OperationStatusOperations, Operations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2021_09_01.aio.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2021_09_01.aio.operations.OperationStatusOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.kubernetesconfiguration.v2021_09_01.aio.operations.Operations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "SourceControlConfigurationClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/__init__.py similarity index 100% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/__init__.py rename to src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/__init__.py diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_extensions_operations.py similarity index 62% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_extensions_operations.py rename to src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_extensions_operations.py index f8b1b9c9aa7..46475d98ddf 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_extensions_operations.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_extensions_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._extensions_operations import build_create_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -28,7 +33,7 @@ class ExtensionsOperations: instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.mgmt.kubernetesconfiguration.models + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -58,42 +63,31 @@ async def _create_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(extension, 'Extension') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize('Extension', pipeline_response) @@ -105,8 +99,11 @@ async def _create_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async async def begin_create( self, resource_group_name: str, @@ -123,27 +120,33 @@ async def begin_create( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. :type extension_name: str :param extension: Properties necessary to Create an Extension. - :type extension: ~azure.mgmt.kubernetesconfiguration.models.Extension + :type extension: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either Extension or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.models.Extension] - :raises ~azure.core.exceptions.HttpResponseError: + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] lro_delay = kwargs.pop( 'polling_interval', @@ -158,30 +161,21 @@ async def begin_create( cluster_name=cluster_name, extension_name=extension_name, extension=extension, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('Extension', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -193,8 +187,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -210,17 +206,18 @@ async def get( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. :type extension_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: Extension, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.models.Extension + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] @@ -228,36 +225,26 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Extension', pipeline_response) @@ -266,8 +253,10 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + async def _delete_initial( self, resource_group_name: str, @@ -283,45 +272,35 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if force_delete is not None: - query_parameters['forceDelete'] = self._serialize.query("force_delete", force_delete, 'bool') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, @@ -339,10 +318,11 @@ async def begin_delete( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -352,15 +332,17 @@ async def begin_delete( :type force_delete: bool :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -378,24 +360,14 @@ async def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -407,6 +379,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore async def _update_initial( @@ -421,47 +394,34 @@ async def _update_initial( ) -> "_models.Extension": cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] error_map = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: lambda response: ResourceExistsError(response=response, model=self._deserialize(_models.ErrorResponse, response), error_format=ARMErrorFormat), + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(patch_extension, 'PatchExtension') - body_content_kwargs['content'] = body_content - request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) deserialized = self._deserialize('Extension', pipeline_response) @@ -469,8 +429,11 @@ async def _update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async async def begin_update( self, resource_group_name: str, @@ -487,27 +450,33 @@ async def begin_update( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. :type extension_name: str :param patch_extension: Properties to Patch in an existing Extension. - :type patch_extension: ~azure.mgmt.kubernetesconfiguration.models.PatchExtension + :type patch_extension: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.PatchExtension :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either Extension or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.models.Extension] - :raises ~azure.core.exceptions.HttpResponseError: + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] lro_delay = kwargs.pop( 'polling_interval', @@ -522,30 +491,21 @@ async def begin_update( cluster_name=cluster_name, extension_name=extension_name, patch_extension=patch_extension, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('Extension', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -557,8 +517,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + @distributed_trace def list( self, resource_group_name: str, @@ -573,15 +535,17 @@ def list( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionsList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.models.ExtensionsList] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionsList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] @@ -589,38 +553,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionsList', pipeline_response) + deserialized = self._deserialize("ExtensionsList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -633,12 +596,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_operation_status_operations.py similarity index 53% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_operation_status_operations.py rename to src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_operation_status_operations.py index d70023d2104..0d2cb035b00 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_operation_status_operations.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_operation_status_operations.py @@ -5,32 +5,33 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings +from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error -from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat -from .. import models as _models +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operation_status_operations import build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] - -class OperationStatusOperations(object): - """OperationStatusOperations operations. +class OperationStatusOperations: + """OperationStatusOperations async operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.mgmt.kubernetesconfiguration.models + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -39,36 +40,38 @@ class OperationStatusOperations(object): models = _models - def __init__(self, client, config, serializer, deserializer): + def __init__(self, client, config, serializer, deserializer) -> None: self._client = client self._serialize = serializer self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.OperationStatusList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.OperationStatusList"]: """List Async Operations, currently in progress, in a cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationStatusList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.models.OperationStatusList] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.OperationStatusList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] @@ -76,82 +79,83 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request - def extract_data(pipeline_response): - deserialized = self._deserialize('OperationStatusList', pipeline_response) + async def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) - return deserialized.next_link or None, iter(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) - def get_next(next_link=None): + async def get_next(next_link=None): request = prepare_request(next_link) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response - return ItemPaged( + + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore - def get( + @distributed_trace_async + async def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - operation_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.OperationStatusResult" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": """Get Async Operation status. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -160,7 +164,7 @@ def get( :type operation_id: str :keyword callable cls: A custom type or function that will be passed the direct response :return: OperationStatusResult, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.models.OperationStatusResult + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.OperationStatusResult :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] @@ -168,37 +172,27 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - 'operationId': self._serialize.url("operation_id", operation_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('OperationStatusResult', pipeline_response) @@ -207,4 +201,6 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_operations.py new file mode 100644 index 00000000000..2113e3798fe --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_operations.py @@ -0,0 +1,112 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class Operations: + """Operations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports, in + this api-version. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/__init__.py new file mode 100644 index 00000000000..01a45e76c93 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/__init__.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._models_py3 import ErrorAdditionalInfo +from ._models_py3 import ErrorDetail +from ._models_py3 import ErrorResponse +from ._models_py3 import Extension +from ._models_py3 import ExtensionPropertiesAksAssignedIdentity +from ._models_py3 import ExtensionStatus +from ._models_py3 import ExtensionsList +from ._models_py3 import Identity +from ._models_py3 import OperationStatusList +from ._models_py3 import OperationStatusResult +from ._models_py3 import PatchExtension +from ._models_py3 import ProxyResource +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Scope +from ._models_py3 import ScopeCluster +from ._models_py3 import ScopeNamespace +from ._models_py3 import SystemData + + +from ._source_control_configuration_client_enums import ( + CreatedByType, + Enum0, + Enum1, + LevelType, + ProvisioningState, +) + +__all__ = [ + 'ErrorAdditionalInfo', + 'ErrorDetail', + 'ErrorResponse', + 'Extension', + 'ExtensionPropertiesAksAssignedIdentity', + 'ExtensionStatus', + 'ExtensionsList', + 'Identity', + 'OperationStatusList', + 'OperationStatusResult', + 'PatchExtension', + 'ProxyResource', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', + 'Scope', + 'ScopeCluster', + 'ScopeNamespace', + 'SystemData', + 'CreatedByType', + 'Enum0', + 'Enum1', + 'LevelType', + 'ProvisioningState', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/models/_models_py3.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/_models_py3.py similarity index 60% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/models/_models_py3.py rename to src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/_models_py3.py index fae1bb96772..e60feb17869 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/models/_models_py3.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/_models_py3.py @@ -40,6 +40,8 @@ def __init__( self, **kwargs ): + """ + """ super(ErrorAdditionalInfo, self).__init__(**kwargs) self.type = None self.info = None @@ -57,9 +59,10 @@ class ErrorDetail(msrest.serialization.Model): :ivar target: The error target. :vartype target: str :ivar details: The error details. - :vartype details: list[~azure.mgmt.kubernetesconfiguration.models.ErrorDetail] + :vartype details: list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail] :ivar additional_info: The error additional info. - :vartype additional_info: list[~azure.mgmt.kubernetesconfiguration.models.ErrorAdditionalInfo] + :vartype additional_info: + list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorAdditionalInfo] """ _validation = { @@ -82,6 +85,8 @@ def __init__( self, **kwargs ): + """ + """ super(ErrorDetail, self).__init__(**kwargs) self.code = None self.message = None @@ -93,8 +98,8 @@ def __init__( class ErrorResponse(msrest.serialization.Model): """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). - :param error: The error object. - :type error: ~azure.mgmt.kubernetesconfiguration.models.ErrorDetail + :ivar error: The error object. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail """ _attribute_map = { @@ -107,6 +112,10 @@ def __init__( error: Optional["ErrorDetail"] = None, **kwargs ): + """ + :keyword error: The error object. + :paramtype error: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail + """ super(ErrorResponse, self).__init__(**kwargs) self.error = error @@ -142,6 +151,8 @@ def __init__( self, **kwargs ): + """ + """ super(Resource, self).__init__(**kwargs) self.id = None self.name = None @@ -179,6 +190,8 @@ def __init__( self, **kwargs ): + """ + """ super(ProxyResource, self).__init__(**kwargs) @@ -195,49 +208,47 @@ class Extension(ProxyResource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :param location: Location of resource type - :type location: str - :param identity: Identity of the Extension resource. - :type identity: ~azure.mgmt.kubernetesconfiguration.models.Identity + :ivar identity: Identity of the Extension resource. + :vartype identity: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Identity :ivar system_data: Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :vartype system_data: ~azure.mgmt.kubernetesconfiguration.models.SystemData - :param extension_type: Type of the Extension, of which this resource is an instance of. It - must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.SystemData + :ivar extension_type: Type of the Extension, of which this resource is an instance of. It must + be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher. - :type extension_type: str - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + :vartype extension_type: str + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param scope: Scope at which the extension is installed. - :type scope: ~azure.mgmt.kubernetesconfiguration.models.Scope - :param configuration_settings: Configuration settings, as name-value pairs for configuring this + :vartype version: str + :ivar scope: Scope at which the extension is installed. + :vartype scope: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Scope + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] + :vartype configuration_protected_settings: dict[str, str] :ivar provisioning_state: The provisioning state of the extension resource. Possible values include: "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". :vartype provisioning_state: str or - ~azure.mgmt.kubernetesconfiguration.models.ProvisioningState - :param statuses: Status from this extension. - :type statuses: list[~azure.mgmt.kubernetesconfiguration.models.ExtensionStatus] - :param error_info: The error detail. - :type error_info: ~azure.mgmt.kubernetesconfiguration.models.ErrorDetail + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ProvisioningState + :ivar statuses: Status from this extension. + :vartype statuses: list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionStatus] + :ivar error_info: The error detail. + :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail :ivar custom_location_settings: Custom Location settings properties. :vartype custom_location_settings: dict[str, str] :ivar package_uri: Uri of the Helm package. :vartype package_uri: str - :param aks_assigned_identity: Identity of the Extension resource in an AKS cluster. - :type aks_assigned_identity: - ~azure.mgmt.kubernetesconfiguration.models.ExtensionPropertiesAksAssignedIdentity + :ivar aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :vartype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionPropertiesAksAssignedIdentity """ _validation = { @@ -254,7 +265,6 @@ class Extension(ProxyResource): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, 'identity': {'key': 'identity', 'type': 'Identity'}, 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, @@ -275,7 +285,6 @@ class Extension(ProxyResource): def __init__( self, *, - location: Optional[str] = None, identity: Optional["Identity"] = None, extension_type: Optional[str] = None, auto_upgrade_minor_version: Optional[bool] = True, @@ -289,8 +298,40 @@ def __init__( aks_assigned_identity: Optional["ExtensionPropertiesAksAssignedIdentity"] = None, **kwargs ): + """ + :keyword identity: Identity of the Extension resource. + :paramtype identity: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Identity + :keyword extension_type: Type of the Extension, of which this resource is an instance of. It + must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :paramtype extension_type: str + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword scope: Scope at which the extension is installed. + :paramtype scope: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Scope + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + :keyword statuses: Status from this extension. + :paramtype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionStatus] + :keyword error_info: The error detail. + :paramtype error_info: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail + :keyword aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :paramtype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionPropertiesAksAssignedIdentity + """ super(Extension, self).__init__(**kwargs) - self.location = location self.identity = identity self.system_data = None self.extension_type = extension_type @@ -317,9 +358,9 @@ class ExtensionPropertiesAksAssignedIdentity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant ID of resource. :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and + :ivar type: The identity type. The only acceptable values to pass in are None and "SystemAssigned". The default value is None. - :type type: str + :vartype type: str """ _validation = { @@ -339,6 +380,11 @@ def __init__( type: Optional[str] = None, **kwargs ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ super(ExtensionPropertiesAksAssignedIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None @@ -351,7 +397,7 @@ class ExtensionsList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of Extensions within a Kubernetes cluster. - :vartype value: list[~azure.mgmt.kubernetesconfiguration.models.Extension] + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension] :ivar next_link: URL to get the next set of extension objects, if any. :vartype next_link: str """ @@ -370,6 +416,8 @@ def __init__( self, **kwargs ): + """ + """ super(ExtensionsList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -378,17 +426,17 @@ def __init__( class ExtensionStatus(msrest.serialization.Model): """Status from the extension. - :param code: Status code provided by the Extension. - :type code: str - :param display_status: Short description of status of the extension. - :type display_status: str - :param level: Level of the status. Possible values include: "Error", "Warning", "Information". + :ivar code: Status code provided by the Extension. + :vartype code: str + :ivar display_status: Short description of status of the extension. + :vartype display_status: str + :ivar level: Level of the status. Possible values include: "Error", "Warning", "Information". Default value: "Information". - :type level: str or ~azure.mgmt.kubernetesconfiguration.models.LevelType - :param message: Detailed message of the status from the Extension. - :type message: str - :param time: DateLiteral (per ISO8601) noting the time of installation status. - :type time: str + :vartype level: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.LevelType + :ivar message: Detailed message of the status from the Extension. + :vartype message: str + :ivar time: DateLiteral (per ISO8601) noting the time of installation status. + :vartype time: str """ _attribute_map = { @@ -409,6 +457,19 @@ def __init__( time: Optional[str] = None, **kwargs ): + """ + :keyword code: Status code provided by the Extension. + :paramtype code: str + :keyword display_status: Short description of status of the extension. + :paramtype display_status: str + :keyword level: Level of the status. Possible values include: "Error", "Warning", + "Information". Default value: "Information". + :paramtype level: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.LevelType + :keyword message: Detailed message of the status from the Extension. + :paramtype message: str + :keyword time: DateLiteral (per ISO8601) noting the time of installation status. + :paramtype time: str + """ super(ExtensionStatus, self).__init__(**kwargs) self.code = code self.display_status = display_status @@ -426,9 +487,9 @@ class Identity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant ID of resource. :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and + :ivar type: The identity type. The only acceptable values to pass in are None and "SystemAssigned". The default value is None. - :type type: str + :vartype type: str """ _validation = { @@ -448,6 +509,11 @@ def __init__( type: Optional[str] = None, **kwargs ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ super(Identity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None @@ -460,7 +526,8 @@ class OperationStatusList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of async operations in progress, in the cluster. - :vartype value: list[~azure.mgmt.kubernetesconfiguration.models.OperationStatusResult] + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.OperationStatusResult] :ivar next_link: URL to get the next set of Operation Result objects, if any. :vartype next_link: str """ @@ -479,6 +546,8 @@ def __init__( self, **kwargs ): + """ + """ super(OperationStatusList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -489,16 +558,16 @@ class OperationStatusResult(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Fully qualified ID for the async operation. - :type id: str - :param name: Name of the async operation. - :type name: str - :param status: Required. Operation status. - :type status: str - :param properties: Additional information, if available. - :type properties: dict[str, str] - :param error: The error detail. - :type error: ~azure.mgmt.kubernetesconfiguration.models.ErrorDetail + :ivar id: Fully qualified ID for the async operation. + :vartype id: str + :ivar name: Name of the async operation. + :vartype name: str + :ivar status: Required. Operation status. + :vartype status: str + :ivar properties: Additional information, if available. + :vartype properties: dict[str, str] + :ivar error: The error detail. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail """ _validation = { @@ -523,6 +592,18 @@ def __init__( error: Optional["ErrorDetail"] = None, **kwargs ): + """ + :keyword id: Fully qualified ID for the async operation. + :paramtype id: str + :keyword name: Name of the async operation. + :paramtype name: str + :keyword status: Required. Operation status. + :paramtype status: str + :keyword properties: Additional information, if available. + :paramtype properties: dict[str, str] + :keyword error: The error detail. + :paramtype error: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail + """ super(OperationStatusResult, self).__init__(**kwargs) self.id = id self.name = name @@ -534,21 +615,21 @@ def __init__( class PatchExtension(msrest.serialization.Model): """The Extension Patch Request object. - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param configuration_settings: Configuration settings, as name-value pairs for configuring this + :vartype version: str + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] + :vartype configuration_protected_settings: dict[str, str] """ _attribute_map = { @@ -569,6 +650,23 @@ def __init__( configuration_protected_settings: Optional[Dict[str, str]] = None, **kwargs ): + """ + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + """ super(PatchExtension, self).__init__(**kwargs) self.auto_upgrade_minor_version = auto_upgrade_minor_version self.release_train = release_train @@ -582,10 +680,11 @@ class ResourceProviderOperation(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param name: Operation name, in format of {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: ~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperationDisplay + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperationDisplay :ivar is_data_action: The flag that indicates whether the operation applies to data plane. :vartype is_data_action: bool :ivar origin: Origin of the operation. @@ -611,6 +710,13 @@ def __init__( display: Optional["ResourceProviderOperationDisplay"] = None, **kwargs ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperationDisplay + """ super(ResourceProviderOperation, self).__init__(**kwargs) self.name = name self.display = display @@ -621,14 +727,14 @@ def __init__( class ResourceProviderOperationDisplay(msrest.serialization.Model): """Display metadata associated with the operation. - :param provider: Resource provider: Microsoft KubernetesConfiguration. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :param description: Description of this operation. - :type description: str + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype description: str """ _attribute_map = { @@ -647,6 +753,16 @@ def __init__( description: Optional[str] = None, **kwargs ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ super(ResourceProviderOperationDisplay, self).__init__(**kwargs) self.provider = provider self.resource = resource @@ -659,8 +775,9 @@ class ResourceProviderOperationList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param value: List of operations supported by this resource provider. - :type value: list[~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperation] + :ivar value: List of operations supported by this resource provider. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperation] :ivar next_link: URL to the next set of results, if any. :vartype next_link: str """ @@ -680,6 +797,11 @@ def __init__( value: Optional[List["ResourceProviderOperation"]] = None, **kwargs ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperation] + """ super(ResourceProviderOperationList, self).__init__(**kwargs) self.value = value self.next_link = None @@ -688,10 +810,10 @@ def __init__( class Scope(msrest.serialization.Model): """Scope of the extension. It can be either Cluster or Namespace; but not both. - :param cluster: Specifies that the scope of the extension is Cluster. - :type cluster: ~azure.mgmt.kubernetesconfiguration.models.ScopeCluster - :param namespace: Specifies that the scope of the extension is Namespace. - :type namespace: ~azure.mgmt.kubernetesconfiguration.models.ScopeNamespace + :ivar cluster: Specifies that the scope of the extension is Cluster. + :vartype cluster: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ScopeCluster + :ivar namespace: Specifies that the scope of the extension is Namespace. + :vartype namespace: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ScopeNamespace """ _attribute_map = { @@ -706,6 +828,12 @@ def __init__( namespace: Optional["ScopeNamespace"] = None, **kwargs ): + """ + :keyword cluster: Specifies that the scope of the extension is Cluster. + :paramtype cluster: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ScopeCluster + :keyword namespace: Specifies that the scope of the extension is Namespace. + :paramtype namespace: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ScopeNamespace + """ super(Scope, self).__init__(**kwargs) self.cluster = cluster self.namespace = namespace @@ -714,9 +842,9 @@ def __init__( class ScopeCluster(msrest.serialization.Model): """Specifies that the scope of the extension is Cluster. - :param release_namespace: Namespace where the extension Release must be placed, for a Cluster + :ivar release_namespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this namespace does not exist, it will be created. - :type release_namespace: str + :vartype release_namespace: str """ _attribute_map = { @@ -729,6 +857,11 @@ def __init__( release_namespace: Optional[str] = None, **kwargs ): + """ + :keyword release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :paramtype release_namespace: str + """ super(ScopeCluster, self).__init__(**kwargs) self.release_namespace = release_namespace @@ -736,9 +869,9 @@ def __init__( class ScopeNamespace(msrest.serialization.Model): """Specifies that the scope of the extension is Namespace. - :param target_namespace: Namespace where the extension will be created for an Namespace scoped + :ivar target_namespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace does not exist, it will be created. - :type target_namespace: str + :vartype target_namespace: str """ _attribute_map = { @@ -751,6 +884,11 @@ def __init__( target_namespace: Optional[str] = None, **kwargs ): + """ + :keyword target_namespace: Namespace where the extension will be created for an Namespace + scoped extension. If this namespace does not exist, it will be created. + :paramtype target_namespace: str + """ super(ScopeNamespace, self).__init__(**kwargs) self.target_namespace = target_namespace @@ -758,20 +896,22 @@ def __init__( class SystemData(msrest.serialization.Model): """Metadata pertaining to creation and last modification of the resource. - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. Possible values - include: "User", "Application", "ManagedIdentity", "Key". - :type created_by_type: str or ~azure.mgmt.kubernetesconfiguration.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: ~datetime.datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the resource. Possible + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.CreatedByType + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Possible values include: "User", "Application", "ManagedIdentity", "Key". - :type last_modified_by_type: str or ~azure.mgmt.kubernetesconfiguration.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime + :vartype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.CreatedByType + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime """ _attribute_map = { @@ -794,6 +934,24 @@ def __init__( last_modified_at: Optional[datetime.datetime] = None, **kwargs ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ super(SystemData, self).__init__(**kwargs) self.created_by = created_by self.created_by_type = created_by_type diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/models/_source_control_configuration_client_enums.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/_source_control_configuration_client_enums.py similarity index 55% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/models/_source_control_configuration_client_enums.py rename to src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/_source_control_configuration_client_enums.py index 19b127e8cd4..48f19c25f2c 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/models/_source_control_configuration_client_enums.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/_source_control_configuration_client_enums.py @@ -6,27 +6,12 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from enum import Enum, EnumMeta +from enum import Enum from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta -class _CaseInsensitiveEnumMeta(EnumMeta): - def __getitem__(self, name): - return super().__getitem__(name.upper()) - def __getattr__(cls, name): - """Return the enum member matching `name` - We use __getattr__ instead of descriptors or inserting into the enum - class' __dict__ in order to support `name` and `value` being both - properties for enum members (which live in the class' __dict__) and - enum members themselves. - """ - try: - return cls._member_map_[name.upper()] - except KeyError: - raise AttributeError(name) - - -class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class CreatedByType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The type of identity that created the resource. """ @@ -35,17 +20,17 @@ class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): MANAGED_IDENTITY = "ManagedIdentity" KEY = "Key" -class Enum0(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Enum0(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" -class Enum1(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Enum1(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): MANAGED_CLUSTERS = "managedClusters" CONNECTED_CLUSTERS = "connectedClusters" -class LevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class LevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Level of the status. """ @@ -53,7 +38,7 @@ class LevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): WARNING = "Warning" INFORMATION = "Information" -class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The provisioning state of the extension resource. """ diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/__init__.py new file mode 100644 index 00000000000..632ac4c1eeb --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/__init__.py @@ -0,0 +1,17 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._operations import Operations + +__all__ = [ + 'ExtensionsOperations', + 'OperationStatusOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_extensions_operations.py new file mode 100644 index 00000000000..4e718b52671 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_extensions_operations.py @@ -0,0 +1,834 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ExtensionsOperations(object): + """ExtensionsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def _create_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_create( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either Extension or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + def _update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: + """Patch an existing Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param patch_extension: Properties to Patch in an existing Extension. + :type patch_extension: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.PatchExtension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either Extension or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + patch_extension=patch_extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_operation_status_operations.py new file mode 100644 index 00000000000..c418a705a30 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_operation_status_operations.py @@ -0,0 +1,289 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class OperationStatusOperations(object): + """OperationStatusOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.OperationStatusList"]: + """List Async Operations, currently in progress, in a cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationStatusList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.OperationStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_operations.py similarity index 58% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_operations.py rename to src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_operations.py index fe4ca00195c..e18d70e2222 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_operations.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_operations.py @@ -5,23 +5,50 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class Operations(object): """Operations operations. @@ -30,7 +57,7 @@ class Operations(object): instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.mgmt.kubernetesconfiguration.models + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -45,17 +72,19 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ResourceProviderOperationList"] + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: """List all the available operations the KubernetesConfiguration resource provider supports, in this api-version. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperationList] + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] @@ -63,30 +92,27 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ResourceProviderOperationList', pipeline_response) + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -99,12 +125,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/__init__.py new file mode 100644 index 00000000000..e9096303633 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_configuration.py new file mode 100644 index 00000000000..b822e7bc318 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_configuration.py @@ -0,0 +1,68 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-11-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_source_control_configuration_client.py new file mode 100644 index 00000000000..7a4739e5d02 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_source_control_configuration_client.py @@ -0,0 +1,130 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.rest import HttpRequest, HttpResponse +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ClusterExtensionTypeOperations, ClusterExtensionTypesOperations, ExtensionTypeVersionsOperations, ExtensionsOperations, FluxConfigOperationStatusOperations, FluxConfigurationsOperations, LocationExtensionTypesOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.OperationStatusOperations + :ivar cluster_extension_type: ClusterExtensionTypeOperations operations + :vartype cluster_extension_type: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.ClusterExtensionTypeOperations + :ivar cluster_extension_types: ClusterExtensionTypesOperations operations + :vartype cluster_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.ClusterExtensionTypesOperations + :ivar extension_type_versions: ExtensionTypeVersionsOperations operations + :vartype extension_type_versions: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.ExtensionTypeVersionsOperations + :ivar location_extension_types: LocationExtensionTypesOperations operations + :vartype location_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.LocationExtensionTypesOperations + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.SourceControlConfigurationsOperations + :ivar flux_configurations: FluxConfigurationsOperations operations + :vartype flux_configurations: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.FluxConfigurationsOperations + :ivar flux_config_operation_status: FluxConfigOperationStatusOperations operations + :vartype flux_config_operation_status: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.FluxConfigOperationStatusOperations + :ivar operations: Operations operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.Operations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_type = ClusterExtensionTypeOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_types = ClusterExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extension_type_versions = ExtensionTypeVersionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.location_extension_types = LocationExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_configurations = FluxConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_config_operation_status = FluxConfigOperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.HttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> SourceControlConfigurationClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_vendor.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_vendor.py @@ -0,0 +1,27 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_version.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_version.py new file mode 100644 index 00000000000..59deb8c7263 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +VERSION = "1.1.0" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/__init__.py new file mode 100644 index 00000000000..5f583276b4e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_configuration.py new file mode 100644 index 00000000000..b86d839a94e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_configuration.py @@ -0,0 +1,67 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-11-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_source_control_configuration_client.py new file mode 100644 index 00000000000..e46bfe1b885 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_source_control_configuration_client.py @@ -0,0 +1,127 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING + +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ClusterExtensionTypeOperations, ClusterExtensionTypesOperations, ExtensionTypeVersionsOperations, ExtensionsOperations, FluxConfigOperationStatusOperations, FluxConfigurationsOperations, LocationExtensionTypesOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.OperationStatusOperations + :ivar cluster_extension_type: ClusterExtensionTypeOperations operations + :vartype cluster_extension_type: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.ClusterExtensionTypeOperations + :ivar cluster_extension_types: ClusterExtensionTypesOperations operations + :vartype cluster_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.ClusterExtensionTypesOperations + :ivar extension_type_versions: ExtensionTypeVersionsOperations operations + :vartype extension_type_versions: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.ExtensionTypeVersionsOperations + :ivar location_extension_types: LocationExtensionTypesOperations operations + :vartype location_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.LocationExtensionTypesOperations + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.SourceControlConfigurationsOperations + :ivar flux_configurations: FluxConfigurationsOperations operations + :vartype flux_configurations: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.FluxConfigurationsOperations + :ivar flux_config_operation_status: FluxConfigOperationStatusOperations operations + :vartype flux_config_operation_status: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.FluxConfigOperationStatusOperations + :ivar operations: Operations operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.Operations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_type = ClusterExtensionTypeOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_types = ClusterExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extension_type_versions = ExtensionTypeVersionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.location_extension_types = LocationExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_configurations = FluxConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_config_operation_status = FluxConfigOperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "SourceControlConfigurationClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/__init__.py new file mode 100644 index 00000000000..ee01fecd439 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/__init__.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._cluster_extension_type_operations import ClusterExtensionTypeOperations +from ._cluster_extension_types_operations import ClusterExtensionTypesOperations +from ._extension_type_versions_operations import ExtensionTypeVersionsOperations +from ._location_extension_types_operations import LocationExtensionTypesOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._flux_configurations_operations import FluxConfigurationsOperations +from ._flux_config_operation_status_operations import FluxConfigOperationStatusOperations +from ._operations import Operations + +__all__ = [ + 'ExtensionsOperations', + 'OperationStatusOperations', + 'ClusterExtensionTypeOperations', + 'ClusterExtensionTypesOperations', + 'ExtensionTypeVersionsOperations', + 'LocationExtensionTypesOperations', + 'SourceControlConfigurationsOperations', + 'FluxConfigurationsOperations', + 'FluxConfigOperationStatusOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_type_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_type_operations.py new file mode 100644 index 00000000000..0f6ebc8b36a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_type_operations.py @@ -0,0 +1,112 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._cluster_extension_type_operations import build_get_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ClusterExtensionTypeOperations: + """ClusterExtensionTypeOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any + ) -> "_models.ExtensionType": + """Get Extension Type details. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_type_name: Extension type name. + :type extension_type_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionType, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionType + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionType"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_type_name=extension_type_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionType', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_types_operations.py new file mode 100644 index 00000000000..ddeddcf87c6 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_types_operations.py @@ -0,0 +1,135 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._cluster_extension_types_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ClusterExtensionTypesOperations: + """ClusterExtensionTypesOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionTypeList"]: + """Get Extension Types. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionTypeList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_extension_type_versions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_extension_type_versions_operations.py similarity index 53% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_extension_type_versions_operations.py rename to src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_extension_type_versions_operations.py index bca368e1670..2fb6a487db6 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_extension_type_versions_operations.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_extension_type_versions_operations.py @@ -5,32 +5,33 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar import warnings +from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error -from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat -from .. import models as _models +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._extension_type_versions_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] - -class ExtensionTypeVersionsOperations(object): - """ExtensionTypeVersionsOperations operations. +class ExtensionTypeVersionsOperations: + """ExtensionTypeVersionsOperations async operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -39,19 +40,19 @@ class ExtensionTypeVersionsOperations(object): models = _models - def __init__(self, client, config, serializer, deserializer): + def __init__(self, client, config, serializer, deserializer) -> None: self._client = client self._serialize = serializer self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - location, # type: str - extension_type_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ExtensionVersionList"] + location: str, + extension_type_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionVersionList"]: """List available versions for an Extension Type. :param location: extension location. @@ -59,8 +60,10 @@ def list( :param extension_type_name: Extension type name. :type extension_type_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ExtensionVersionList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionVersionList] + :return: An iterator like instance of either ExtensionVersionList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionVersionList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionVersionList"] @@ -68,55 +71,53 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'location': self._serialize.url("location", location, 'str'), - 'extensionTypeName': self._serialize.url("extension_type_name", extension_type_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request - def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionVersionList', pipeline_response) + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionVersionList", pipeline_response) list_of_elem = deserialized.versions if cls: list_of_elem = cls(list_of_elem) - return deserialized.next_link or None, iter(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) - def get_next(next_link=None): + async def get_next(next_link=None): request = prepare_request(next_link) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response - return ItemPaged( + + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_extensions_operations.py new file mode 100644 index 00000000000..a80a7a43909 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_extensions_operations.py @@ -0,0 +1,610 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._extensions_operations import build_create_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ExtensionsOperations: + """ExtensionsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def _create_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_create( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> AsyncLROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> AsyncLROPoller["_models.Extension"]: + """Patch an existing Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param patch_extension: Properties to Patch in an existing Extension. + :type patch_extension: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.PatchExtension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + patch_extension=patch_extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_config_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_config_operation_status_operations.py new file mode 100644 index 00000000000..278055cbaf8 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_config_operation_status_operations.py @@ -0,0 +1,116 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._flux_config_operation_status_operations import build_get_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class FluxConfigOperationStatusOperations: + """FluxConfigOperationStatusOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_configurations_operations.py new file mode 100644 index 00000000000..75827d96b95 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_configurations_operations.py @@ -0,0 +1,612 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._flux_configurations_operations import build_create_or_update_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class FluxConfigurationsOperations: + """FluxConfigurationsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any + ) -> "_models.FluxConfiguration": + """Gets details of the Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FluxConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + async def _create_or_update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration, 'FluxConfiguration') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> AsyncLROPoller["_models.FluxConfiguration"]: + """Create a new Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration: Properties necessary to Create a FluxConfiguration. + :type flux_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration=flux_configuration, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> AsyncLROPoller["_models.FluxConfiguration"]: + """Update an existing Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration_patch: Properties to Patch in an existing Flux Configuration. + :type flux_configuration_patch: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfigurationPatch + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration_patch=flux_configuration_patch, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync + from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.FluxConfigurationsList"]: + """List all Flux Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FluxConfigurationsList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfigurationsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfigurationsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("FluxConfigurationsList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_location_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_location_extension_types_operations.py new file mode 100644 index 00000000000..4dfb3b692cd --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_location_extension_types_operations.py @@ -0,0 +1,117 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._location_extension_types_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class LocationExtensionTypesOperations: + """LocationExtensionTypesOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionTypeList"]: + """List all Extension Types. + + :param location: extension location. + :type location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionTypeList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_operation_status_operations.py new file mode 100644 index 00000000000..ca83ab69e8d --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_operation_status_operations.py @@ -0,0 +1,206 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operation_status_operations import build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationStatusOperations: + """OperationStatusOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.OperationStatusList"]: + """List Async Operations, currently in progress, in a cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationStatusList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperationStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_operations.py new file mode 100644 index 00000000000..bff33128e43 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_operations.py @@ -0,0 +1,111 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class Operations: + """Operations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..9e25d1d3796 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_source_control_configurations_operations.py @@ -0,0 +1,405 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SourceControlConfigurationsOperations: + """SourceControlConfigurationsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/__init__.py new file mode 100644 index 00000000000..b83d70226f0 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/__init__.py @@ -0,0 +1,127 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._models_py3 import ClusterScopeSettings +from ._models_py3 import ComplianceStatus +from ._models_py3 import DependsOnDefinition +from ._models_py3 import ErrorAdditionalInfo +from ._models_py3 import ErrorDetail +from ._models_py3 import ErrorResponse +from ._models_py3 import Extension +from ._models_py3 import ExtensionPropertiesAksAssignedIdentity +from ._models_py3 import ExtensionStatus +from ._models_py3 import ExtensionType +from ._models_py3 import ExtensionTypeList +from ._models_py3 import ExtensionVersionList +from ._models_py3 import ExtensionVersionListVersionsItem +from ._models_py3 import ExtensionsList +from ._models_py3 import FluxConfiguration +from ._models_py3 import FluxConfigurationPatch +from ._models_py3 import FluxConfigurationsList +from ._models_py3 import GitRepositoryDefinition +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import HelmReleasePropertiesDefinition +from ._models_py3 import Identity +from ._models_py3 import KustomizationDefinition +from ._models_py3 import ObjectReferenceDefinition +from ._models_py3 import ObjectStatusConditionDefinition +from ._models_py3 import ObjectStatusDefinition +from ._models_py3 import OperationStatusList +from ._models_py3 import OperationStatusResult +from ._models_py3 import PatchExtension +from ._models_py3 import ProxyResource +from ._models_py3 import RepositoryRefDefinition +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Scope +from ._models_py3 import ScopeCluster +from ._models_py3 import ScopeNamespace +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SupportedScopes +from ._models_py3 import SystemData + + +from ._source_control_configuration_client_enums import ( + ClusterTypes, + ComplianceStateType, + CreatedByType, + Enum0, + Enum1, + FluxComplianceState, + KustomizationValidationType, + LevelType, + MessageLevelType, + OperatorScopeType, + OperatorType, + ProvisioningState, + ProvisioningStateType, + ScopeType, + SourceKindType, +) + +__all__ = [ + 'ClusterScopeSettings', + 'ComplianceStatus', + 'DependsOnDefinition', + 'ErrorAdditionalInfo', + 'ErrorDetail', + 'ErrorResponse', + 'Extension', + 'ExtensionPropertiesAksAssignedIdentity', + 'ExtensionStatus', + 'ExtensionType', + 'ExtensionTypeList', + 'ExtensionVersionList', + 'ExtensionVersionListVersionsItem', + 'ExtensionsList', + 'FluxConfiguration', + 'FluxConfigurationPatch', + 'FluxConfigurationsList', + 'GitRepositoryDefinition', + 'HelmOperatorProperties', + 'HelmReleasePropertiesDefinition', + 'Identity', + 'KustomizationDefinition', + 'ObjectReferenceDefinition', + 'ObjectStatusConditionDefinition', + 'ObjectStatusDefinition', + 'OperationStatusList', + 'OperationStatusResult', + 'PatchExtension', + 'ProxyResource', + 'RepositoryRefDefinition', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', + 'Scope', + 'ScopeCluster', + 'ScopeNamespace', + 'SourceControlConfiguration', + 'SourceControlConfigurationList', + 'SupportedScopes', + 'SystemData', + 'ClusterTypes', + 'ComplianceStateType', + 'CreatedByType', + 'Enum0', + 'Enum1', + 'FluxComplianceState', + 'KustomizationValidationType', + 'LevelType', + 'MessageLevelType', + 'OperatorScopeType', + 'OperatorType', + 'ProvisioningState', + 'ProvisioningStateType', + 'ScopeType', + 'SourceKindType', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/_models_py3.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/_models_py3.py new file mode 100644 index 00000000000..b7d98fd1b6d --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/_models_py3.py @@ -0,0 +1,2210 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import datetime +from typing import Dict, List, Optional, Union + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + +from ._source_control_configuration_client_enums import * + + +class Resource(msrest.serialization.Model): + """Common fields that are returned in the response for all Azure Resource Manager 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. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class ProxyResource(Resource): + """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ProxyResource, self).__init__(**kwargs) + + +class ClusterScopeSettings(ProxyResource): + """Extension scope settings. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar allow_multiple_instances: Describes if multiple instances of the extension are allowed. + :vartype allow_multiple_instances: bool + :ivar default_release_namespace: Default extension release namespace. + :vartype default_release_namespace: 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'}, + 'allow_multiple_instances': {'key': 'properties.allowMultipleInstances', 'type': 'bool'}, + 'default_release_namespace': {'key': 'properties.defaultReleaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + allow_multiple_instances: Optional[bool] = None, + default_release_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword allow_multiple_instances: Describes if multiple instances of the extension are + allowed. + :paramtype allow_multiple_instances: bool + :keyword default_release_namespace: Default extension release namespace. + :paramtype default_release_namespace: str + """ + super(ClusterScopeSettings, self).__init__(**kwargs) + self.allow_multiple_instances = allow_multiple_instances + self.default_release_namespace = default_release_namespace + + +class ComplianceStatus(msrest.serialization.Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar compliance_state: The compliance state of the configuration. Possible values include: + "Pending", "Compliant", "Noncompliant", "Installed", "Failed". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ComplianceStateType + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :vartype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.MessageLevelType + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__( + self, + *, + last_config_applied: Optional[datetime.datetime] = None, + message: Optional[str] = None, + message_level: Optional[Union[str, "MessageLevelType"]] = None, + **kwargs + ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.MessageLevelType + """ + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = last_config_applied + self.message = message + self.message_level = message_level + + +class DependsOnDefinition(msrest.serialization.Model): + """Specify which kustomizations must succeed reconciliation on the cluster prior to reconciling this kustomization. + + :ivar kustomization_name: Name of the kustomization to claim dependency on. + :vartype kustomization_name: str + """ + + _attribute_map = { + 'kustomization_name': {'key': 'kustomizationName', 'type': 'str'}, + } + + def __init__( + self, + *, + kustomization_name: Optional[str] = None, + **kwargs + ): + """ + :keyword kustomization_name: Name of the kustomization to claim dependency on. + :paramtype kustomization_name: str + """ + super(DependsOnDefinition, self).__init__(**kwargs) + self.kustomization_name = kustomization_name + + +class ErrorAdditionalInfo(msrest.serialization.Model): + """The resource management error additional info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: The additional info type. + :vartype type: str + :ivar info: The additional info. + :vartype info: any + """ + + _validation = { + 'type': {'readonly': True}, + 'info': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'info': {'key': 'info', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ErrorAdditionalInfo, self).__init__(**kwargs) + self.type = None + self.info = None + + +class ErrorDetail(msrest.serialization.Model): + """The error detail. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + :ivar target: The error target. + :vartype target: str + :ivar details: The error details. + :vartype details: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorDetail] + :ivar additional_info: The error additional info. + :vartype additional_info: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorAdditionalInfo] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'details': {'readonly': True}, + 'additional_info': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDetail]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ErrorDetail, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None + + +class ErrorResponse(msrest.serialization.Model): + """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). + + :ivar error: The error object. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorDetail + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + error: Optional["ErrorDetail"] = None, + **kwargs + ): + """ + :keyword error: The error object. + :paramtype error: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorDetail + """ + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class Extension(ProxyResource): + """The Extension object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar identity: Identity of the Extension resource. + :vartype identity: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Identity + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SystemData + :ivar extension_type: Type of the Extension, of which this resource is an instance of. It must + be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :vartype extension_type: str + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + of minor version, or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :vartype version: str + :ivar scope: Scope at which the extension is installed. + :vartype scope: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Scope + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this + extension. + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :vartype configuration_protected_settings: dict[str, str] + :ivar provisioning_state: Status of installation of this extension. Possible values include: + "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ProvisioningState + :ivar statuses: Status from this extension. + :vartype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionStatus] + :ivar error_info: Error information from the Agent - e.g. errors during installation. + :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorDetail + :ivar custom_location_settings: Custom Location settings properties. + :vartype custom_location_settings: dict[str, str] + :ivar package_uri: Uri of the Helm package. + :vartype package_uri: str + :ivar aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :vartype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionPropertiesAksAssignedIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'error_info': {'readonly': True}, + 'custom_location_settings': {'readonly': True}, + 'package_uri': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'Scope'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ExtensionStatus]'}, + 'error_info': {'key': 'properties.errorInfo', 'type': 'ErrorDetail'}, + 'custom_location_settings': {'key': 'properties.customLocationSettings', 'type': '{str}'}, + 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, + 'aks_assigned_identity': {'key': 'properties.aksAssignedIdentity', 'type': 'ExtensionPropertiesAksAssignedIdentity'}, + } + + def __init__( + self, + *, + identity: Optional["Identity"] = None, + extension_type: Optional[str] = None, + auto_upgrade_minor_version: Optional[bool] = True, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + scope: Optional["Scope"] = None, + configuration_settings: Optional[Dict[str, str]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + statuses: Optional[List["ExtensionStatus"]] = None, + aks_assigned_identity: Optional["ExtensionPropertiesAksAssignedIdentity"] = None, + **kwargs + ): + """ + :keyword identity: Identity of the Extension resource. + :paramtype identity: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Identity + :keyword extension_type: Type of the Extension, of which this resource is an instance of. It + must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :paramtype extension_type: str + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword scope: Scope at which the extension is installed. + :paramtype scope: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Scope + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + :keyword statuses: Status from this extension. + :paramtype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionStatus] + :keyword aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :paramtype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionPropertiesAksAssignedIdentity + """ + super(Extension, self).__init__(**kwargs) + self.identity = identity + self.system_data = None + self.extension_type = extension_type + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + self.scope = scope + self.configuration_settings = configuration_settings + self.configuration_protected_settings = configuration_protected_settings + self.provisioning_state = None + self.statuses = statuses + self.error_info = None + self.custom_location_settings = None + self.package_uri = None + self.aks_assigned_identity = aks_assigned_identity + + +class ExtensionPropertiesAksAssignedIdentity(msrest.serialization.Model): + """Identity of the Extension resource in an AKS cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :vartype type: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[str] = None, + **kwargs + ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ + super(ExtensionPropertiesAksAssignedIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class ExtensionsList(msrest.serialization.Model): + """Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Extensions within a Kubernetes cluster. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension] + :ivar next_link: URL to get the next set of extension objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Extension]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ExtensionsList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ExtensionStatus(msrest.serialization.Model): + """Status from the extension. + + :ivar code: Status code provided by the Extension. + :vartype code: str + :ivar display_status: Short description of status of the extension. + :vartype display_status: str + :ivar level: Level of the status. Possible values include: "Error", "Warning", "Information". + Default value: "Information". + :vartype level: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.LevelType + :ivar message: Detailed message of the status from the Extension. + :vartype message: str + :ivar time: DateLiteral (per ISO8601) noting the time of installation status. + :vartype time: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'display_status': {'key': 'displayStatus', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + display_status: Optional[str] = None, + level: Optional[Union[str, "LevelType"]] = "Information", + message: Optional[str] = None, + time: Optional[str] = None, + **kwargs + ): + """ + :keyword code: Status code provided by the Extension. + :paramtype code: str + :keyword display_status: Short description of status of the extension. + :paramtype display_status: str + :keyword level: Level of the status. Possible values include: "Error", "Warning", + "Information". Default value: "Information". + :paramtype level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.LevelType + :keyword message: Detailed message of the status from the Extension. + :paramtype message: str + :keyword time: DateLiteral (per ISO8601) noting the time of installation status. + :paramtype time: str + """ + super(ExtensionStatus, self).__init__(**kwargs) + self.code = code + self.display_status = display_status + self.level = level + self.message = message + self.time = time + + +class ExtensionType(msrest.serialization.Model): + """Represents an Extension Type. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SystemData + :ivar release_trains: Extension release train: preview or stable. + :vartype release_trains: list[str] + :ivar cluster_types: Cluster types. Possible values include: "connectedClusters", + "managedClusters". + :vartype cluster_types: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ClusterTypes + :ivar supported_scopes: Extension scopes. + :vartype supported_scopes: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SupportedScopes + """ + + _validation = { + 'system_data': {'readonly': True}, + 'release_trains': {'readonly': True}, + 'cluster_types': {'readonly': True}, + 'supported_scopes': {'readonly': True}, + } + + _attribute_map = { + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'release_trains': {'key': 'properties.releaseTrains', 'type': '[str]'}, + 'cluster_types': {'key': 'properties.clusterTypes', 'type': 'str'}, + 'supported_scopes': {'key': 'properties.supportedScopes', 'type': 'SupportedScopes'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ExtensionType, self).__init__(**kwargs) + self.system_data = None + self.release_trains = None + self.cluster_types = None + self.supported_scopes = None + + +class ExtensionTypeList(msrest.serialization.Model): + """List Extension Types. + + :ivar value: The list of Extension Types. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionType] + :ivar next_link: The link to fetch the next page of Extension Types. + :vartype next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExtensionType]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ExtensionType"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + """ + :keyword value: The list of Extension Types. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionType] + :keyword next_link: The link to fetch the next page of Extension Types. + :paramtype next_link: str + """ + super(ExtensionTypeList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ExtensionVersionList(msrest.serialization.Model): + """List versions for an Extension. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar versions: Versions available for this Extension Type. + :vartype versions: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionVersionListVersionsItem] + :ivar next_link: The link to fetch the next page of Extension Types. + :vartype next_link: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SystemData + """ + + _validation = { + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'versions': {'key': 'versions', 'type': '[ExtensionVersionListVersionsItem]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + versions: Optional[List["ExtensionVersionListVersionsItem"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + """ + :keyword versions: Versions available for this Extension Type. + :paramtype versions: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionVersionListVersionsItem] + :keyword next_link: The link to fetch the next page of Extension Types. + :paramtype next_link: str + """ + super(ExtensionVersionList, self).__init__(**kwargs) + self.versions = versions + self.next_link = next_link + self.system_data = None + + +class ExtensionVersionListVersionsItem(msrest.serialization.Model): + """ExtensionVersionListVersionsItem. + + :ivar release_train: The release train for this Extension Type. + :vartype release_train: str + :ivar versions: Versions available for this Extension Type and release train. + :vartype versions: list[str] + """ + + _attribute_map = { + 'release_train': {'key': 'releaseTrain', 'type': 'str'}, + 'versions': {'key': 'versions', 'type': '[str]'}, + } + + def __init__( + self, + *, + release_train: Optional[str] = None, + versions: Optional[List[str]] = None, + **kwargs + ): + """ + :keyword release_train: The release train for this Extension Type. + :paramtype release_train: str + :keyword versions: Versions available for this Extension Type and release train. + :paramtype versions: list[str] + """ + super(ExtensionVersionListVersionsItem, self).__init__(**kwargs) + self.release_train = release_train + self.versions = versions + + +class FluxConfiguration(ProxyResource): + """The Flux Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SystemData + :ivar scope: Scope at which the operator will be installed. Possible values include: "cluster", + "namespace". Default value: "cluster". + :vartype scope: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeType + :ivar namespace: The namespace to which this configuration is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype namespace: str + :ivar source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository". + :vartype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceKindType + :ivar suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :vartype suspend: bool + :ivar git_repository: Parameters to reconcile to the GitRepository source kind type. + :vartype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.GitRepositoryDefinition + :ivar kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :vartype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationDefinition] + :ivar configuration_protected_settings: Key-value pairs of protected configuration settings for + the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar statuses: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or + created by the managed objects provisioned by the fluxConfiguration. + :vartype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectStatusDefinition] + :ivar repository_public_key: Public Key associated with this fluxConfiguration (either + generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar last_source_synced_commit_id: Branch and SHA of the last source commit synced with the + cluster. + :vartype last_source_synced_commit_id: str + :ivar last_source_synced_at: Datetime the fluxConfiguration last synced its source on the + cluster. + :vartype last_source_synced_at: ~datetime.datetime + :ivar compliance_state: Combined status of the Flux Kubernetes resources created by the + fluxConfiguration or created by the managed objects. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxComplianceState + :ivar provisioning_state: Status of the creation of the fluxConfiguration. Possible values + include: "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ProvisioningState + :ivar error_message: Error message returned to the user in the case of provisioning failure. + :vartype error_message: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'statuses': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'last_source_synced_commit_id': {'readonly': True}, + 'last_source_synced_at': {'readonly': True}, + 'compliance_state': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'error_message': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'namespace': {'key': 'properties.namespace', 'type': 'str'}, + 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, + 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, + 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryDefinition'}, + 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationDefinition}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ObjectStatusDefinition]'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'last_source_synced_commit_id': {'key': 'properties.lastSourceSyncedCommitId', 'type': 'str'}, + 'last_source_synced_at': {'key': 'properties.lastSourceSyncedAt', 'type': 'iso-8601'}, + 'compliance_state': {'key': 'properties.complianceState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, + } + + def __init__( + self, + *, + scope: Optional[Union[str, "ScopeType"]] = "cluster", + namespace: Optional[str] = "default", + source_kind: Optional[Union[str, "SourceKindType"]] = None, + suspend: Optional[bool] = False, + git_repository: Optional["GitRepositoryDefinition"] = None, + kustomizations: Optional[Dict[str, "KustomizationDefinition"]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :paramtype scope: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeType + :keyword namespace: The namespace to which this configuration is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :paramtype namespace: str + :keyword source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository". + :paramtype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceKindType + :keyword suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :paramtype suspend: bool + :keyword git_repository: Parameters to reconcile to the GitRepository source kind type. + :paramtype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.GitRepositoryDefinition + :keyword kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :paramtype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationDefinition] + :keyword configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(FluxConfiguration, self).__init__(**kwargs) + self.system_data = None + self.scope = scope + self.namespace = namespace + self.source_kind = source_kind + self.suspend = suspend + self.git_repository = git_repository + self.kustomizations = kustomizations + self.configuration_protected_settings = configuration_protected_settings + self.statuses = None + self.repository_public_key = None + self.last_source_synced_commit_id = None + self.last_source_synced_at = None + self.compliance_state = None + self.provisioning_state = None + self.error_message = None + + +class FluxConfigurationPatch(msrest.serialization.Model): + """The Flux Configuration Patch Request object. + + :ivar source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository". + :vartype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceKindType + :ivar suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :vartype suspend: bool + :ivar git_repository: Parameters to reconcile to the GitRepository source kind type. + :vartype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.GitRepositoryDefinition + :ivar kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :vartype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationDefinition] + :ivar configuration_protected_settings: Key-value pairs of protected configuration settings for + the configuration. + :vartype configuration_protected_settings: dict[str, str] + """ + + _attribute_map = { + 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, + 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, + 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryDefinition'}, + 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationDefinition}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + } + + def __init__( + self, + *, + source_kind: Optional[Union[str, "SourceKindType"]] = None, + suspend: Optional[bool] = False, + git_repository: Optional["GitRepositoryDefinition"] = None, + kustomizations: Optional[Dict[str, "KustomizationDefinition"]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository". + :paramtype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceKindType + :keyword suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :paramtype suspend: bool + :keyword git_repository: Parameters to reconcile to the GitRepository source kind type. + :paramtype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.GitRepositoryDefinition + :keyword kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :paramtype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationDefinition] + :keyword configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(FluxConfigurationPatch, self).__init__(**kwargs) + self.source_kind = source_kind + self.suspend = suspend + self.git_repository = git_repository + self.kustomizations = kustomizations + self.configuration_protected_settings = configuration_protected_settings + + +class FluxConfigurationsList(msrest.serialization.Model): + """Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Flux Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[FluxConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(FluxConfigurationsList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class GitRepositoryDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration git repository. + :vartype url: str + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar repository_ref: The source reference for the GitRepository object. + :vartype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.RepositoryRefDefinition + :ivar ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to + access private git repositories over SSH. + :vartype ssh_known_hosts: str + :ivar https_user: Base64-encoded HTTPS username used to access private git repositories over + HTTPS. + :vartype https_user: str + :ivar https_ca_file: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :vartype https_ca_file: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'repository_ref': {'key': 'repositoryRef', 'type': 'RepositoryRefDefinition'}, + 'ssh_known_hosts': {'key': 'sshKnownHosts', 'type': 'str'}, + 'https_user': {'key': 'httpsUser', 'type': 'str'}, + 'https_ca_file': {'key': 'httpsCAFile', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + repository_ref: Optional["RepositoryRefDefinition"] = None, + ssh_known_hosts: Optional[str] = None, + https_user: Optional[str] = None, + https_ca_file: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration git repository. + :paramtype url: str + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword repository_ref: The source reference for the GitRepository object. + :paramtype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.RepositoryRefDefinition + :keyword ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required + to access private git repositories over SSH. + :paramtype ssh_known_hosts: str + :keyword https_user: Base64-encoded HTTPS username used to access private git repositories over + HTTPS. + :paramtype https_user: str + :keyword https_ca_file: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :paramtype https_ca_file: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(GitRepositoryDefinition, self).__init__(**kwargs) + self.url = url + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.repository_ref = repository_ref + self.ssh_known_hosts = ssh_known_hosts + self.https_user = https_user + self.https_ca_file = https_ca_file + self.local_auth_ref = local_auth_ref + + +class HelmOperatorProperties(msrest.serialization.Model): + """Properties for Helm operator. + + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__( + self, + *, + chart_version: Optional[str] = None, + chart_values: Optional[str] = None, + **kwargs + ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = chart_version + self.chart_values = chart_values + + +class HelmReleasePropertiesDefinition(msrest.serialization.Model): + """HelmReleasePropertiesDefinition. + + :ivar last_revision_applied: The revision number of the last released object change. + :vartype last_revision_applied: long + :ivar helm_chart_ref: The reference to the HelmChart object used as the source to this + HelmRelease. + :vartype helm_chart_ref: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectReferenceDefinition + :ivar failure_count: Total number of times that the HelmRelease failed to install or upgrade. + :vartype failure_count: long + :ivar install_failure_count: Number of times that the HelmRelease failed to install. + :vartype install_failure_count: long + :ivar upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. + :vartype upgrade_failure_count: long + """ + + _attribute_map = { + 'last_revision_applied': {'key': 'lastRevisionApplied', 'type': 'long'}, + 'helm_chart_ref': {'key': 'helmChartRef', 'type': 'ObjectReferenceDefinition'}, + 'failure_count': {'key': 'failureCount', 'type': 'long'}, + 'install_failure_count': {'key': 'installFailureCount', 'type': 'long'}, + 'upgrade_failure_count': {'key': 'upgradeFailureCount', 'type': 'long'}, + } + + def __init__( + self, + *, + last_revision_applied: Optional[int] = None, + helm_chart_ref: Optional["ObjectReferenceDefinition"] = None, + failure_count: Optional[int] = None, + install_failure_count: Optional[int] = None, + upgrade_failure_count: Optional[int] = None, + **kwargs + ): + """ + :keyword last_revision_applied: The revision number of the last released object change. + :paramtype last_revision_applied: long + :keyword helm_chart_ref: The reference to the HelmChart object used as the source to this + HelmRelease. + :paramtype helm_chart_ref: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectReferenceDefinition + :keyword failure_count: Total number of times that the HelmRelease failed to install or + upgrade. + :paramtype failure_count: long + :keyword install_failure_count: Number of times that the HelmRelease failed to install. + :paramtype install_failure_count: long + :keyword upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. + :paramtype upgrade_failure_count: long + """ + super(HelmReleasePropertiesDefinition, self).__init__(**kwargs) + self.last_revision_applied = last_revision_applied + self.helm_chart_ref = helm_chart_ref + self.failure_count = failure_count + self.install_failure_count = install_failure_count + self.upgrade_failure_count = upgrade_failure_count + + +class Identity(msrest.serialization.Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :vartype type: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[str] = None, + **kwargs + ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class KustomizationDefinition(msrest.serialization.Model): + """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + + :ivar path: The path in the source reference to reconcile on the cluster. + :vartype path: str + :ivar depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :vartype depends_on: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.DependsOnDefinition] + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster. + :vartype sync_interval_in_seconds: long + :ivar retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster in the event of failure on reconciliation. + :vartype retry_interval_in_seconds: long + :ivar prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :vartype prune: bool + :ivar validation: Specify whether to validate the Kubernetes objects referenced in the + Kustomization before applying them to the cluster. Possible values include: "none", "client", + "server". Default value: "none". + :vartype validation: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationValidationType + :ivar force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails + due to an immutable field change. + :vartype force: bool + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[DependsOnDefinition]'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, + 'prune': {'key': 'prune', 'type': 'bool'}, + 'validation': {'key': 'validation', 'type': 'str'}, + 'force': {'key': 'force', 'type': 'bool'}, + } + + def __init__( + self, + *, + path: Optional[str] = "", + depends_on: Optional[List["DependsOnDefinition"]] = None, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + retry_interval_in_seconds: Optional[int] = None, + prune: Optional[bool] = False, + validation: Optional[Union[str, "KustomizationValidationType"]] = "none", + force: Optional[bool] = False, + **kwargs + ): + """ + :keyword path: The path in the source reference to reconcile on the cluster. + :paramtype path: str + :keyword depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :paramtype depends_on: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.DependsOnDefinition] + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster. + :paramtype sync_interval_in_seconds: long + :keyword retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster in the event of failure on reconciliation. + :paramtype retry_interval_in_seconds: long + :keyword prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :paramtype prune: bool + :keyword validation: Specify whether to validate the Kubernetes objects referenced in the + Kustomization before applying them to the cluster. Possible values include: "none", "client", + "server". Default value: "none". + :paramtype validation: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationValidationType + :keyword force: Enable/disable re-creating Kubernetes resources on the cluster when patching + fails due to an immutable field change. + :paramtype force: bool + """ + super(KustomizationDefinition, self).__init__(**kwargs) + self.path = path + self.depends_on = depends_on + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.retry_interval_in_seconds = retry_interval_in_seconds + self.prune = prune + self.validation = validation + self.force = force + + +class ObjectReferenceDefinition(msrest.serialization.Model): + """Object reference to a Kubernetes object on a cluster. + + :ivar name: Name of the object. + :vartype name: str + :ivar namespace: Namespace of the object. + :vartype namespace: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword name: Name of the object. + :paramtype name: str + :keyword namespace: Namespace of the object. + :paramtype namespace: str + """ + super(ObjectReferenceDefinition, self).__init__(**kwargs) + self.name = name + self.namespace = namespace + + +class ObjectStatusConditionDefinition(msrest.serialization.Model): + """Status condition of Kubernetes object. + + :ivar last_transition_time: Last time this status condition has changed. + :vartype last_transition_time: ~datetime.datetime + :ivar message: A more verbose description of the object status condition. + :vartype message: str + :ivar reason: Reason for the specified status condition type status. + :vartype reason: str + :ivar status: Status of the Kubernetes object condition type. + :vartype status: str + :ivar type: Object status condition type for this object. + :vartype type: str + """ + + _attribute_map = { + 'last_transition_time': {'key': 'lastTransitionTime', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + last_transition_time: Optional[datetime.datetime] = None, + message: Optional[str] = None, + reason: Optional[str] = None, + status: Optional[str] = None, + type: Optional[str] = None, + **kwargs + ): + """ + :keyword last_transition_time: Last time this status condition has changed. + :paramtype last_transition_time: ~datetime.datetime + :keyword message: A more verbose description of the object status condition. + :paramtype message: str + :keyword reason: Reason for the specified status condition type status. + :paramtype reason: str + :keyword status: Status of the Kubernetes object condition type. + :paramtype status: str + :keyword type: Object status condition type for this object. + :paramtype type: str + """ + super(ObjectStatusConditionDefinition, self).__init__(**kwargs) + self.last_transition_time = last_transition_time + self.message = message + self.reason = reason + self.status = status + self.type = type + + +class ObjectStatusDefinition(msrest.serialization.Model): + """Statuses of objects deployed by the user-specified kustomizations from the git repository. + + :ivar name: Name of the applied object. + :vartype name: str + :ivar namespace: Namespace of the applied object. + :vartype namespace: str + :ivar kind: Kind of the applied object. + :vartype kind: str + :ivar compliance_state: Compliance state of the applied object showing whether the applied + object has come into a ready state on the cluster. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxComplianceState + :ivar applied_by: Object reference to the Kustomization that applied this object. + :vartype applied_by: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectReferenceDefinition + :ivar status_conditions: List of Kubernetes object status conditions present on the cluster. + :vartype status_conditions: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectStatusConditionDefinition] + :ivar helm_release_properties: Additional properties that are provided from objects of the + HelmRelease kind. + :vartype helm_release_properties: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.HelmReleasePropertiesDefinition + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'applied_by': {'key': 'appliedBy', 'type': 'ObjectReferenceDefinition'}, + 'status_conditions': {'key': 'statusConditions', 'type': '[ObjectStatusConditionDefinition]'}, + 'helm_release_properties': {'key': 'helmReleaseProperties', 'type': 'HelmReleasePropertiesDefinition'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + namespace: Optional[str] = None, + kind: Optional[str] = None, + compliance_state: Optional[Union[str, "FluxComplianceState"]] = "Unknown", + applied_by: Optional["ObjectReferenceDefinition"] = None, + status_conditions: Optional[List["ObjectStatusConditionDefinition"]] = None, + helm_release_properties: Optional["HelmReleasePropertiesDefinition"] = None, + **kwargs + ): + """ + :keyword name: Name of the applied object. + :paramtype name: str + :keyword namespace: Namespace of the applied object. + :paramtype namespace: str + :keyword kind: Kind of the applied object. + :paramtype kind: str + :keyword compliance_state: Compliance state of the applied object showing whether the applied + object has come into a ready state on the cluster. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :paramtype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxComplianceState + :keyword applied_by: Object reference to the Kustomization that applied this object. + :paramtype applied_by: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectReferenceDefinition + :keyword status_conditions: List of Kubernetes object status conditions present on the cluster. + :paramtype status_conditions: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectStatusConditionDefinition] + :keyword helm_release_properties: Additional properties that are provided from objects of the + HelmRelease kind. + :paramtype helm_release_properties: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.HelmReleasePropertiesDefinition + """ + super(ObjectStatusDefinition, self).__init__(**kwargs) + self.name = name + self.namespace = namespace + self.kind = kind + self.compliance_state = compliance_state + self.applied_by = applied_by + self.status_conditions = status_conditions + self.helm_release_properties = helm_release_properties + + +class OperationStatusList(msrest.serialization.Model): + """The async operations in progress, in the cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of async operations in progress, in the cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperationStatusResult] + :ivar next_link: URL to get the next set of Operation Result objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationStatusResult]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(OperationStatusList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class OperationStatusResult(msrest.serialization.Model): + """The current status of an async operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified ID for the async operation. + :vartype id: str + :ivar name: Name of the async operation. + :vartype name: str + :ivar status: Required. Operation status. + :vartype status: str + :ivar properties: Additional information, if available. + :vartype properties: dict[str, str] + :ivar error: If present, details of the operation error. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorDetail + """ + + _validation = { + 'status': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + status: str, + id: Optional[str] = None, + name: Optional[str] = None, + properties: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword id: Fully qualified ID for the async operation. + :paramtype id: str + :keyword name: Name of the async operation. + :paramtype name: str + :keyword status: Required. Operation status. + :paramtype status: str + :keyword properties: Additional information, if available. + :paramtype properties: dict[str, str] + """ + super(OperationStatusResult, self).__init__(**kwargs) + self.id = id + self.name = name + self.status = status + self.properties = properties + self.error = None + + +class PatchExtension(msrest.serialization.Model): + """The Extension Patch Request object. + + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + of minor version, or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :vartype version: str + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this + extension. + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :vartype configuration_protected_settings: dict[str, str] + """ + + _attribute_map = { + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + } + + def __init__( + self, + *, + auto_upgrade_minor_version: Optional[bool] = True, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + configuration_settings: Optional[Dict[str, str]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(PatchExtension, self).__init__(**kwargs) + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + self.configuration_settings = configuration_settings + self.configuration_protected_settings = configuration_protected_settings + + +class RepositoryRefDefinition(msrest.serialization.Model): + """The source reference for the GitRepository object. + + :ivar branch: The git repository branch name to checkout. + :vartype branch: str + :ivar tag: The git repository tag name to checkout. This takes precedence over branch. + :vartype tag: str + :ivar semver: The semver range used to match against git repository tags. This takes precedence + over tag. + :vartype semver: str + :ivar commit: The commit SHA to checkout. This value must be combined with the branch name to + be valid. This takes precedence over semver. + :vartype commit: str + """ + + _attribute_map = { + 'branch': {'key': 'branch', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + 'semver': {'key': 'semver', 'type': 'str'}, + 'commit': {'key': 'commit', 'type': 'str'}, + } + + def __init__( + self, + *, + branch: Optional[str] = None, + tag: Optional[str] = None, + semver: Optional[str] = None, + commit: Optional[str] = None, + **kwargs + ): + """ + :keyword branch: The git repository branch name to checkout. + :paramtype branch: str + :keyword tag: The git repository tag name to checkout. This takes precedence over branch. + :paramtype tag: str + :keyword semver: The semver range used to match against git repository tags. This takes + precedence over tag. + :paramtype semver: str + :keyword commit: The commit SHA to checkout. This value must be combined with the branch name + to be valid. This takes precedence over semver. + :paramtype commit: str + """ + super(RepositoryRefDefinition, self).__init__(**kwargs) + self.branch = branch + self.tag = tag + self.semver = semver + self.commit = commit + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperationDisplay + :ivar is_data_action: The flag that indicates whether the operation applies to data plane. + :vartype is_data_action: bool + :ivar origin: Origin of the operation. + :vartype origin: str + """ + + _validation = { + 'is_data_action': {'readonly': True}, + 'origin': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'origin': {'key': 'origin', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + **kwargs + ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperationDisplay + """ + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + self.is_data_action = None + self.origin = None + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + provider: Optional[str] = None, + resource: Optional[str] = None, + operation: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of operations supported by this resource provider. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperation] + :ivar next_link: URL to the next set of results, if any. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceProviderOperation"]] = None, + **kwargs + ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperation] + """ + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class Scope(msrest.serialization.Model): + """Scope of the extension. It can be either Cluster or Namespace; but not both. + + :ivar cluster: Specifies that the scope of the extension is Cluster. + :vartype cluster: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeCluster + :ivar namespace: Specifies that the scope of the extension is Namespace. + :vartype namespace: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeNamespace + """ + + _attribute_map = { + 'cluster': {'key': 'cluster', 'type': 'ScopeCluster'}, + 'namespace': {'key': 'namespace', 'type': 'ScopeNamespace'}, + } + + def __init__( + self, + *, + cluster: Optional["ScopeCluster"] = None, + namespace: Optional["ScopeNamespace"] = None, + **kwargs + ): + """ + :keyword cluster: Specifies that the scope of the extension is Cluster. + :paramtype cluster: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeCluster + :keyword namespace: Specifies that the scope of the extension is Namespace. + :paramtype namespace: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeNamespace + """ + super(Scope, self).__init__(**kwargs) + self.cluster = cluster + self.namespace = namespace + + +class ScopeCluster(msrest.serialization.Model): + """Specifies that the scope of the extension is Cluster. + + :ivar release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :vartype release_namespace: str + """ + + _attribute_map = { + 'release_namespace': {'key': 'releaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + release_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :paramtype release_namespace: str + """ + super(ScopeCluster, self).__init__(**kwargs) + self.release_namespace = release_namespace + + +class ScopeNamespace(msrest.serialization.Model): + """Specifies that the scope of the extension is Namespace. + + :ivar target_namespace: Namespace where the extension will be created for an Namespace scoped + extension. If this namespace does not exist, it will be created. + :vartype target_namespace: str + """ + + _attribute_map = { + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + target_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword target_namespace: Namespace where the extension will be created for an Namespace + scoped extension. If this namespace does not exist, it will be created. + :paramtype target_namespace: str + """ + super(ScopeNamespace, self).__init__(**kwargs) + self.target_namespace = target_namespace + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SystemData + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperatorType + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :vartype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperatorScopeType + :ivar repository_public_key: Public Key associated with this SourceControl configuration + (either generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + required to access private Git instances. + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. Possible values + include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ProvisioningStateType + :ivar compliance_status: Compliance Status of the Configuration. + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__( + self, + *, + repository_url: Optional[str] = None, + operator_namespace: Optional[str] = "default", + operator_instance_name: Optional[str] = None, + operator_type: Optional[Union[str, "OperatorType"]] = None, + operator_params: Optional[str] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + operator_scope: Optional[Union[str, "OperatorScopeType"]] = "cluster", + ssh_known_hosts_contents: Optional[str] = None, + enable_helm_operator: Optional[bool] = None, + helm_operator_properties: Optional["HelmOperatorProperties"] = None, + **kwargs + ): + """ + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.HelmOperatorProperties + """ + super(SourceControlConfiguration, self).__init__(**kwargs) + self.system_data = None + self.repository_url = repository_url + self.operator_namespace = operator_namespace + self.operator_instance_name = operator_instance_name + self.operator_type = operator_type + self.operator_params = operator_params + self.configuration_protected_settings = configuration_protected_settings + self.operator_scope = operator_scope + self.repository_public_key = None + self.ssh_known_hosts_contents = ssh_known_hosts_contents + self.enable_helm_operator = enable_helm_operator + self.helm_operator_properties = helm_operator_properties + self.provisioning_state = None + self.compliance_status = None + + +class SourceControlConfigurationList(msrest.serialization.Model): + """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Source Control Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(SourceControlConfigurationList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class SupportedScopes(msrest.serialization.Model): + """Extension scopes. + + :ivar default_scope: Default extension scopes: cluster or namespace. + :vartype default_scope: str + :ivar cluster_scope_settings: Scope settings. + :vartype cluster_scope_settings: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ClusterScopeSettings + """ + + _attribute_map = { + 'default_scope': {'key': 'defaultScope', 'type': 'str'}, + 'cluster_scope_settings': {'key': 'clusterScopeSettings', 'type': 'ClusterScopeSettings'}, + } + + def __init__( + self, + *, + default_scope: Optional[str] = None, + cluster_scope_settings: Optional["ClusterScopeSettings"] = None, + **kwargs + ): + """ + :keyword default_scope: Default extension scopes: cluster or namespace. + :paramtype default_scope: str + :keyword cluster_scope_settings: Scope settings. + :paramtype cluster_scope_settings: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ClusterScopeSettings + """ + super(SupportedScopes, self).__init__(**kwargs) + self.default_scope = default_scope + self.cluster_scope_settings = cluster_scope_settings + + +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.CreatedByType + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :vartype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.CreatedByType + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + created_by: Optional[str] = None, + created_by_type: Optional[Union[str, "CreatedByType"]] = None, + created_at: Optional[datetime.datetime] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None, + last_modified_at: Optional[datetime.datetime] = None, + **kwargs + ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ + super(SystemData, self).__init__(**kwargs) + self.created_by = created_by + self.created_by_type = created_by_type + self.created_at = created_at + self.last_modified_by = last_modified_by + self.last_modified_by_type = last_modified_by_type + self.last_modified_at = last_modified_at diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/_source_control_configuration_client_enums.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/_source_control_configuration_client_enums.py new file mode 100644 index 00000000000..544b13b91c2 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/_source_control_configuration_client_enums.py @@ -0,0 +1,130 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum +from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta + + +class ClusterTypes(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Cluster types + """ + + CONNECTED_CLUSTERS = "connectedClusters" + MANAGED_CLUSTERS = "managedClusters" + +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The compliance state of the configuration. + """ + + PENDING = "Pending" + COMPLIANT = "Compliant" + NONCOMPLIANT = "Noncompliant" + INSTALLED = "Installed" + FAILED = "Failed" + +class CreatedByType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The type of identity that created the resource. + """ + + USER = "User" + APPLICATION = "Application" + MANAGED_IDENTITY = "ManagedIdentity" + KEY = "Key" + +class Enum0(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" + MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" + +class Enum1(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MANAGED_CLUSTERS = "managedClusters" + CONNECTED_CLUSTERS = "connectedClusters" + +class FluxComplianceState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Compliance state of the cluster object. + """ + + COMPLIANT = "Compliant" + NON_COMPLIANT = "Non-Compliant" + PENDING = "Pending" + SUSPENDED = "Suspended" + UNKNOWN = "Unknown" + +class KustomizationValidationType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Specify whether to validate the Kubernetes objects referenced in the Kustomization before + applying them to the cluster. + """ + + NONE = "none" + CLIENT = "client" + SERVER = "server" + +class LevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the status. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the message. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the operator will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Type of the operator + """ + + FLUX = "Flux" + +class ProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource. + """ + + SUCCEEDED = "Succeeded" + FAILED = "Failed" + CANCELED = "Canceled" + CREATING = "Creating" + UPDATING = "Updating" + DELETING = "Deleting" + +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource provider. + """ + + ACCEPTED = "Accepted" + DELETING = "Deleting" + RUNNING = "Running" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + +class ScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the configuration will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class SourceKindType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Source Kind to pull the configuration data from. + """ + + GIT_REPOSITORY = "GitRepository" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/__init__.py new file mode 100644 index 00000000000..ee01fecd439 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/__init__.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._cluster_extension_type_operations import ClusterExtensionTypeOperations +from ._cluster_extension_types_operations import ClusterExtensionTypesOperations +from ._extension_type_versions_operations import ExtensionTypeVersionsOperations +from ._location_extension_types_operations import LocationExtensionTypesOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._flux_configurations_operations import FluxConfigurationsOperations +from ._flux_config_operation_status_operations import FluxConfigOperationStatusOperations +from ._operations import Operations + +__all__ = [ + 'ExtensionsOperations', + 'OperationStatusOperations', + 'ClusterExtensionTypeOperations', + 'ClusterExtensionTypesOperations', + 'ExtensionTypeVersionsOperations', + 'LocationExtensionTypesOperations', + 'SourceControlConfigurationsOperations', + 'FluxConfigurationsOperations', + 'FluxConfigOperationStatusOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_type_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_type_operations.py new file mode 100644 index 00000000000..3521f8a7573 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_type_operations.py @@ -0,0 +1,155 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionTypeName": _SERIALIZER.url("extension_type_name", extension_type_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ClusterExtensionTypeOperations(object): + """ClusterExtensionTypeOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any + ) -> "_models.ExtensionType": + """Get Extension Type details. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_type_name: Extension type name. + :type extension_type_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionType, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionType + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionType"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_type_name=extension_type_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionType', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_types_operations.py new file mode 100644 index 00000000000..7d7e58989f9 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_types_operations.py @@ -0,0 +1,175 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ClusterExtensionTypesOperations(object): + """ClusterExtensionTypesOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionTypeList"]: + """Get Extension Types. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionTypeList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_extension_type_versions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_extension_type_versions_operations.py new file mode 100644 index 00000000000..b9e4fd842ee --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_extension_type_versions_operations.py @@ -0,0 +1,159 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + extension_type_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "extensionTypeName": _SERIALIZER.url("extension_type_name", extension_type_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ExtensionTypeVersionsOperations(object): + """ExtensionTypeVersionsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location: str, + extension_type_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionVersionList"]: + """List available versions for an Extension Type. + + :param location: extension location. + :type location: str + :param extension_type_name: Extension type name. + :type extension_type_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionVersionList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionVersionList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionVersionList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionVersionList", pipeline_response) + list_of_elem = deserialized.versions + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_extensions_operations.py new file mode 100644 index 00000000000..0531c000385 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_extensions_operations.py @@ -0,0 +1,835 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ExtensionsOperations(object): + """ExtensionsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def _create_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_create( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either Extension or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + def _update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: + """Patch an existing Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param patch_extension: Properties to Patch in an existing Extension. + :type patch_extension: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.PatchExtension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either Extension or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + patch_extension=patch_extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_flux_config_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_flux_config_operation_status_operations.py new file mode 100644 index 00000000000..dea63e7dac3 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_flux_config_operation_status_operations.py @@ -0,0 +1,161 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class FluxConfigOperationStatusOperations(object): + """FluxConfigOperationStatusOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_flux_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_flux_configurations_operations.py new file mode 100644 index 00000000000..c3d3cf613ba --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_flux_configurations_operations.py @@ -0,0 +1,839 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class FluxConfigurationsOperations(object): + """FluxConfigurationsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any + ) -> "_models.FluxConfiguration": + """Gets details of the Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FluxConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + def _create_or_update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration, 'FluxConfiguration') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> LROPoller["_models.FluxConfiguration"]: + """Create a new Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration: Properties necessary to Create a FluxConfiguration. + :type flux_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration=flux_configuration, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def _update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> LROPoller["_models.FluxConfiguration"]: + """Update an existing Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration_patch: Properties to Patch in an existing Flux Configuration. + :type flux_configuration_patch: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfigurationPatch + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration_patch=flux_configuration_patch, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync + from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.FluxConfigurationsList"]: + """List all Flux Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FluxConfigurationsList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfigurationsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfigurationsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("FluxConfigurationsList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_location_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_location_extension_types_operations.py new file mode 100644 index 00000000000..6e8be79c061 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_location_extension_types_operations.py @@ -0,0 +1,151 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class LocationExtensionTypesOperations(object): + """LocationExtensionTypesOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionTypeList"]: + """List all Extension Types. + + :param location: extension location. + :type location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionTypeList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_operation_status_operations.py new file mode 100644 index 00000000000..99b73b72038 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_operation_status_operations.py @@ -0,0 +1,289 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class OperationStatusOperations(object): + """OperationStatusOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.OperationStatusList"]: + """List Async Operations, currently in progress, in a cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationStatusList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperationStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_operations.py new file mode 100644 index 00000000000..c047a8d76ca --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_operations.py @@ -0,0 +1,137 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class Operations(object): + """Operations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..4fe01af8220 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_source_control_configurations_operations.py @@ -0,0 +1,578 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class SourceControlConfigurationsOperations(object): + """SourceControlConfigurationsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/__init__.py new file mode 100644 index 00000000000..e9096303633 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_configuration.py new file mode 100644 index 00000000000..79ca1e2de57 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_configuration.py @@ -0,0 +1,68 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2022-01-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_source_control_configuration_client.py new file mode 100644 index 00000000000..7a271a30691 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_source_control_configuration_client.py @@ -0,0 +1,130 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.rest import HttpRequest, HttpResponse +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ClusterExtensionTypeOperations, ClusterExtensionTypesOperations, ExtensionTypeVersionsOperations, ExtensionsOperations, FluxConfigOperationStatusOperations, FluxConfigurationsOperations, LocationExtensionTypesOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar cluster_extension_type: ClusterExtensionTypeOperations operations + :vartype cluster_extension_type: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.ClusterExtensionTypeOperations + :ivar cluster_extension_types: ClusterExtensionTypesOperations operations + :vartype cluster_extension_types: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.ClusterExtensionTypesOperations + :ivar extension_type_versions: ExtensionTypeVersionsOperations operations + :vartype extension_type_versions: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.ExtensionTypeVersionsOperations + :ivar location_extension_types: LocationExtensionTypesOperations operations + :vartype location_extension_types: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.LocationExtensionTypesOperations + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.OperationStatusOperations + :ivar flux_configurations: FluxConfigurationsOperations operations + :vartype flux_configurations: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.FluxConfigurationsOperations + :ivar flux_config_operation_status: FluxConfigOperationStatusOperations operations + :vartype flux_config_operation_status: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.FluxConfigOperationStatusOperations + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.Operations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.cluster_extension_type = ClusterExtensionTypeOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_types = ClusterExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extension_type_versions = ExtensionTypeVersionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.location_extension_types = LocationExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_configurations = FluxConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_config_operation_status = FluxConfigOperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.HttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> SourceControlConfigurationClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_vendor.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_vendor.py @@ -0,0 +1,27 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_version.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_version.py new file mode 100644 index 00000000000..59deb8c7263 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +VERSION = "1.1.0" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/__init__.py new file mode 100644 index 00000000000..5f583276b4e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_configuration.py new file mode 100644 index 00000000000..c39cb2de0a3 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_configuration.py @@ -0,0 +1,67 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2022-01-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_source_control_configuration_client.py new file mode 100644 index 00000000000..d2a714a6378 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_source_control_configuration_client.py @@ -0,0 +1,127 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING + +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ClusterExtensionTypeOperations, ClusterExtensionTypesOperations, ExtensionTypeVersionsOperations, ExtensionsOperations, FluxConfigOperationStatusOperations, FluxConfigurationsOperations, LocationExtensionTypesOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar cluster_extension_type: ClusterExtensionTypeOperations operations + :vartype cluster_extension_type: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.ClusterExtensionTypeOperations + :ivar cluster_extension_types: ClusterExtensionTypesOperations operations + :vartype cluster_extension_types: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.ClusterExtensionTypesOperations + :ivar extension_type_versions: ExtensionTypeVersionsOperations operations + :vartype extension_type_versions: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.ExtensionTypeVersionsOperations + :ivar location_extension_types: LocationExtensionTypesOperations operations + :vartype location_extension_types: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.LocationExtensionTypesOperations + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.OperationStatusOperations + :ivar flux_configurations: FluxConfigurationsOperations operations + :vartype flux_configurations: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.FluxConfigurationsOperations + :ivar flux_config_operation_status: FluxConfigOperationStatusOperations operations + :vartype flux_config_operation_status: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.FluxConfigOperationStatusOperations + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.Operations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.cluster_extension_type = ClusterExtensionTypeOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_types = ClusterExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extension_type_versions = ExtensionTypeVersionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.location_extension_types = LocationExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_configurations = FluxConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_config_operation_status = FluxConfigOperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "SourceControlConfigurationClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/__init__.py new file mode 100644 index 00000000000..37008240af3 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/__init__.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._cluster_extension_type_operations import ClusterExtensionTypeOperations +from ._cluster_extension_types_operations import ClusterExtensionTypesOperations +from ._extension_type_versions_operations import ExtensionTypeVersionsOperations +from ._location_extension_types_operations import LocationExtensionTypesOperations +from ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._flux_configurations_operations import FluxConfigurationsOperations +from ._flux_config_operation_status_operations import FluxConfigOperationStatusOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'ClusterExtensionTypeOperations', + 'ClusterExtensionTypesOperations', + 'ExtensionTypeVersionsOperations', + 'LocationExtensionTypesOperations', + 'ExtensionsOperations', + 'OperationStatusOperations', + 'FluxConfigurationsOperations', + 'FluxConfigOperationStatusOperations', + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_type_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_type_operations.py new file mode 100644 index 00000000000..ef07f9a9e3c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_type_operations.py @@ -0,0 +1,113 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._cluster_extension_type_operations import build_get_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ClusterExtensionTypeOperations: + """ClusterExtensionTypeOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any + ) -> "_models.ExtensionType": + """Get Extension Type details. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_type_name: Extension type name. + :type extension_type_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionType, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionType + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionType"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_type_name=extension_type_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionType', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_types_operations.py new file mode 100644 index 00000000000..4cb9726a017 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_types_operations.py @@ -0,0 +1,136 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._cluster_extension_types_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ClusterExtensionTypesOperations: + """ClusterExtensionTypesOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionTypeList"]: + """Get Extension Types. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionTypeList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_extension_type_versions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_extension_type_versions_operations.py new file mode 100644 index 00000000000..8c3770819b1 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_extension_type_versions_operations.py @@ -0,0 +1,123 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._extension_type_versions_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ExtensionTypeVersionsOperations: + """ExtensionTypeVersionsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location: str, + extension_type_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionVersionList"]: + """List available versions for an Extension Type. + + :param location: extension location. + :type location: str + :param extension_type_name: Extension type name. + :type extension_type_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionVersionList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionVersionList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionVersionList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionVersionList", pipeline_response) + list_of_elem = deserialized.versions + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_extensions_operations.py new file mode 100644 index 00000000000..12f782fcec9 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_extensions_operations.py @@ -0,0 +1,615 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._extensions_operations import build_create_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ExtensionsOperations: + """ExtensionsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def _create_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_create( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> AsyncLROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> AsyncLROPoller["_models.Extension"]: + """Patch an existing Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param patch_extension: Properties to Patch in an existing Extension. + :type patch_extension: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.PatchExtension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + patch_extension=patch_extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_config_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_config_operation_status_operations.py new file mode 100644 index 00000000000..e1cd85a2f49 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_config_operation_status_operations.py @@ -0,0 +1,117 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._flux_config_operation_status_operations import build_get_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class FluxConfigOperationStatusOperations: + """FluxConfigOperationStatusOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_configurations_operations.py new file mode 100644 index 00000000000..92088a6cd74 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_configurations_operations.py @@ -0,0 +1,617 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._flux_configurations_operations import build_create_or_update_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class FluxConfigurationsOperations: + """FluxConfigurationsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any + ) -> "_models.FluxConfiguration": + """Gets details of the Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FluxConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + async def _create_or_update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration, 'FluxConfiguration') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> AsyncLROPoller["_models.FluxConfiguration"]: + """Create a new Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration: Properties necessary to Create a FluxConfiguration. + :type flux_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration=flux_configuration, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> AsyncLROPoller["_models.FluxConfiguration"]: + """Update an existing Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration_patch: Properties to Patch in an existing Flux Configuration. + :type flux_configuration_patch: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfigurationPatch + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration_patch=flux_configuration_patch, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync + from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.FluxConfigurationsList"]: + """List all Flux Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FluxConfigurationsList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfigurationsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfigurationsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("FluxConfigurationsList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_location_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_location_extension_types_operations.py new file mode 100644 index 00000000000..9b9f60426e2 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_location_extension_types_operations.py @@ -0,0 +1,117 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._location_extension_types_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class LocationExtensionTypesOperations: + """LocationExtensionTypesOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionTypeList"]: + """List all Extension Types. + + :param location: extension location. + :type location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionTypeList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_operation_status_operations.py new file mode 100644 index 00000000000..24011064962 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_operation_status_operations.py @@ -0,0 +1,208 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operation_status_operations import build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationStatusOperations: + """OperationStatusOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.OperationStatusList"]: + """List Async Operations, currently in progress, in a cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationStatusList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_operations.py new file mode 100644 index 00000000000..8fce071678e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_operations.py @@ -0,0 +1,111 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class Operations: + """Operations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..4c903fd96e6 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_source_control_configurations_operations.py @@ -0,0 +1,409 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SourceControlConfigurationsOperations: + """SourceControlConfigurationsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/__init__.py new file mode 100644 index 00000000000..32ad88439d1 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/__init__.py @@ -0,0 +1,135 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._models_py3 import BucketDefinition +from ._models_py3 import BucketPatchDefinition +from ._models_py3 import ClusterScopeSettings +from ._models_py3 import ComplianceStatus +from ._models_py3 import DependsOnDefinition +from ._models_py3 import ErrorAdditionalInfo +from ._models_py3 import ErrorDetail +from ._models_py3 import ErrorResponse +from ._models_py3 import Extension +from ._models_py3 import ExtensionPropertiesAksAssignedIdentity +from ._models_py3 import ExtensionStatus +from ._models_py3 import ExtensionType +from ._models_py3 import ExtensionTypeList +from ._models_py3 import ExtensionVersionList +from ._models_py3 import ExtensionVersionListVersionsItem +from ._models_py3 import ExtensionsList +from ._models_py3 import FluxConfiguration +from ._models_py3 import FluxConfigurationPatch +from ._models_py3 import FluxConfigurationsList +from ._models_py3 import GitRepositoryDefinition +from ._models_py3 import GitRepositoryPatchDefinition +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import HelmReleasePropertiesDefinition +from ._models_py3 import Identity +from ._models_py3 import KustomizationDefinition +from ._models_py3 import KustomizationPatchDefinition +from ._models_py3 import ObjectReferenceDefinition +from ._models_py3 import ObjectStatusConditionDefinition +from ._models_py3 import ObjectStatusDefinition +from ._models_py3 import OperationStatusList +from ._models_py3 import OperationStatusResult +from ._models_py3 import PatchExtension +from ._models_py3 import ProxyResource +from ._models_py3 import RepositoryRefDefinition +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Scope +from ._models_py3 import ScopeCluster +from ._models_py3 import ScopeNamespace +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SupportedScopes +from ._models_py3 import SystemData + + +from ._source_control_configuration_client_enums import ( + ClusterTypes, + ComplianceStateType, + CreatedByType, + ExtensionsClusterResourceName, + ExtensionsClusterRp, + FluxComplianceState, + KustomizationValidationType, + LevelType, + MessageLevelType, + OperatorScopeType, + OperatorType, + ProvisioningState, + ProvisioningStateType, + ScopeType, + SourceKindType, +) + +__all__ = [ + 'BucketDefinition', + 'BucketPatchDefinition', + 'ClusterScopeSettings', + 'ComplianceStatus', + 'DependsOnDefinition', + 'ErrorAdditionalInfo', + 'ErrorDetail', + 'ErrorResponse', + 'Extension', + 'ExtensionPropertiesAksAssignedIdentity', + 'ExtensionStatus', + 'ExtensionType', + 'ExtensionTypeList', + 'ExtensionVersionList', + 'ExtensionVersionListVersionsItem', + 'ExtensionsList', + 'FluxConfiguration', + 'FluxConfigurationPatch', + 'FluxConfigurationsList', + 'GitRepositoryDefinition', + 'GitRepositoryPatchDefinition', + 'HelmOperatorProperties', + 'HelmReleasePropertiesDefinition', + 'Identity', + 'KustomizationDefinition', + 'KustomizationPatchDefinition', + 'ObjectReferenceDefinition', + 'ObjectStatusConditionDefinition', + 'ObjectStatusDefinition', + 'OperationStatusList', + 'OperationStatusResult', + 'PatchExtension', + 'ProxyResource', + 'RepositoryRefDefinition', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', + 'Scope', + 'ScopeCluster', + 'ScopeNamespace', + 'SourceControlConfiguration', + 'SourceControlConfigurationList', + 'SupportedScopes', + 'SystemData', + 'ClusterTypes', + 'ComplianceStateType', + 'CreatedByType', + 'ExtensionsClusterResourceName', + 'ExtensionsClusterRp', + 'FluxComplianceState', + 'KustomizationValidationType', + 'LevelType', + 'MessageLevelType', + 'OperatorScopeType', + 'OperatorType', + 'ProvisioningState', + 'ProvisioningStateType', + 'ScopeType', + 'SourceKindType', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/_models_py3.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/_models_py3.py new file mode 100644 index 00000000000..97d3533d40d --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/_models_py3.py @@ -0,0 +1,2532 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import datetime +from typing import Dict, List, Optional, Union + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + +from ._source_control_configuration_client_enums import * + + +class BucketDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration S3 bucket. + :vartype url: str + :ivar bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :vartype bucket_name: str + :ivar insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :vartype insecure: bool + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar access_key: Plaintext access key used to securely access the S3 bucket. + :vartype access_key: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'bucket_name': {'key': 'bucketName', 'type': 'str'}, + 'insecure': {'key': 'insecure', 'type': 'bool'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'access_key': {'key': 'accessKey', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + bucket_name: Optional[str] = None, + insecure: Optional[bool] = True, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + access_key: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration S3 bucket. + :paramtype url: str + :keyword bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :paramtype bucket_name: str + :keyword insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :paramtype insecure: bool + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword access_key: Plaintext access key used to securely access the S3 bucket. + :paramtype access_key: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(BucketDefinition, self).__init__(**kwargs) + self.url = url + self.bucket_name = bucket_name + self.insecure = insecure + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.access_key = access_key + self.local_auth_ref = local_auth_ref + + +class BucketPatchDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration S3 bucket. + :vartype url: str + :ivar bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :vartype bucket_name: str + :ivar insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :vartype insecure: bool + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar access_key: Plaintext access key used to securely access the S3 bucket. + :vartype access_key: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'bucket_name': {'key': 'bucketName', 'type': 'str'}, + 'insecure': {'key': 'insecure', 'type': 'bool'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'access_key': {'key': 'accessKey', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + bucket_name: Optional[str] = None, + insecure: Optional[bool] = None, + timeout_in_seconds: Optional[int] = None, + sync_interval_in_seconds: Optional[int] = None, + access_key: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration S3 bucket. + :paramtype url: str + :keyword bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :paramtype bucket_name: str + :keyword insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :paramtype insecure: bool + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword access_key: Plaintext access key used to securely access the S3 bucket. + :paramtype access_key: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(BucketPatchDefinition, self).__init__(**kwargs) + self.url = url + self.bucket_name = bucket_name + self.insecure = insecure + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.access_key = access_key + self.local_auth_ref = local_auth_ref + + +class Resource(msrest.serialization.Model): + """Common fields that are returned in the response for all Azure Resource Manager 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. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class ProxyResource(Resource): + """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ProxyResource, self).__init__(**kwargs) + + +class ClusterScopeSettings(ProxyResource): + """Extension scope settings. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar allow_multiple_instances: Describes if multiple instances of the extension are allowed. + :vartype allow_multiple_instances: bool + :ivar default_release_namespace: Default extension release namespace. + :vartype default_release_namespace: 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'}, + 'allow_multiple_instances': {'key': 'properties.allowMultipleInstances', 'type': 'bool'}, + 'default_release_namespace': {'key': 'properties.defaultReleaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + allow_multiple_instances: Optional[bool] = None, + default_release_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword allow_multiple_instances: Describes if multiple instances of the extension are + allowed. + :paramtype allow_multiple_instances: bool + :keyword default_release_namespace: Default extension release namespace. + :paramtype default_release_namespace: str + """ + super(ClusterScopeSettings, self).__init__(**kwargs) + self.allow_multiple_instances = allow_multiple_instances + self.default_release_namespace = default_release_namespace + + +class ComplianceStatus(msrest.serialization.Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar compliance_state: The compliance state of the configuration. Possible values include: + "Pending", "Compliant", "Noncompliant", "Installed", "Failed". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ComplianceStateType + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :vartype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.MessageLevelType + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__( + self, + *, + last_config_applied: Optional[datetime.datetime] = None, + message: Optional[str] = None, + message_level: Optional[Union[str, "MessageLevelType"]] = None, + **kwargs + ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.MessageLevelType + """ + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = last_config_applied + self.message = message + self.message_level = message_level + + +class DependsOnDefinition(msrest.serialization.Model): + """Specify which kustomizations must succeed reconciliation on the cluster prior to reconciling this kustomization. + + :ivar kustomization_name: Name of the kustomization to claim dependency on. + :vartype kustomization_name: str + """ + + _attribute_map = { + 'kustomization_name': {'key': 'kustomizationName', 'type': 'str'}, + } + + def __init__( + self, + *, + kustomization_name: Optional[str] = None, + **kwargs + ): + """ + :keyword kustomization_name: Name of the kustomization to claim dependency on. + :paramtype kustomization_name: str + """ + super(DependsOnDefinition, self).__init__(**kwargs) + self.kustomization_name = kustomization_name + + +class ErrorAdditionalInfo(msrest.serialization.Model): + """The resource management error additional info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: The additional info type. + :vartype type: str + :ivar info: The additional info. + :vartype info: any + """ + + _validation = { + 'type': {'readonly': True}, + 'info': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'info': {'key': 'info', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ErrorAdditionalInfo, self).__init__(**kwargs) + self.type = None + self.info = None + + +class ErrorDetail(msrest.serialization.Model): + """The error detail. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + :ivar target: The error target. + :vartype target: str + :ivar details: The error details. + :vartype details: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail] + :ivar additional_info: The error additional info. + :vartype additional_info: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorAdditionalInfo] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'details': {'readonly': True}, + 'additional_info': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDetail]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ErrorDetail, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None + + +class ErrorResponse(msrest.serialization.Model): + """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). + + :ivar error: The error object. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + error: Optional["ErrorDetail"] = None, + **kwargs + ): + """ + :keyword error: The error object. + :paramtype error: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail + """ + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class Extension(ProxyResource): + """The Extension object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar identity: Identity of the Extension resource. + :vartype identity: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Identity + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData + :ivar extension_type: Type of the Extension, of which this resource is an instance of. It must + be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :vartype extension_type: str + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + of minor version, or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :vartype version: str + :ivar scope: Scope at which the extension is installed. + :vartype scope: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Scope + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this + extension. + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :vartype configuration_protected_settings: dict[str, str] + :ivar provisioning_state: Status of installation of this extension. Possible values include: + "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ProvisioningState + :ivar statuses: Status from this extension. + :vartype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionStatus] + :ivar error_info: Error information from the Agent - e.g. errors during installation. + :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail + :ivar custom_location_settings: Custom Location settings properties. + :vartype custom_location_settings: dict[str, str] + :ivar package_uri: Uri of the Helm package. + :vartype package_uri: str + :ivar aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :vartype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionPropertiesAksAssignedIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'error_info': {'readonly': True}, + 'custom_location_settings': {'readonly': True}, + 'package_uri': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'Scope'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ExtensionStatus]'}, + 'error_info': {'key': 'properties.errorInfo', 'type': 'ErrorDetail'}, + 'custom_location_settings': {'key': 'properties.customLocationSettings', 'type': '{str}'}, + 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, + 'aks_assigned_identity': {'key': 'properties.aksAssignedIdentity', 'type': 'ExtensionPropertiesAksAssignedIdentity'}, + } + + def __init__( + self, + *, + identity: Optional["Identity"] = None, + extension_type: Optional[str] = None, + auto_upgrade_minor_version: Optional[bool] = True, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + scope: Optional["Scope"] = None, + configuration_settings: Optional[Dict[str, str]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + statuses: Optional[List["ExtensionStatus"]] = None, + aks_assigned_identity: Optional["ExtensionPropertiesAksAssignedIdentity"] = None, + **kwargs + ): + """ + :keyword identity: Identity of the Extension resource. + :paramtype identity: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Identity + :keyword extension_type: Type of the Extension, of which this resource is an instance of. It + must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :paramtype extension_type: str + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword scope: Scope at which the extension is installed. + :paramtype scope: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Scope + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + :keyword statuses: Status from this extension. + :paramtype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionStatus] + :keyword aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :paramtype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionPropertiesAksAssignedIdentity + """ + super(Extension, self).__init__(**kwargs) + self.identity = identity + self.system_data = None + self.extension_type = extension_type + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + self.scope = scope + self.configuration_settings = configuration_settings + self.configuration_protected_settings = configuration_protected_settings + self.provisioning_state = None + self.statuses = statuses + self.error_info = None + self.custom_location_settings = None + self.package_uri = None + self.aks_assigned_identity = aks_assigned_identity + + +class ExtensionPropertiesAksAssignedIdentity(msrest.serialization.Model): + """Identity of the Extension resource in an AKS cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :vartype type: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[str] = None, + **kwargs + ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ + super(ExtensionPropertiesAksAssignedIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class ExtensionsList(msrest.serialization.Model): + """Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Extensions within a Kubernetes cluster. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] + :ivar next_link: URL to get the next set of extension objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Extension]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ExtensionsList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ExtensionStatus(msrest.serialization.Model): + """Status from the extension. + + :ivar code: Status code provided by the Extension. + :vartype code: str + :ivar display_status: Short description of status of the extension. + :vartype display_status: str + :ivar level: Level of the status. Possible values include: "Error", "Warning", "Information". + Default value: "Information". + :vartype level: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.LevelType + :ivar message: Detailed message of the status from the Extension. + :vartype message: str + :ivar time: DateLiteral (per ISO8601) noting the time of installation status. + :vartype time: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'display_status': {'key': 'displayStatus', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + display_status: Optional[str] = None, + level: Optional[Union[str, "LevelType"]] = "Information", + message: Optional[str] = None, + time: Optional[str] = None, + **kwargs + ): + """ + :keyword code: Status code provided by the Extension. + :paramtype code: str + :keyword display_status: Short description of status of the extension. + :paramtype display_status: str + :keyword level: Level of the status. Possible values include: "Error", "Warning", + "Information". Default value: "Information". + :paramtype level: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.LevelType + :keyword message: Detailed message of the status from the Extension. + :paramtype message: str + :keyword time: DateLiteral (per ISO8601) noting the time of installation status. + :paramtype time: str + """ + super(ExtensionStatus, self).__init__(**kwargs) + self.code = code + self.display_status = display_status + self.level = level + self.message = message + self.time = time + + +class ExtensionType(msrest.serialization.Model): + """Represents an Extension Type. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData + :ivar release_trains: Extension release train: preview or stable. + :vartype release_trains: list[str] + :ivar cluster_types: Cluster types. Possible values include: "connectedClusters", + "managedClusters". + :vartype cluster_types: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ClusterTypes + :ivar supported_scopes: Extension scopes. + :vartype supported_scopes: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SupportedScopes + """ + + _validation = { + 'system_data': {'readonly': True}, + 'release_trains': {'readonly': True}, + 'cluster_types': {'readonly': True}, + 'supported_scopes': {'readonly': True}, + } + + _attribute_map = { + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'release_trains': {'key': 'properties.releaseTrains', 'type': '[str]'}, + 'cluster_types': {'key': 'properties.clusterTypes', 'type': 'str'}, + 'supported_scopes': {'key': 'properties.supportedScopes', 'type': 'SupportedScopes'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ExtensionType, self).__init__(**kwargs) + self.system_data = None + self.release_trains = None + self.cluster_types = None + self.supported_scopes = None + + +class ExtensionTypeList(msrest.serialization.Model): + """List Extension Types. + + :ivar value: The list of Extension Types. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionType] + :ivar next_link: The link to fetch the next page of Extension Types. + :vartype next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExtensionType]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ExtensionType"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + """ + :keyword value: The list of Extension Types. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionType] + :keyword next_link: The link to fetch the next page of Extension Types. + :paramtype next_link: str + """ + super(ExtensionTypeList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ExtensionVersionList(msrest.serialization.Model): + """List versions for an Extension. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar versions: Versions available for this Extension Type. + :vartype versions: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionVersionListVersionsItem] + :ivar next_link: The link to fetch the next page of Extension Types. + :vartype next_link: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData + """ + + _validation = { + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'versions': {'key': 'versions', 'type': '[ExtensionVersionListVersionsItem]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + versions: Optional[List["ExtensionVersionListVersionsItem"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + """ + :keyword versions: Versions available for this Extension Type. + :paramtype versions: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionVersionListVersionsItem] + :keyword next_link: The link to fetch the next page of Extension Types. + :paramtype next_link: str + """ + super(ExtensionVersionList, self).__init__(**kwargs) + self.versions = versions + self.next_link = next_link + self.system_data = None + + +class ExtensionVersionListVersionsItem(msrest.serialization.Model): + """ExtensionVersionListVersionsItem. + + :ivar release_train: The release train for this Extension Type. + :vartype release_train: str + :ivar versions: Versions available for this Extension Type and release train. + :vartype versions: list[str] + """ + + _attribute_map = { + 'release_train': {'key': 'releaseTrain', 'type': 'str'}, + 'versions': {'key': 'versions', 'type': '[str]'}, + } + + def __init__( + self, + *, + release_train: Optional[str] = None, + versions: Optional[List[str]] = None, + **kwargs + ): + """ + :keyword release_train: The release train for this Extension Type. + :paramtype release_train: str + :keyword versions: Versions available for this Extension Type and release train. + :paramtype versions: list[str] + """ + super(ExtensionVersionListVersionsItem, self).__init__(**kwargs) + self.release_train = release_train + self.versions = versions + + +class FluxConfiguration(ProxyResource): + """The Flux Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData + :ivar scope: Scope at which the operator will be installed. Possible values include: "cluster", + "namespace". Default value: "cluster". + :vartype scope: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeType + :ivar namespace: The namespace to which this configuration is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype namespace: str + :ivar source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :vartype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceKindType + :ivar suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :vartype suspend: bool + :ivar git_repository: Parameters to reconcile to the GitRepository source kind type. + :vartype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.GitRepositoryDefinition + :ivar bucket: Parameters to reconcile to the Bucket source kind type. + :vartype bucket: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.BucketDefinition + :ivar kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :vartype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.KustomizationDefinition] + :ivar configuration_protected_settings: Key-value pairs of protected configuration settings for + the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar statuses: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or + created by the managed objects provisioned by the fluxConfiguration. + :vartype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectStatusDefinition] + :ivar repository_public_key: Public Key associated with this fluxConfiguration (either + generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar last_source_updated_commit_id: Branch and SHA of the last source commit synced with the + cluster. + :vartype last_source_updated_commit_id: str + :ivar last_source_updated_at: Datetime the fluxConfiguration last synced its source on the + cluster. + :vartype last_source_updated_at: ~datetime.datetime + :ivar compliance_state: Combined status of the Flux Kubernetes resources created by the + fluxConfiguration or created by the managed objects. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxComplianceState + :ivar provisioning_state: Status of the creation of the fluxConfiguration. Possible values + include: "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ProvisioningState + :ivar error_message: Error message returned to the user in the case of provisioning failure. + :vartype error_message: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'statuses': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'last_source_updated_commit_id': {'readonly': True}, + 'last_source_updated_at': {'readonly': True}, + 'compliance_state': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'error_message': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'namespace': {'key': 'properties.namespace', 'type': 'str'}, + 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, + 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, + 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryDefinition'}, + 'bucket': {'key': 'properties.bucket', 'type': 'BucketDefinition'}, + 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationDefinition}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ObjectStatusDefinition]'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'last_source_updated_commit_id': {'key': 'properties.lastSourceUpdatedCommitId', 'type': 'str'}, + 'last_source_updated_at': {'key': 'properties.lastSourceUpdatedAt', 'type': 'iso-8601'}, + 'compliance_state': {'key': 'properties.complianceState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, + } + + def __init__( + self, + *, + scope: Optional[Union[str, "ScopeType"]] = "cluster", + namespace: Optional[str] = "default", + source_kind: Optional[Union[str, "SourceKindType"]] = None, + suspend: Optional[bool] = False, + git_repository: Optional["GitRepositoryDefinition"] = None, + bucket: Optional["BucketDefinition"] = None, + kustomizations: Optional[Dict[str, "KustomizationDefinition"]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :paramtype scope: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeType + :keyword namespace: The namespace to which this configuration is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :paramtype namespace: str + :keyword source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :paramtype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceKindType + :keyword suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :paramtype suspend: bool + :keyword git_repository: Parameters to reconcile to the GitRepository source kind type. + :paramtype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.GitRepositoryDefinition + :keyword bucket: Parameters to reconcile to the Bucket source kind type. + :paramtype bucket: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.BucketDefinition + :keyword kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :paramtype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.KustomizationDefinition] + :keyword configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(FluxConfiguration, self).__init__(**kwargs) + self.system_data = None + self.scope = scope + self.namespace = namespace + self.source_kind = source_kind + self.suspend = suspend + self.git_repository = git_repository + self.bucket = bucket + self.kustomizations = kustomizations + self.configuration_protected_settings = configuration_protected_settings + self.statuses = None + self.repository_public_key = None + self.last_source_updated_commit_id = None + self.last_source_updated_at = None + self.compliance_state = None + self.provisioning_state = None + self.error_message = None + + +class FluxConfigurationPatch(msrest.serialization.Model): + """The Flux Configuration Patch Request object. + + :ivar source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :vartype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceKindType + :ivar suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :vartype suspend: bool + :ivar git_repository: Parameters to reconcile to the GitRepository source kind type. + :vartype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.GitRepositoryPatchDefinition + :ivar bucket: Parameters to reconcile to the Bucket source kind type. + :vartype bucket: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.BucketDefinition + :ivar kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :vartype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.KustomizationPatchDefinition] + :ivar configuration_protected_settings: Key-value pairs of protected configuration settings for + the configuration. + :vartype configuration_protected_settings: dict[str, str] + """ + + _attribute_map = { + 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, + 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, + 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryPatchDefinition'}, + 'bucket': {'key': 'properties.bucket', 'type': 'BucketDefinition'}, + 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationPatchDefinition}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + } + + def __init__( + self, + *, + source_kind: Optional[Union[str, "SourceKindType"]] = None, + suspend: Optional[bool] = None, + git_repository: Optional["GitRepositoryPatchDefinition"] = None, + bucket: Optional["BucketDefinition"] = None, + kustomizations: Optional[Dict[str, "KustomizationPatchDefinition"]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :paramtype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceKindType + :keyword suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :paramtype suspend: bool + :keyword git_repository: Parameters to reconcile to the GitRepository source kind type. + :paramtype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.GitRepositoryPatchDefinition + :keyword bucket: Parameters to reconcile to the Bucket source kind type. + :paramtype bucket: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.BucketDefinition + :keyword kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :paramtype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.KustomizationPatchDefinition] + :keyword configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(FluxConfigurationPatch, self).__init__(**kwargs) + self.source_kind = source_kind + self.suspend = suspend + self.git_repository = git_repository + self.bucket = bucket + self.kustomizations = kustomizations + self.configuration_protected_settings = configuration_protected_settings + + +class FluxConfigurationsList(msrest.serialization.Model): + """Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Flux Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[FluxConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(FluxConfigurationsList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class GitRepositoryDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration git repository. + :vartype url: str + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar repository_ref: The source reference for the GitRepository object. + :vartype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.RepositoryRefDefinition + :ivar ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to + access private git repositories over SSH. + :vartype ssh_known_hosts: str + :ivar https_user: Plaintext HTTPS username used to access private git repositories over HTTPS. + :vartype https_user: str + :ivar https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :vartype https_ca_cert: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'repository_ref': {'key': 'repositoryRef', 'type': 'RepositoryRefDefinition'}, + 'ssh_known_hosts': {'key': 'sshKnownHosts', 'type': 'str'}, + 'https_user': {'key': 'httpsUser', 'type': 'str'}, + 'https_ca_cert': {'key': 'httpsCACert', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + repository_ref: Optional["RepositoryRefDefinition"] = None, + ssh_known_hosts: Optional[str] = None, + https_user: Optional[str] = None, + https_ca_cert: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration git repository. + :paramtype url: str + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword repository_ref: The source reference for the GitRepository object. + :paramtype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.RepositoryRefDefinition + :keyword ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required + to access private git repositories over SSH. + :paramtype ssh_known_hosts: str + :keyword https_user: Plaintext HTTPS username used to access private git repositories over + HTTPS. + :paramtype https_user: str + :keyword https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :paramtype https_ca_cert: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(GitRepositoryDefinition, self).__init__(**kwargs) + self.url = url + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.repository_ref = repository_ref + self.ssh_known_hosts = ssh_known_hosts + self.https_user = https_user + self.https_ca_cert = https_ca_cert + self.local_auth_ref = local_auth_ref + + +class GitRepositoryPatchDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration git repository. + :vartype url: str + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar repository_ref: The source reference for the GitRepository object. + :vartype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.RepositoryRefDefinition + :ivar ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to + access private git repositories over SSH. + :vartype ssh_known_hosts: str + :ivar https_user: Plaintext HTTPS username used to access private git repositories over HTTPS. + :vartype https_user: str + :ivar https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :vartype https_ca_cert: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'repository_ref': {'key': 'repositoryRef', 'type': 'RepositoryRefDefinition'}, + 'ssh_known_hosts': {'key': 'sshKnownHosts', 'type': 'str'}, + 'https_user': {'key': 'httpsUser', 'type': 'str'}, + 'https_ca_cert': {'key': 'httpsCACert', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + timeout_in_seconds: Optional[int] = None, + sync_interval_in_seconds: Optional[int] = None, + repository_ref: Optional["RepositoryRefDefinition"] = None, + ssh_known_hosts: Optional[str] = None, + https_user: Optional[str] = None, + https_ca_cert: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration git repository. + :paramtype url: str + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword repository_ref: The source reference for the GitRepository object. + :paramtype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.RepositoryRefDefinition + :keyword ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required + to access private git repositories over SSH. + :paramtype ssh_known_hosts: str + :keyword https_user: Plaintext HTTPS username used to access private git repositories over + HTTPS. + :paramtype https_user: str + :keyword https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :paramtype https_ca_cert: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(GitRepositoryPatchDefinition, self).__init__(**kwargs) + self.url = url + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.repository_ref = repository_ref + self.ssh_known_hosts = ssh_known_hosts + self.https_user = https_user + self.https_ca_cert = https_ca_cert + self.local_auth_ref = local_auth_ref + + +class HelmOperatorProperties(msrest.serialization.Model): + """Properties for Helm operator. + + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__( + self, + *, + chart_version: Optional[str] = None, + chart_values: Optional[str] = None, + **kwargs + ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = chart_version + self.chart_values = chart_values + + +class HelmReleasePropertiesDefinition(msrest.serialization.Model): + """HelmReleasePropertiesDefinition. + + :ivar last_revision_applied: The revision number of the last released object change. + :vartype last_revision_applied: long + :ivar helm_chart_ref: The reference to the HelmChart object used as the source to this + HelmRelease. + :vartype helm_chart_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectReferenceDefinition + :ivar failure_count: Total number of times that the HelmRelease failed to install or upgrade. + :vartype failure_count: long + :ivar install_failure_count: Number of times that the HelmRelease failed to install. + :vartype install_failure_count: long + :ivar upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. + :vartype upgrade_failure_count: long + """ + + _attribute_map = { + 'last_revision_applied': {'key': 'lastRevisionApplied', 'type': 'long'}, + 'helm_chart_ref': {'key': 'helmChartRef', 'type': 'ObjectReferenceDefinition'}, + 'failure_count': {'key': 'failureCount', 'type': 'long'}, + 'install_failure_count': {'key': 'installFailureCount', 'type': 'long'}, + 'upgrade_failure_count': {'key': 'upgradeFailureCount', 'type': 'long'}, + } + + def __init__( + self, + *, + last_revision_applied: Optional[int] = None, + helm_chart_ref: Optional["ObjectReferenceDefinition"] = None, + failure_count: Optional[int] = None, + install_failure_count: Optional[int] = None, + upgrade_failure_count: Optional[int] = None, + **kwargs + ): + """ + :keyword last_revision_applied: The revision number of the last released object change. + :paramtype last_revision_applied: long + :keyword helm_chart_ref: The reference to the HelmChart object used as the source to this + HelmRelease. + :paramtype helm_chart_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectReferenceDefinition + :keyword failure_count: Total number of times that the HelmRelease failed to install or + upgrade. + :paramtype failure_count: long + :keyword install_failure_count: Number of times that the HelmRelease failed to install. + :paramtype install_failure_count: long + :keyword upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. + :paramtype upgrade_failure_count: long + """ + super(HelmReleasePropertiesDefinition, self).__init__(**kwargs) + self.last_revision_applied = last_revision_applied + self.helm_chart_ref = helm_chart_ref + self.failure_count = failure_count + self.install_failure_count = install_failure_count + self.upgrade_failure_count = upgrade_failure_count + + +class Identity(msrest.serialization.Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :vartype type: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[str] = None, + **kwargs + ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class KustomizationDefinition(msrest.serialization.Model): + """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + + :ivar path: The path in the source reference to reconcile on the cluster. + :vartype path: str + :ivar depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :vartype depends_on: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.DependsOnDefinition] + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster. + :vartype sync_interval_in_seconds: long + :ivar retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster in the event of failure on reconciliation. + :vartype retry_interval_in_seconds: long + :ivar prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :vartype prune: bool + :ivar force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails + due to an immutable field change. + :vartype force: bool + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[DependsOnDefinition]'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, + 'prune': {'key': 'prune', 'type': 'bool'}, + 'force': {'key': 'force', 'type': 'bool'}, + } + + def __init__( + self, + *, + path: Optional[str] = "", + depends_on: Optional[List["DependsOnDefinition"]] = None, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + retry_interval_in_seconds: Optional[int] = None, + prune: Optional[bool] = False, + force: Optional[bool] = False, + **kwargs + ): + """ + :keyword path: The path in the source reference to reconcile on the cluster. + :paramtype path: str + :keyword depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :paramtype depends_on: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.DependsOnDefinition] + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster. + :paramtype sync_interval_in_seconds: long + :keyword retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster in the event of failure on reconciliation. + :paramtype retry_interval_in_seconds: long + :keyword prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :paramtype prune: bool + :keyword force: Enable/disable re-creating Kubernetes resources on the cluster when patching + fails due to an immutable field change. + :paramtype force: bool + """ + super(KustomizationDefinition, self).__init__(**kwargs) + self.path = path + self.depends_on = depends_on + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.retry_interval_in_seconds = retry_interval_in_seconds + self.prune = prune + self.force = force + + +class KustomizationPatchDefinition(msrest.serialization.Model): + """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + + :ivar path: The path in the source reference to reconcile on the cluster. + :vartype path: str + :ivar depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :vartype depends_on: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.DependsOnDefinition] + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster. + :vartype sync_interval_in_seconds: long + :ivar retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster in the event of failure on reconciliation. + :vartype retry_interval_in_seconds: long + :ivar prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :vartype prune: bool + :ivar force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails + due to an immutable field change. + :vartype force: bool + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[DependsOnDefinition]'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, + 'prune': {'key': 'prune', 'type': 'bool'}, + 'force': {'key': 'force', 'type': 'bool'}, + } + + def __init__( + self, + *, + path: Optional[str] = None, + depends_on: Optional[List["DependsOnDefinition"]] = None, + timeout_in_seconds: Optional[int] = None, + sync_interval_in_seconds: Optional[int] = None, + retry_interval_in_seconds: Optional[int] = None, + prune: Optional[bool] = None, + force: Optional[bool] = None, + **kwargs + ): + """ + :keyword path: The path in the source reference to reconcile on the cluster. + :paramtype path: str + :keyword depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :paramtype depends_on: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.DependsOnDefinition] + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster. + :paramtype sync_interval_in_seconds: long + :keyword retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster in the event of failure on reconciliation. + :paramtype retry_interval_in_seconds: long + :keyword prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :paramtype prune: bool + :keyword force: Enable/disable re-creating Kubernetes resources on the cluster when patching + fails due to an immutable field change. + :paramtype force: bool + """ + super(KustomizationPatchDefinition, self).__init__(**kwargs) + self.path = path + self.depends_on = depends_on + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.retry_interval_in_seconds = retry_interval_in_seconds + self.prune = prune + self.force = force + + +class ObjectReferenceDefinition(msrest.serialization.Model): + """Object reference to a Kubernetes object on a cluster. + + :ivar name: Name of the object. + :vartype name: str + :ivar namespace: Namespace of the object. + :vartype namespace: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword name: Name of the object. + :paramtype name: str + :keyword namespace: Namespace of the object. + :paramtype namespace: str + """ + super(ObjectReferenceDefinition, self).__init__(**kwargs) + self.name = name + self.namespace = namespace + + +class ObjectStatusConditionDefinition(msrest.serialization.Model): + """Status condition of Kubernetes object. + + :ivar last_transition_time: Last time this status condition has changed. + :vartype last_transition_time: ~datetime.datetime + :ivar message: A more verbose description of the object status condition. + :vartype message: str + :ivar reason: Reason for the specified status condition type status. + :vartype reason: str + :ivar status: Status of the Kubernetes object condition type. + :vartype status: str + :ivar type: Object status condition type for this object. + :vartype type: str + """ + + _attribute_map = { + 'last_transition_time': {'key': 'lastTransitionTime', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + last_transition_time: Optional[datetime.datetime] = None, + message: Optional[str] = None, + reason: Optional[str] = None, + status: Optional[str] = None, + type: Optional[str] = None, + **kwargs + ): + """ + :keyword last_transition_time: Last time this status condition has changed. + :paramtype last_transition_time: ~datetime.datetime + :keyword message: A more verbose description of the object status condition. + :paramtype message: str + :keyword reason: Reason for the specified status condition type status. + :paramtype reason: str + :keyword status: Status of the Kubernetes object condition type. + :paramtype status: str + :keyword type: Object status condition type for this object. + :paramtype type: str + """ + super(ObjectStatusConditionDefinition, self).__init__(**kwargs) + self.last_transition_time = last_transition_time + self.message = message + self.reason = reason + self.status = status + self.type = type + + +class ObjectStatusDefinition(msrest.serialization.Model): + """Statuses of objects deployed by the user-specified kustomizations from the git repository. + + :ivar name: Name of the applied object. + :vartype name: str + :ivar namespace: Namespace of the applied object. + :vartype namespace: str + :ivar kind: Kind of the applied object. + :vartype kind: str + :ivar compliance_state: Compliance state of the applied object showing whether the applied + object has come into a ready state on the cluster. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxComplianceState + :ivar applied_by: Object reference to the Kustomization that applied this object. + :vartype applied_by: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectReferenceDefinition + :ivar status_conditions: List of Kubernetes object status conditions present on the cluster. + :vartype status_conditions: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectStatusConditionDefinition] + :ivar helm_release_properties: Additional properties that are provided from objects of the + HelmRelease kind. + :vartype helm_release_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.HelmReleasePropertiesDefinition + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'applied_by': {'key': 'appliedBy', 'type': 'ObjectReferenceDefinition'}, + 'status_conditions': {'key': 'statusConditions', 'type': '[ObjectStatusConditionDefinition]'}, + 'helm_release_properties': {'key': 'helmReleaseProperties', 'type': 'HelmReleasePropertiesDefinition'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + namespace: Optional[str] = None, + kind: Optional[str] = None, + compliance_state: Optional[Union[str, "FluxComplianceState"]] = "Unknown", + applied_by: Optional["ObjectReferenceDefinition"] = None, + status_conditions: Optional[List["ObjectStatusConditionDefinition"]] = None, + helm_release_properties: Optional["HelmReleasePropertiesDefinition"] = None, + **kwargs + ): + """ + :keyword name: Name of the applied object. + :paramtype name: str + :keyword namespace: Namespace of the applied object. + :paramtype namespace: str + :keyword kind: Kind of the applied object. + :paramtype kind: str + :keyword compliance_state: Compliance state of the applied object showing whether the applied + object has come into a ready state on the cluster. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :paramtype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxComplianceState + :keyword applied_by: Object reference to the Kustomization that applied this object. + :paramtype applied_by: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectReferenceDefinition + :keyword status_conditions: List of Kubernetes object status conditions present on the cluster. + :paramtype status_conditions: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectStatusConditionDefinition] + :keyword helm_release_properties: Additional properties that are provided from objects of the + HelmRelease kind. + :paramtype helm_release_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.HelmReleasePropertiesDefinition + """ + super(ObjectStatusDefinition, self).__init__(**kwargs) + self.name = name + self.namespace = namespace + self.kind = kind + self.compliance_state = compliance_state + self.applied_by = applied_by + self.status_conditions = status_conditions + self.helm_release_properties = helm_release_properties + + +class OperationStatusList(msrest.serialization.Model): + """The async operations in progress, in the cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of async operations in progress, in the cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusResult] + :ivar next_link: URL to get the next set of Operation Result objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationStatusResult]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(OperationStatusList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class OperationStatusResult(msrest.serialization.Model): + """The current status of an async operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified ID for the async operation. + :vartype id: str + :ivar name: Name of the async operation. + :vartype name: str + :ivar status: Required. Operation status. + :vartype status: str + :ivar properties: Additional information, if available. + :vartype properties: dict[str, str] + :ivar error: If present, details of the operation error. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail + """ + + _validation = { + 'status': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + status: str, + id: Optional[str] = None, + name: Optional[str] = None, + properties: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword id: Fully qualified ID for the async operation. + :paramtype id: str + :keyword name: Name of the async operation. + :paramtype name: str + :keyword status: Required. Operation status. + :paramtype status: str + :keyword properties: Additional information, if available. + :paramtype properties: dict[str, str] + """ + super(OperationStatusResult, self).__init__(**kwargs) + self.id = id + self.name = name + self.status = status + self.properties = properties + self.error = None + + +class PatchExtension(msrest.serialization.Model): + """The Extension Patch Request object. + + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + of minor version, or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :vartype version: str + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this + extension. + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :vartype configuration_protected_settings: dict[str, str] + """ + + _attribute_map = { + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + } + + def __init__( + self, + *, + auto_upgrade_minor_version: Optional[bool] = True, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + configuration_settings: Optional[Dict[str, str]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(PatchExtension, self).__init__(**kwargs) + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + self.configuration_settings = configuration_settings + self.configuration_protected_settings = configuration_protected_settings + + +class RepositoryRefDefinition(msrest.serialization.Model): + """The source reference for the GitRepository object. + + :ivar branch: The git repository branch name to checkout. + :vartype branch: str + :ivar tag: The git repository tag name to checkout. This takes precedence over branch. + :vartype tag: str + :ivar semver: The semver range used to match against git repository tags. This takes precedence + over tag. + :vartype semver: str + :ivar commit: The commit SHA to checkout. This value must be combined with the branch name to + be valid. This takes precedence over semver. + :vartype commit: str + """ + + _attribute_map = { + 'branch': {'key': 'branch', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + 'semver': {'key': 'semver', 'type': 'str'}, + 'commit': {'key': 'commit', 'type': 'str'}, + } + + def __init__( + self, + *, + branch: Optional[str] = None, + tag: Optional[str] = None, + semver: Optional[str] = None, + commit: Optional[str] = None, + **kwargs + ): + """ + :keyword branch: The git repository branch name to checkout. + :paramtype branch: str + :keyword tag: The git repository tag name to checkout. This takes precedence over branch. + :paramtype tag: str + :keyword semver: The semver range used to match against git repository tags. This takes + precedence over tag. + :paramtype semver: str + :keyword commit: The commit SHA to checkout. This value must be combined with the branch name + to be valid. This takes precedence over semver. + :paramtype commit: str + """ + super(RepositoryRefDefinition, self).__init__(**kwargs) + self.branch = branch + self.tag = tag + self.semver = semver + self.commit = commit + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperationDisplay + :ivar is_data_action: The flag that indicates whether the operation applies to data plane. + :vartype is_data_action: bool + :ivar origin: Origin of the operation. + :vartype origin: str + """ + + _validation = { + 'is_data_action': {'readonly': True}, + 'origin': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'origin': {'key': 'origin', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + **kwargs + ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperationDisplay + """ + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + self.is_data_action = None + self.origin = None + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + provider: Optional[str] = None, + resource: Optional[str] = None, + operation: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of operations supported by this resource provider. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperation] + :ivar next_link: URL to the next set of results, if any. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceProviderOperation"]] = None, + **kwargs + ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperation] + """ + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class Scope(msrest.serialization.Model): + """Scope of the extension. It can be either Cluster or Namespace; but not both. + + :ivar cluster: Specifies that the scope of the extension is Cluster. + :vartype cluster: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeCluster + :ivar namespace: Specifies that the scope of the extension is Namespace. + :vartype namespace: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeNamespace + """ + + _attribute_map = { + 'cluster': {'key': 'cluster', 'type': 'ScopeCluster'}, + 'namespace': {'key': 'namespace', 'type': 'ScopeNamespace'}, + } + + def __init__( + self, + *, + cluster: Optional["ScopeCluster"] = None, + namespace: Optional["ScopeNamespace"] = None, + **kwargs + ): + """ + :keyword cluster: Specifies that the scope of the extension is Cluster. + :paramtype cluster: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeCluster + :keyword namespace: Specifies that the scope of the extension is Namespace. + :paramtype namespace: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeNamespace + """ + super(Scope, self).__init__(**kwargs) + self.cluster = cluster + self.namespace = namespace + + +class ScopeCluster(msrest.serialization.Model): + """Specifies that the scope of the extension is Cluster. + + :ivar release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :vartype release_namespace: str + """ + + _attribute_map = { + 'release_namespace': {'key': 'releaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + release_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :paramtype release_namespace: str + """ + super(ScopeCluster, self).__init__(**kwargs) + self.release_namespace = release_namespace + + +class ScopeNamespace(msrest.serialization.Model): + """Specifies that the scope of the extension is Namespace. + + :ivar target_namespace: Namespace where the extension will be created for an Namespace scoped + extension. If this namespace does not exist, it will be created. + :vartype target_namespace: str + """ + + _attribute_map = { + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + target_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword target_namespace: Namespace where the extension will be created for an Namespace + scoped extension. If this namespace does not exist, it will be created. + :paramtype target_namespace: str + """ + super(ScopeNamespace, self).__init__(**kwargs) + self.target_namespace = target_namespace + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperatorType + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :vartype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperatorScopeType + :ivar repository_public_key: Public Key associated with this SourceControl configuration + (either generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + required to access private Git instances. + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. Possible values + include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ProvisioningStateType + :ivar compliance_status: Compliance Status of the Configuration. + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__( + self, + *, + repository_url: Optional[str] = None, + operator_namespace: Optional[str] = "default", + operator_instance_name: Optional[str] = None, + operator_type: Optional[Union[str, "OperatorType"]] = None, + operator_params: Optional[str] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + operator_scope: Optional[Union[str, "OperatorScopeType"]] = "cluster", + ssh_known_hosts_contents: Optional[str] = None, + enable_helm_operator: Optional[bool] = None, + helm_operator_properties: Optional["HelmOperatorProperties"] = None, + **kwargs + ): + """ + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.HelmOperatorProperties + """ + super(SourceControlConfiguration, self).__init__(**kwargs) + self.system_data = None + self.repository_url = repository_url + self.operator_namespace = operator_namespace + self.operator_instance_name = operator_instance_name + self.operator_type = operator_type + self.operator_params = operator_params + self.configuration_protected_settings = configuration_protected_settings + self.operator_scope = operator_scope + self.repository_public_key = None + self.ssh_known_hosts_contents = ssh_known_hosts_contents + self.enable_helm_operator = enable_helm_operator + self.helm_operator_properties = helm_operator_properties + self.provisioning_state = None + self.compliance_status = None + + +class SourceControlConfigurationList(msrest.serialization.Model): + """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Source Control Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(SourceControlConfigurationList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class SupportedScopes(msrest.serialization.Model): + """Extension scopes. + + :ivar default_scope: Default extension scopes: cluster or namespace. + :vartype default_scope: str + :ivar cluster_scope_settings: Scope settings. + :vartype cluster_scope_settings: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ClusterScopeSettings + """ + + _attribute_map = { + 'default_scope': {'key': 'defaultScope', 'type': 'str'}, + 'cluster_scope_settings': {'key': 'clusterScopeSettings', 'type': 'ClusterScopeSettings'}, + } + + def __init__( + self, + *, + default_scope: Optional[str] = None, + cluster_scope_settings: Optional["ClusterScopeSettings"] = None, + **kwargs + ): + """ + :keyword default_scope: Default extension scopes: cluster or namespace. + :paramtype default_scope: str + :keyword cluster_scope_settings: Scope settings. + :paramtype cluster_scope_settings: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ClusterScopeSettings + """ + super(SupportedScopes, self).__init__(**kwargs) + self.default_scope = default_scope + self.cluster_scope_settings = cluster_scope_settings + + +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.CreatedByType + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :vartype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.CreatedByType + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + created_by: Optional[str] = None, + created_by_type: Optional[Union[str, "CreatedByType"]] = None, + created_at: Optional[datetime.datetime] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None, + last_modified_at: Optional[datetime.datetime] = None, + **kwargs + ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ + super(SystemData, self).__init__(**kwargs) + self.created_by = created_by + self.created_by_type = created_by_type + self.created_at = created_at + self.last_modified_by = last_modified_by + self.last_modified_by_type = last_modified_by_type + self.last_modified_at = last_modified_at diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/_source_control_configuration_client_enums.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/_source_control_configuration_client_enums.py new file mode 100644 index 00000000000..9c16b817850 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/_source_control_configuration_client_enums.py @@ -0,0 +1,131 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum +from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta + + +class ClusterTypes(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Cluster types + """ + + CONNECTED_CLUSTERS = "connectedClusters" + MANAGED_CLUSTERS = "managedClusters" + +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The compliance state of the configuration. + """ + + PENDING = "Pending" + COMPLIANT = "Compliant" + NONCOMPLIANT = "Noncompliant" + INSTALLED = "Installed" + FAILED = "Failed" + +class CreatedByType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The type of identity that created the resource. + """ + + USER = "User" + APPLICATION = "Application" + MANAGED_IDENTITY = "ManagedIdentity" + KEY = "Key" + +class ExtensionsClusterResourceName(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MANAGED_CLUSTERS = "managedClusters" + CONNECTED_CLUSTERS = "connectedClusters" + +class ExtensionsClusterRp(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" + MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" + +class FluxComplianceState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Compliance state of the cluster object. + """ + + COMPLIANT = "Compliant" + NON_COMPLIANT = "Non-Compliant" + PENDING = "Pending" + SUSPENDED = "Suspended" + UNKNOWN = "Unknown" + +class KustomizationValidationType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Specify whether to validate the Kubernetes objects referenced in the Kustomization before + applying them to the cluster. + """ + + NONE = "none" + CLIENT = "client" + SERVER = "server" + +class LevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the status. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the message. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the operator will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Type of the operator + """ + + FLUX = "Flux" + +class ProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource. + """ + + SUCCEEDED = "Succeeded" + FAILED = "Failed" + CANCELED = "Canceled" + CREATING = "Creating" + UPDATING = "Updating" + DELETING = "Deleting" + +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource provider. + """ + + ACCEPTED = "Accepted" + DELETING = "Deleting" + RUNNING = "Running" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + +class ScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the configuration will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class SourceKindType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Source Kind to pull the configuration data from. + """ + + GIT_REPOSITORY = "GitRepository" + BUCKET = "Bucket" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/__init__.py new file mode 100644 index 00000000000..37008240af3 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/__init__.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._cluster_extension_type_operations import ClusterExtensionTypeOperations +from ._cluster_extension_types_operations import ClusterExtensionTypesOperations +from ._extension_type_versions_operations import ExtensionTypeVersionsOperations +from ._location_extension_types_operations import LocationExtensionTypesOperations +from ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._flux_configurations_operations import FluxConfigurationsOperations +from ._flux_config_operation_status_operations import FluxConfigOperationStatusOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'ClusterExtensionTypeOperations', + 'ClusterExtensionTypesOperations', + 'ExtensionTypeVersionsOperations', + 'LocationExtensionTypesOperations', + 'ExtensionsOperations', + 'OperationStatusOperations', + 'FluxConfigurationsOperations', + 'FluxConfigOperationStatusOperations', + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_type_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_type_operations.py new file mode 100644 index 00000000000..93725f6313e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_type_operations.py @@ -0,0 +1,156 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionTypeName": _SERIALIZER.url("extension_type_name", extension_type_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ClusterExtensionTypeOperations(object): + """ClusterExtensionTypeOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any + ) -> "_models.ExtensionType": + """Get Extension Type details. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_type_name: Extension type name. + :type extension_type_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionType, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionType + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionType"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_type_name=extension_type_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionType', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_types_operations.py new file mode 100644 index 00000000000..3169d214744 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_types_operations.py @@ -0,0 +1,176 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ClusterExtensionTypesOperations(object): + """ClusterExtensionTypesOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionTypeList"]: + """Get Extension Types. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionTypeList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_extension_type_versions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_extension_type_versions_operations.py new file mode 100644 index 00000000000..e377f228260 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_extension_type_versions_operations.py @@ -0,0 +1,159 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + extension_type_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "extensionTypeName": _SERIALIZER.url("extension_type_name", extension_type_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ExtensionTypeVersionsOperations(object): + """ExtensionTypeVersionsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location: str, + extension_type_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionVersionList"]: + """List available versions for an Extension Type. + + :param location: extension location. + :type location: str + :param extension_type_name: Extension type name. + :type extension_type_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionVersionList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionVersionList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionVersionList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionVersionList", pipeline_response) + list_of_elem = deserialized.versions + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_extensions_operations.py new file mode 100644 index 00000000000..05b12aea127 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_extensions_operations.py @@ -0,0 +1,840 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ExtensionsOperations(object): + """ExtensionsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def _create_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_create( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either Extension or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + def _update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: + """Patch an existing Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param patch_extension: Properties to Patch in an existing Extension. + :type patch_extension: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.PatchExtension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either Extension or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + patch_extension=patch_extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_flux_config_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_flux_config_operation_status_operations.py new file mode 100644 index 00000000000..c2770443964 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_flux_config_operation_status_operations.py @@ -0,0 +1,162 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class FluxConfigOperationStatusOperations(object): + """FluxConfigOperationStatusOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_flux_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_flux_configurations_operations.py new file mode 100644 index 00000000000..581995baf23 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_flux_configurations_operations.py @@ -0,0 +1,844 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class FluxConfigurationsOperations(object): + """FluxConfigurationsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any + ) -> "_models.FluxConfiguration": + """Gets details of the Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FluxConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + def _create_or_update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration, 'FluxConfiguration') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> LROPoller["_models.FluxConfiguration"]: + """Create a new Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration: Properties necessary to Create a FluxConfiguration. + :type flux_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration=flux_configuration, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def _update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> LROPoller["_models.FluxConfiguration"]: + """Update an existing Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration_patch: Properties to Patch in an existing Flux Configuration. + :type flux_configuration_patch: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfigurationPatch + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration_patch=flux_configuration_patch, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync + from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.FluxConfigurationsList"]: + """List all Flux Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FluxConfigurationsList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfigurationsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfigurationsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("FluxConfigurationsList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_location_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_location_extension_types_operations.py new file mode 100644 index 00000000000..42c18809e53 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_location_extension_types_operations.py @@ -0,0 +1,151 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class LocationExtensionTypesOperations(object): + """LocationExtensionTypesOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionTypeList"]: + """List all Extension Types. + + :param location: extension location. + :type location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionTypeList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_operation_status_operations.py new file mode 100644 index 00000000000..f4a859d24eb --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_operation_status_operations.py @@ -0,0 +1,291 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class OperationStatusOperations(object): + """OperationStatusOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.OperationStatusList"]: + """List Async Operations, currently in progress, in a cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationStatusList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_operations.py new file mode 100644 index 00000000000..ba30bb53615 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_operations.py @@ -0,0 +1,137 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class Operations(object): + """Operations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..fe3ef877c91 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_source_control_configurations_operations.py @@ -0,0 +1,582 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class SourceControlConfigurationsOperations(object): + """SourceControlConfigurationsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/__init__.py new file mode 100644 index 00000000000..e9096303633 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_configuration.py new file mode 100644 index 00000000000..370fdc18d17 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_configuration.py @@ -0,0 +1,68 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2022-03-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_source_control_configuration_client.py new file mode 100644 index 00000000000..afe78f7c5ab --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_source_control_configuration_client.py @@ -0,0 +1,113 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.rest import HttpRequest, HttpResponse +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ExtensionsOperations, FluxConfigOperationStatusOperations, FluxConfigurationsOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2022_03_01.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2022_03_01.operations.OperationStatusOperations + :ivar flux_configurations: FluxConfigurationsOperations operations + :vartype flux_configurations: + azure.mgmt.kubernetesconfiguration.v2022_03_01.operations.FluxConfigurationsOperations + :ivar flux_config_operation_status: FluxConfigOperationStatusOperations operations + :vartype flux_config_operation_status: + azure.mgmt.kubernetesconfiguration.v2022_03_01.operations.FluxConfigOperationStatusOperations + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2022_03_01.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.kubernetesconfiguration.v2022_03_01.operations.Operations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_configurations = FluxConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_config_operation_status = FluxConfigOperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.HttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> SourceControlConfigurationClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_vendor.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_vendor.py @@ -0,0 +1,27 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_version.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_version.py new file mode 100644 index 00000000000..59deb8c7263 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +VERSION = "1.1.0" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/__init__.py new file mode 100644 index 00000000000..5f583276b4e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_configuration.py new file mode 100644 index 00000000000..5bb69c4da53 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_configuration.py @@ -0,0 +1,67 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2022-03-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_source_control_configuration_client.py new file mode 100644 index 00000000000..9a5a755578b --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_source_control_configuration_client.py @@ -0,0 +1,110 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING + +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ExtensionsOperations, FluxConfigOperationStatusOperations, FluxConfigurationsOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2022_03_01.aio.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2022_03_01.aio.operations.OperationStatusOperations + :ivar flux_configurations: FluxConfigurationsOperations operations + :vartype flux_configurations: + azure.mgmt.kubernetesconfiguration.v2022_03_01.aio.operations.FluxConfigurationsOperations + :ivar flux_config_operation_status: FluxConfigOperationStatusOperations operations + :vartype flux_config_operation_status: + azure.mgmt.kubernetesconfiguration.v2022_03_01.aio.operations.FluxConfigOperationStatusOperations + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2022_03_01.aio.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.kubernetesconfiguration.v2022_03_01.aio.operations.Operations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_configurations = FluxConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_config_operation_status = FluxConfigOperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "SourceControlConfigurationClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/__init__.py new file mode 100644 index 00000000000..e18b201b5dc --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/__init__.py @@ -0,0 +1,23 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._flux_configurations_operations import FluxConfigurationsOperations +from ._flux_config_operation_status_operations import FluxConfigOperationStatusOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'ExtensionsOperations', + 'OperationStatusOperations', + 'FluxConfigurationsOperations', + 'FluxConfigOperationStatusOperations', + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_extensions_operations.py new file mode 100644 index 00000000000..bba4b3105d5 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_extensions_operations.py @@ -0,0 +1,604 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._extensions_operations import build_create_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ExtensionsOperations: + """ExtensionsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def _create_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_create( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> AsyncLROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> AsyncLROPoller["_models.Extension"]: + """Patch an existing Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param patch_extension: Properties to Patch in an existing Extension. + :type patch_extension: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.PatchExtension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + patch_extension=patch_extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_flux_config_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_flux_config_operation_status_operations.py new file mode 100644 index 00000000000..53766735ba9 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_flux_config_operation_status_operations.py @@ -0,0 +1,115 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._flux_config_operation_status_operations import build_get_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class FluxConfigOperationStatusOperations: + """FluxConfigOperationStatusOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_flux_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_flux_configurations_operations.py new file mode 100644 index 00000000000..80b175ce087 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_flux_configurations_operations.py @@ -0,0 +1,607 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._flux_configurations_operations import build_create_or_update_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class FluxConfigurationsOperations: + """FluxConfigurationsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any + ) -> "_models.FluxConfiguration": + """Gets details of the Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FluxConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + async def _create_or_update_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration, 'FluxConfiguration') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_create_or_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> AsyncLROPoller["_models.FluxConfiguration"]: + """Create a new Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration: Properties necessary to Create a FluxConfiguration. + :type flux_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration=flux_configuration, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> AsyncLROPoller["_models.FluxConfiguration"]: + """Update an existing Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration_patch: Properties to Patch in an existing Flux Configuration. + :type flux_configuration_patch: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfigurationPatch + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration_patch=flux_configuration_patch, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync + from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.FluxConfigurationsList"]: + """List all Flux Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FluxConfigurationsList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfigurationsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfigurationsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("FluxConfigurationsList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_operation_status_operations.py new file mode 100644 index 00000000000..c190ec1e38b --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_operation_status_operations.py @@ -0,0 +1,204 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operation_status_operations import build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationStatusOperations: + """OperationStatusOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.OperationStatusList"]: + """List Async Operations, currently in progress, in a cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationStatusList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_operations.py new file mode 100644 index 00000000000..3131058170a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_operations.py @@ -0,0 +1,111 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class Operations: + """Operations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..71375d427f2 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_source_control_configurations_operations.py @@ -0,0 +1,399 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SourceControlConfigurationsOperations: + """SourceControlConfigurationsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def create_or_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/__init__.py new file mode 100644 index 00000000000..2bd4f2cd929 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/__init__.py @@ -0,0 +1,117 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._models_py3 import BucketDefinition +from ._models_py3 import BucketPatchDefinition +from ._models_py3 import ComplianceStatus +from ._models_py3 import ErrorAdditionalInfo +from ._models_py3 import ErrorDetail +from ._models_py3 import ErrorResponse +from ._models_py3 import Extension +from ._models_py3 import ExtensionPropertiesAksAssignedIdentity +from ._models_py3 import ExtensionStatus +from ._models_py3 import ExtensionsList +from ._models_py3 import FluxConfiguration +from ._models_py3 import FluxConfigurationPatch +from ._models_py3 import FluxConfigurationsList +from ._models_py3 import GitRepositoryDefinition +from ._models_py3 import GitRepositoryPatchDefinition +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import HelmReleasePropertiesDefinition +from ._models_py3 import Identity +from ._models_py3 import KustomizationDefinition +from ._models_py3 import KustomizationPatchDefinition +from ._models_py3 import ObjectReferenceDefinition +from ._models_py3 import ObjectStatusConditionDefinition +from ._models_py3 import ObjectStatusDefinition +from ._models_py3 import OperationStatusList +from ._models_py3 import OperationStatusResult +from ._models_py3 import PatchExtension +from ._models_py3 import ProxyResource +from ._models_py3 import RepositoryRefDefinition +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Scope +from ._models_py3 import ScopeCluster +from ._models_py3 import ScopeNamespace +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SystemData + + +from ._source_control_configuration_client_enums import ( + AKSIdentityType, + ComplianceStateType, + CreatedByType, + FluxComplianceState, + KustomizationValidationType, + LevelType, + MessageLevelType, + OperatorScopeType, + OperatorType, + ProvisioningState, + ProvisioningStateType, + ScopeType, + SourceKindType, +) + +__all__ = [ + 'BucketDefinition', + 'BucketPatchDefinition', + 'ComplianceStatus', + 'ErrorAdditionalInfo', + 'ErrorDetail', + 'ErrorResponse', + 'Extension', + 'ExtensionPropertiesAksAssignedIdentity', + 'ExtensionStatus', + 'ExtensionsList', + 'FluxConfiguration', + 'FluxConfigurationPatch', + 'FluxConfigurationsList', + 'GitRepositoryDefinition', + 'GitRepositoryPatchDefinition', + 'HelmOperatorProperties', + 'HelmReleasePropertiesDefinition', + 'Identity', + 'KustomizationDefinition', + 'KustomizationPatchDefinition', + 'ObjectReferenceDefinition', + 'ObjectStatusConditionDefinition', + 'ObjectStatusDefinition', + 'OperationStatusList', + 'OperationStatusResult', + 'PatchExtension', + 'ProxyResource', + 'RepositoryRefDefinition', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', + 'Scope', + 'ScopeCluster', + 'ScopeNamespace', + 'SourceControlConfiguration', + 'SourceControlConfigurationList', + 'SystemData', + 'AKSIdentityType', + 'ComplianceStateType', + 'CreatedByType', + 'FluxComplianceState', + 'KustomizationValidationType', + 'LevelType', + 'MessageLevelType', + 'OperatorScopeType', + 'OperatorType', + 'ProvisioningState', + 'ProvisioningStateType', + 'ScopeType', + 'SourceKindType', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/_models_py3.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/_models_py3.py new file mode 100644 index 00000000000..0519413294b --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/_models_py3.py @@ -0,0 +1,2263 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import datetime +from typing import Dict, List, Optional, Union + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + +from ._source_control_configuration_client_enums import * + + +class BucketDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration S3 bucket. + :vartype url: str + :ivar bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :vartype bucket_name: str + :ivar insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :vartype insecure: bool + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar access_key: Plaintext access key used to securely access the S3 bucket. + :vartype access_key: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'bucket_name': {'key': 'bucketName', 'type': 'str'}, + 'insecure': {'key': 'insecure', 'type': 'bool'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'access_key': {'key': 'accessKey', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + bucket_name: Optional[str] = None, + insecure: Optional[bool] = True, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + access_key: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration S3 bucket. + :paramtype url: str + :keyword bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :paramtype bucket_name: str + :keyword insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :paramtype insecure: bool + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword access_key: Plaintext access key used to securely access the S3 bucket. + :paramtype access_key: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(BucketDefinition, self).__init__(**kwargs) + self.url = url + self.bucket_name = bucket_name + self.insecure = insecure + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.access_key = access_key + self.local_auth_ref = local_auth_ref + + +class BucketPatchDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration S3 bucket. + :vartype url: str + :ivar bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :vartype bucket_name: str + :ivar insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :vartype insecure: bool + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar access_key: Plaintext access key used to securely access the S3 bucket. + :vartype access_key: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'bucket_name': {'key': 'bucketName', 'type': 'str'}, + 'insecure': {'key': 'insecure', 'type': 'bool'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'access_key': {'key': 'accessKey', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + bucket_name: Optional[str] = None, + insecure: Optional[bool] = None, + timeout_in_seconds: Optional[int] = None, + sync_interval_in_seconds: Optional[int] = None, + access_key: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration S3 bucket. + :paramtype url: str + :keyword bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :paramtype bucket_name: str + :keyword insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :paramtype insecure: bool + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword access_key: Plaintext access key used to securely access the S3 bucket. + :paramtype access_key: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(BucketPatchDefinition, self).__init__(**kwargs) + self.url = url + self.bucket_name = bucket_name + self.insecure = insecure + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.access_key = access_key + self.local_auth_ref = local_auth_ref + + +class ComplianceStatus(msrest.serialization.Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar compliance_state: The compliance state of the configuration. Possible values include: + "Pending", "Compliant", "Noncompliant", "Installed", "Failed". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ComplianceStateType + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :vartype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.MessageLevelType + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__( + self, + *, + last_config_applied: Optional[datetime.datetime] = None, + message: Optional[str] = None, + message_level: Optional[Union[str, "MessageLevelType"]] = None, + **kwargs + ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.MessageLevelType + """ + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = last_config_applied + self.message = message + self.message_level = message_level + + +class ErrorAdditionalInfo(msrest.serialization.Model): + """The resource management error additional info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: The additional info type. + :vartype type: str + :ivar info: The additional info. + :vartype info: any + """ + + _validation = { + 'type': {'readonly': True}, + 'info': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'info': {'key': 'info', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ErrorAdditionalInfo, self).__init__(**kwargs) + self.type = None + self.info = None + + +class ErrorDetail(msrest.serialization.Model): + """The error detail. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + :ivar target: The error target. + :vartype target: str + :ivar details: The error details. + :vartype details: list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ErrorDetail] + :ivar additional_info: The error additional info. + :vartype additional_info: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ErrorAdditionalInfo] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'details': {'readonly': True}, + 'additional_info': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDetail]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ErrorDetail, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None + + +class ErrorResponse(msrest.serialization.Model): + """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). + + :ivar error: The error object. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ErrorDetail + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + error: Optional["ErrorDetail"] = None, + **kwargs + ): + """ + :keyword error: The error object. + :paramtype error: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ErrorDetail + """ + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class Resource(msrest.serialization.Model): + """Common fields that are returned in the response for all Azure Resource Manager 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. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class ProxyResource(Resource): + """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ProxyResource, self).__init__(**kwargs) + + +class Extension(ProxyResource): + """The Extension object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar identity: Identity of the Extension resource. + :vartype identity: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Identity + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SystemData + :ivar extension_type: Type of the Extension, of which this resource is an instance of. It must + be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :vartype extension_type: str + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + of minor version, or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :vartype version: str + :ivar scope: Scope at which the extension is installed. + :vartype scope: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Scope + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this + extension. + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :vartype configuration_protected_settings: dict[str, str] + :ivar provisioning_state: Status of installation of this extension. Possible values include: + "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ProvisioningState + :ivar statuses: Status from this extension. + :vartype statuses: list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ExtensionStatus] + :ivar error_info: Error information from the Agent - e.g. errors during installation. + :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ErrorDetail + :ivar custom_location_settings: Custom Location settings properties. + :vartype custom_location_settings: dict[str, str] + :ivar package_uri: Uri of the Helm package. + :vartype package_uri: str + :ivar aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :vartype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ExtensionPropertiesAksAssignedIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'error_info': {'readonly': True}, + 'custom_location_settings': {'readonly': True}, + 'package_uri': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'Scope'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ExtensionStatus]'}, + 'error_info': {'key': 'properties.errorInfo', 'type': 'ErrorDetail'}, + 'custom_location_settings': {'key': 'properties.customLocationSettings', 'type': '{str}'}, + 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, + 'aks_assigned_identity': {'key': 'properties.aksAssignedIdentity', 'type': 'ExtensionPropertiesAksAssignedIdentity'}, + } + + def __init__( + self, + *, + identity: Optional["Identity"] = None, + extension_type: Optional[str] = None, + auto_upgrade_minor_version: Optional[bool] = True, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + scope: Optional["Scope"] = None, + configuration_settings: Optional[Dict[str, str]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + statuses: Optional[List["ExtensionStatus"]] = None, + aks_assigned_identity: Optional["ExtensionPropertiesAksAssignedIdentity"] = None, + **kwargs + ): + """ + :keyword identity: Identity of the Extension resource. + :paramtype identity: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Identity + :keyword extension_type: Type of the Extension, of which this resource is an instance of. It + must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :paramtype extension_type: str + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword scope: Scope at which the extension is installed. + :paramtype scope: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Scope + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + :keyword statuses: Status from this extension. + :paramtype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ExtensionStatus] + :keyword aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :paramtype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ExtensionPropertiesAksAssignedIdentity + """ + super(Extension, self).__init__(**kwargs) + self.identity = identity + self.system_data = None + self.extension_type = extension_type + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + self.scope = scope + self.configuration_settings = configuration_settings + self.configuration_protected_settings = configuration_protected_settings + self.provisioning_state = None + self.statuses = statuses + self.error_info = None + self.custom_location_settings = None + self.package_uri = None + self.aks_assigned_identity = aks_assigned_identity + + +class ExtensionPropertiesAksAssignedIdentity(msrest.serialization.Model): + """Identity of the Extension resource in an AKS cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: The identity type. Possible values include: "SystemAssigned", "UserAssigned". + :vartype type: str or ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.AKSIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "AKSIdentityType"]] = None, + **kwargs + ): + """ + :keyword type: The identity type. Possible values include: "SystemAssigned", "UserAssigned". + :paramtype type: str or ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.AKSIdentityType + """ + super(ExtensionPropertiesAksAssignedIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class ExtensionsList(msrest.serialization.Model): + """Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Extensions within a Kubernetes cluster. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension] + :ivar next_link: URL to get the next set of extension objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Extension]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ExtensionsList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ExtensionStatus(msrest.serialization.Model): + """Status from the extension. + + :ivar code: Status code provided by the Extension. + :vartype code: str + :ivar display_status: Short description of status of the extension. + :vartype display_status: str + :ivar level: Level of the status. Possible values include: "Error", "Warning", "Information". + Default value: "Information". + :vartype level: str or ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.LevelType + :ivar message: Detailed message of the status from the Extension. + :vartype message: str + :ivar time: DateLiteral (per ISO8601) noting the time of installation status. + :vartype time: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'display_status': {'key': 'displayStatus', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + display_status: Optional[str] = None, + level: Optional[Union[str, "LevelType"]] = "Information", + message: Optional[str] = None, + time: Optional[str] = None, + **kwargs + ): + """ + :keyword code: Status code provided by the Extension. + :paramtype code: str + :keyword display_status: Short description of status of the extension. + :paramtype display_status: str + :keyword level: Level of the status. Possible values include: "Error", "Warning", + "Information". Default value: "Information". + :paramtype level: str or ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.LevelType + :keyword message: Detailed message of the status from the Extension. + :paramtype message: str + :keyword time: DateLiteral (per ISO8601) noting the time of installation status. + :paramtype time: str + """ + super(ExtensionStatus, self).__init__(**kwargs) + self.code = code + self.display_status = display_status + self.level = level + self.message = message + self.time = time + + +class FluxConfiguration(ProxyResource): + """The Flux Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SystemData + :ivar scope: Scope at which the operator will be installed. Possible values include: "cluster", + "namespace". Default value: "cluster". + :vartype scope: str or ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ScopeType + :ivar namespace: The namespace to which this configuration is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype namespace: str + :ivar source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :vartype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceKindType + :ivar suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :vartype suspend: bool + :ivar git_repository: Parameters to reconcile to the GitRepository source kind type. + :vartype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.GitRepositoryDefinition + :ivar bucket: Parameters to reconcile to the Bucket source kind type. + :vartype bucket: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.BucketDefinition + :ivar kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :vartype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.KustomizationDefinition] + :ivar configuration_protected_settings: Key-value pairs of protected configuration settings for + the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar statuses: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or + created by the managed objects provisioned by the fluxConfiguration. + :vartype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectStatusDefinition] + :ivar repository_public_key: Public Key associated with this fluxConfiguration (either + generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar source_synced_commit_id: Branch and/or SHA of the source commit synced with the cluster. + :vartype source_synced_commit_id: str + :ivar source_updated_at: Datetime the fluxConfiguration synced its source on the cluster. + :vartype source_updated_at: ~datetime.datetime + :ivar status_updated_at: Datetime the fluxConfiguration synced its status on the cluster with + Azure. + :vartype status_updated_at: ~datetime.datetime + :ivar compliance_state: Combined status of the Flux Kubernetes resources created by the + fluxConfiguration or created by the managed objects. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxComplianceState + :ivar provisioning_state: Status of the creation of the fluxConfiguration. Possible values + include: "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ProvisioningState + :ivar error_message: Error message returned to the user in the case of provisioning failure. + :vartype error_message: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'statuses': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'source_synced_commit_id': {'readonly': True}, + 'source_updated_at': {'readonly': True}, + 'status_updated_at': {'readonly': True}, + 'compliance_state': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'error_message': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'namespace': {'key': 'properties.namespace', 'type': 'str'}, + 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, + 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, + 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryDefinition'}, + 'bucket': {'key': 'properties.bucket', 'type': 'BucketDefinition'}, + 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationDefinition}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ObjectStatusDefinition]'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'source_synced_commit_id': {'key': 'properties.sourceSyncedCommitId', 'type': 'str'}, + 'source_updated_at': {'key': 'properties.sourceUpdatedAt', 'type': 'iso-8601'}, + 'status_updated_at': {'key': 'properties.statusUpdatedAt', 'type': 'iso-8601'}, + 'compliance_state': {'key': 'properties.complianceState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, + } + + def __init__( + self, + *, + scope: Optional[Union[str, "ScopeType"]] = "cluster", + namespace: Optional[str] = "default", + source_kind: Optional[Union[str, "SourceKindType"]] = None, + suspend: Optional[bool] = False, + git_repository: Optional["GitRepositoryDefinition"] = None, + bucket: Optional["BucketDefinition"] = None, + kustomizations: Optional[Dict[str, "KustomizationDefinition"]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :paramtype scope: str or ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ScopeType + :keyword namespace: The namespace to which this configuration is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :paramtype namespace: str + :keyword source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :paramtype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceKindType + :keyword suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :paramtype suspend: bool + :keyword git_repository: Parameters to reconcile to the GitRepository source kind type. + :paramtype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.GitRepositoryDefinition + :keyword bucket: Parameters to reconcile to the Bucket source kind type. + :paramtype bucket: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.BucketDefinition + :keyword kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :paramtype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.KustomizationDefinition] + :keyword configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(FluxConfiguration, self).__init__(**kwargs) + self.system_data = None + self.scope = scope + self.namespace = namespace + self.source_kind = source_kind + self.suspend = suspend + self.git_repository = git_repository + self.bucket = bucket + self.kustomizations = kustomizations + self.configuration_protected_settings = configuration_protected_settings + self.statuses = None + self.repository_public_key = None + self.source_synced_commit_id = None + self.source_updated_at = None + self.status_updated_at = None + self.compliance_state = None + self.provisioning_state = None + self.error_message = None + + +class FluxConfigurationPatch(msrest.serialization.Model): + """The Flux Configuration Patch Request object. + + :ivar source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :vartype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceKindType + :ivar suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :vartype suspend: bool + :ivar git_repository: Parameters to reconcile to the GitRepository source kind type. + :vartype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.GitRepositoryPatchDefinition + :ivar bucket: Parameters to reconcile to the Bucket source kind type. + :vartype bucket: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.BucketPatchDefinition + :ivar kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :vartype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.KustomizationPatchDefinition] + :ivar configuration_protected_settings: Key-value pairs of protected configuration settings for + the configuration. + :vartype configuration_protected_settings: dict[str, str] + """ + + _attribute_map = { + 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, + 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, + 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryPatchDefinition'}, + 'bucket': {'key': 'properties.bucket', 'type': 'BucketPatchDefinition'}, + 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationPatchDefinition}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + } + + def __init__( + self, + *, + source_kind: Optional[Union[str, "SourceKindType"]] = None, + suspend: Optional[bool] = None, + git_repository: Optional["GitRepositoryPatchDefinition"] = None, + bucket: Optional["BucketPatchDefinition"] = None, + kustomizations: Optional[Dict[str, "KustomizationPatchDefinition"]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :paramtype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceKindType + :keyword suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :paramtype suspend: bool + :keyword git_repository: Parameters to reconcile to the GitRepository source kind type. + :paramtype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.GitRepositoryPatchDefinition + :keyword bucket: Parameters to reconcile to the Bucket source kind type. + :paramtype bucket: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.BucketPatchDefinition + :keyword kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :paramtype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.KustomizationPatchDefinition] + :keyword configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(FluxConfigurationPatch, self).__init__(**kwargs) + self.source_kind = source_kind + self.suspend = suspend + self.git_repository = git_repository + self.bucket = bucket + self.kustomizations = kustomizations + self.configuration_protected_settings = configuration_protected_settings + + +class FluxConfigurationsList(msrest.serialization.Model): + """Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Flux Configurations within a Kubernetes cluster. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[FluxConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(FluxConfigurationsList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class GitRepositoryDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration git repository. + :vartype url: str + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar repository_ref: The source reference for the GitRepository object. + :vartype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.RepositoryRefDefinition + :ivar ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to + access private git repositories over SSH. + :vartype ssh_known_hosts: str + :ivar https_user: Plaintext HTTPS username used to access private git repositories over HTTPS. + :vartype https_user: str + :ivar https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :vartype https_ca_cert: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'repository_ref': {'key': 'repositoryRef', 'type': 'RepositoryRefDefinition'}, + 'ssh_known_hosts': {'key': 'sshKnownHosts', 'type': 'str'}, + 'https_user': {'key': 'httpsUser', 'type': 'str'}, + 'https_ca_cert': {'key': 'httpsCACert', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + repository_ref: Optional["RepositoryRefDefinition"] = None, + ssh_known_hosts: Optional[str] = None, + https_user: Optional[str] = None, + https_ca_cert: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration git repository. + :paramtype url: str + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword repository_ref: The source reference for the GitRepository object. + :paramtype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.RepositoryRefDefinition + :keyword ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required + to access private git repositories over SSH. + :paramtype ssh_known_hosts: str + :keyword https_user: Plaintext HTTPS username used to access private git repositories over + HTTPS. + :paramtype https_user: str + :keyword https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :paramtype https_ca_cert: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(GitRepositoryDefinition, self).__init__(**kwargs) + self.url = url + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.repository_ref = repository_ref + self.ssh_known_hosts = ssh_known_hosts + self.https_user = https_user + self.https_ca_cert = https_ca_cert + self.local_auth_ref = local_auth_ref + + +class GitRepositoryPatchDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration git repository. + :vartype url: str + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar repository_ref: The source reference for the GitRepository object. + :vartype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.RepositoryRefDefinition + :ivar ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to + access private git repositories over SSH. + :vartype ssh_known_hosts: str + :ivar https_user: Plaintext HTTPS username used to access private git repositories over HTTPS. + :vartype https_user: str + :ivar https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :vartype https_ca_cert: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'repository_ref': {'key': 'repositoryRef', 'type': 'RepositoryRefDefinition'}, + 'ssh_known_hosts': {'key': 'sshKnownHosts', 'type': 'str'}, + 'https_user': {'key': 'httpsUser', 'type': 'str'}, + 'https_ca_cert': {'key': 'httpsCACert', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + timeout_in_seconds: Optional[int] = None, + sync_interval_in_seconds: Optional[int] = None, + repository_ref: Optional["RepositoryRefDefinition"] = None, + ssh_known_hosts: Optional[str] = None, + https_user: Optional[str] = None, + https_ca_cert: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration git repository. + :paramtype url: str + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword repository_ref: The source reference for the GitRepository object. + :paramtype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.RepositoryRefDefinition + :keyword ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required + to access private git repositories over SSH. + :paramtype ssh_known_hosts: str + :keyword https_user: Plaintext HTTPS username used to access private git repositories over + HTTPS. + :paramtype https_user: str + :keyword https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :paramtype https_ca_cert: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(GitRepositoryPatchDefinition, self).__init__(**kwargs) + self.url = url + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.repository_ref = repository_ref + self.ssh_known_hosts = ssh_known_hosts + self.https_user = https_user + self.https_ca_cert = https_ca_cert + self.local_auth_ref = local_auth_ref + + +class HelmOperatorProperties(msrest.serialization.Model): + """Properties for Helm operator. + + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__( + self, + *, + chart_version: Optional[str] = None, + chart_values: Optional[str] = None, + **kwargs + ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = chart_version + self.chart_values = chart_values + + +class HelmReleasePropertiesDefinition(msrest.serialization.Model): + """Properties for HelmRelease objects. + + :ivar last_revision_applied: The revision number of the last released object change. + :vartype last_revision_applied: long + :ivar helm_chart_ref: The reference to the HelmChart object used as the source to this + HelmRelease. + :vartype helm_chart_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectReferenceDefinition + :ivar failure_count: Total number of times that the HelmRelease failed to install or upgrade. + :vartype failure_count: long + :ivar install_failure_count: Number of times that the HelmRelease failed to install. + :vartype install_failure_count: long + :ivar upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. + :vartype upgrade_failure_count: long + """ + + _attribute_map = { + 'last_revision_applied': {'key': 'lastRevisionApplied', 'type': 'long'}, + 'helm_chart_ref': {'key': 'helmChartRef', 'type': 'ObjectReferenceDefinition'}, + 'failure_count': {'key': 'failureCount', 'type': 'long'}, + 'install_failure_count': {'key': 'installFailureCount', 'type': 'long'}, + 'upgrade_failure_count': {'key': 'upgradeFailureCount', 'type': 'long'}, + } + + def __init__( + self, + *, + last_revision_applied: Optional[int] = None, + helm_chart_ref: Optional["ObjectReferenceDefinition"] = None, + failure_count: Optional[int] = None, + install_failure_count: Optional[int] = None, + upgrade_failure_count: Optional[int] = None, + **kwargs + ): + """ + :keyword last_revision_applied: The revision number of the last released object change. + :paramtype last_revision_applied: long + :keyword helm_chart_ref: The reference to the HelmChart object used as the source to this + HelmRelease. + :paramtype helm_chart_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectReferenceDefinition + :keyword failure_count: Total number of times that the HelmRelease failed to install or + upgrade. + :paramtype failure_count: long + :keyword install_failure_count: Number of times that the HelmRelease failed to install. + :paramtype install_failure_count: long + :keyword upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. + :paramtype upgrade_failure_count: long + """ + super(HelmReleasePropertiesDefinition, self).__init__(**kwargs) + self.last_revision_applied = last_revision_applied + self.helm_chart_ref = helm_chart_ref + self.failure_count = failure_count + self.install_failure_count = install_failure_count + self.upgrade_failure_count = upgrade_failure_count + + +class Identity(msrest.serialization.Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :vartype type: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[str] = None, + **kwargs + ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class KustomizationDefinition(msrest.serialization.Model): + """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the Kustomization, matching the key in the Kustomizations object map. + :vartype name: str + :ivar path: The path in the source reference to reconcile on the cluster. + :vartype path: str + :ivar depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :vartype depends_on: list[str] + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster. + :vartype sync_interval_in_seconds: long + :ivar retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster in the event of failure on reconciliation. + :vartype retry_interval_in_seconds: long + :ivar prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :vartype prune: bool + :ivar force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails + due to an immutable field change. + :vartype force: bool + """ + + _validation = { + 'name': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'path': {'key': 'path', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[str]'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, + 'prune': {'key': 'prune', 'type': 'bool'}, + 'force': {'key': 'force', 'type': 'bool'}, + } + + def __init__( + self, + *, + path: Optional[str] = "", + depends_on: Optional[List[str]] = None, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + retry_interval_in_seconds: Optional[int] = None, + prune: Optional[bool] = False, + force: Optional[bool] = False, + **kwargs + ): + """ + :keyword path: The path in the source reference to reconcile on the cluster. + :paramtype path: str + :keyword depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :paramtype depends_on: list[str] + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster. + :paramtype sync_interval_in_seconds: long + :keyword retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster in the event of failure on reconciliation. + :paramtype retry_interval_in_seconds: long + :keyword prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :paramtype prune: bool + :keyword force: Enable/disable re-creating Kubernetes resources on the cluster when patching + fails due to an immutable field change. + :paramtype force: bool + """ + super(KustomizationDefinition, self).__init__(**kwargs) + self.name = None + self.path = path + self.depends_on = depends_on + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.retry_interval_in_seconds = retry_interval_in_seconds + self.prune = prune + self.force = force + + +class KustomizationPatchDefinition(msrest.serialization.Model): + """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + + :ivar path: The path in the source reference to reconcile on the cluster. + :vartype path: str + :ivar depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :vartype depends_on: list[str] + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster. + :vartype sync_interval_in_seconds: long + :ivar retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster in the event of failure on reconciliation. + :vartype retry_interval_in_seconds: long + :ivar prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :vartype prune: bool + :ivar force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails + due to an immutable field change. + :vartype force: bool + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[str]'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, + 'prune': {'key': 'prune', 'type': 'bool'}, + 'force': {'key': 'force', 'type': 'bool'}, + } + + def __init__( + self, + *, + path: Optional[str] = None, + depends_on: Optional[List[str]] = None, + timeout_in_seconds: Optional[int] = None, + sync_interval_in_seconds: Optional[int] = None, + retry_interval_in_seconds: Optional[int] = None, + prune: Optional[bool] = None, + force: Optional[bool] = None, + **kwargs + ): + """ + :keyword path: The path in the source reference to reconcile on the cluster. + :paramtype path: str + :keyword depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :paramtype depends_on: list[str] + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster. + :paramtype sync_interval_in_seconds: long + :keyword retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster in the event of failure on reconciliation. + :paramtype retry_interval_in_seconds: long + :keyword prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :paramtype prune: bool + :keyword force: Enable/disable re-creating Kubernetes resources on the cluster when patching + fails due to an immutable field change. + :paramtype force: bool + """ + super(KustomizationPatchDefinition, self).__init__(**kwargs) + self.path = path + self.depends_on = depends_on + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.retry_interval_in_seconds = retry_interval_in_seconds + self.prune = prune + self.force = force + + +class ObjectReferenceDefinition(msrest.serialization.Model): + """Object reference to a Kubernetes object on a cluster. + + :ivar name: Name of the object. + :vartype name: str + :ivar namespace: Namespace of the object. + :vartype namespace: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword name: Name of the object. + :paramtype name: str + :keyword namespace: Namespace of the object. + :paramtype namespace: str + """ + super(ObjectReferenceDefinition, self).__init__(**kwargs) + self.name = name + self.namespace = namespace + + +class ObjectStatusConditionDefinition(msrest.serialization.Model): + """Status condition of Kubernetes object. + + :ivar last_transition_time: Last time this status condition has changed. + :vartype last_transition_time: ~datetime.datetime + :ivar message: A more verbose description of the object status condition. + :vartype message: str + :ivar reason: Reason for the specified status condition type status. + :vartype reason: str + :ivar status: Status of the Kubernetes object condition type. + :vartype status: str + :ivar type: Object status condition type for this object. + :vartype type: str + """ + + _attribute_map = { + 'last_transition_time': {'key': 'lastTransitionTime', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + last_transition_time: Optional[datetime.datetime] = None, + message: Optional[str] = None, + reason: Optional[str] = None, + status: Optional[str] = None, + type: Optional[str] = None, + **kwargs + ): + """ + :keyword last_transition_time: Last time this status condition has changed. + :paramtype last_transition_time: ~datetime.datetime + :keyword message: A more verbose description of the object status condition. + :paramtype message: str + :keyword reason: Reason for the specified status condition type status. + :paramtype reason: str + :keyword status: Status of the Kubernetes object condition type. + :paramtype status: str + :keyword type: Object status condition type for this object. + :paramtype type: str + """ + super(ObjectStatusConditionDefinition, self).__init__(**kwargs) + self.last_transition_time = last_transition_time + self.message = message + self.reason = reason + self.status = status + self.type = type + + +class ObjectStatusDefinition(msrest.serialization.Model): + """Statuses of objects deployed by the user-specified kustomizations from the git repository. + + :ivar name: Name of the applied object. + :vartype name: str + :ivar namespace: Namespace of the applied object. + :vartype namespace: str + :ivar kind: Kind of the applied object. + :vartype kind: str + :ivar compliance_state: Compliance state of the applied object showing whether the applied + object has come into a ready state on the cluster. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxComplianceState + :ivar applied_by: Object reference to the Kustomization that applied this object. + :vartype applied_by: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectReferenceDefinition + :ivar status_conditions: List of Kubernetes object status conditions present on the cluster. + :vartype status_conditions: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectStatusConditionDefinition] + :ivar helm_release_properties: Additional properties that are provided from objects of the + HelmRelease kind. + :vartype helm_release_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.HelmReleasePropertiesDefinition + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'applied_by': {'key': 'appliedBy', 'type': 'ObjectReferenceDefinition'}, + 'status_conditions': {'key': 'statusConditions', 'type': '[ObjectStatusConditionDefinition]'}, + 'helm_release_properties': {'key': 'helmReleaseProperties', 'type': 'HelmReleasePropertiesDefinition'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + namespace: Optional[str] = None, + kind: Optional[str] = None, + compliance_state: Optional[Union[str, "FluxComplianceState"]] = "Unknown", + applied_by: Optional["ObjectReferenceDefinition"] = None, + status_conditions: Optional[List["ObjectStatusConditionDefinition"]] = None, + helm_release_properties: Optional["HelmReleasePropertiesDefinition"] = None, + **kwargs + ): + """ + :keyword name: Name of the applied object. + :paramtype name: str + :keyword namespace: Namespace of the applied object. + :paramtype namespace: str + :keyword kind: Kind of the applied object. + :paramtype kind: str + :keyword compliance_state: Compliance state of the applied object showing whether the applied + object has come into a ready state on the cluster. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :paramtype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxComplianceState + :keyword applied_by: Object reference to the Kustomization that applied this object. + :paramtype applied_by: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectReferenceDefinition + :keyword status_conditions: List of Kubernetes object status conditions present on the cluster. + :paramtype status_conditions: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectStatusConditionDefinition] + :keyword helm_release_properties: Additional properties that are provided from objects of the + HelmRelease kind. + :paramtype helm_release_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.HelmReleasePropertiesDefinition + """ + super(ObjectStatusDefinition, self).__init__(**kwargs) + self.name = name + self.namespace = namespace + self.kind = kind + self.compliance_state = compliance_state + self.applied_by = applied_by + self.status_conditions = status_conditions + self.helm_release_properties = helm_release_properties + + +class OperationStatusList(msrest.serialization.Model): + """The async operations in progress, in the cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of async operations in progress, in the cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusResult] + :ivar next_link: URL to get the next set of Operation Result objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationStatusResult]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(OperationStatusList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class OperationStatusResult(msrest.serialization.Model): + """The current status of an async operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified ID for the async operation. + :vartype id: str + :ivar name: Name of the async operation. + :vartype name: str + :ivar status: Required. Operation status. + :vartype status: str + :ivar properties: Additional information, if available. + :vartype properties: dict[str, str] + :ivar error: If present, details of the operation error. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ErrorDetail + """ + + _validation = { + 'status': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + status: str, + id: Optional[str] = None, + name: Optional[str] = None, + properties: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword id: Fully qualified ID for the async operation. + :paramtype id: str + :keyword name: Name of the async operation. + :paramtype name: str + :keyword status: Required. Operation status. + :paramtype status: str + :keyword properties: Additional information, if available. + :paramtype properties: dict[str, str] + """ + super(OperationStatusResult, self).__init__(**kwargs) + self.id = id + self.name = name + self.status = status + self.properties = properties + self.error = None + + +class PatchExtension(msrest.serialization.Model): + """The Extension Patch Request object. + + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + of minor version, or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :vartype version: str + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this + extension. + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :vartype configuration_protected_settings: dict[str, str] + """ + + _attribute_map = { + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + } + + def __init__( + self, + *, + auto_upgrade_minor_version: Optional[bool] = True, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + configuration_settings: Optional[Dict[str, str]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(PatchExtension, self).__init__(**kwargs) + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + self.configuration_settings = configuration_settings + self.configuration_protected_settings = configuration_protected_settings + + +class RepositoryRefDefinition(msrest.serialization.Model): + """The source reference for the GitRepository object. + + :ivar branch: The git repository branch name to checkout. + :vartype branch: str + :ivar tag: The git repository tag name to checkout. This takes precedence over branch. + :vartype tag: str + :ivar semver: The semver range used to match against git repository tags. This takes precedence + over tag. + :vartype semver: str + :ivar commit: The commit SHA to checkout. This value must be combined with the branch name to + be valid. This takes precedence over semver. + :vartype commit: str + """ + + _attribute_map = { + 'branch': {'key': 'branch', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + 'semver': {'key': 'semver', 'type': 'str'}, + 'commit': {'key': 'commit', 'type': 'str'}, + } + + def __init__( + self, + *, + branch: Optional[str] = None, + tag: Optional[str] = None, + semver: Optional[str] = None, + commit: Optional[str] = None, + **kwargs + ): + """ + :keyword branch: The git repository branch name to checkout. + :paramtype branch: str + :keyword tag: The git repository tag name to checkout. This takes precedence over branch. + :paramtype tag: str + :keyword semver: The semver range used to match against git repository tags. This takes + precedence over tag. + :paramtype semver: str + :keyword commit: The commit SHA to checkout. This value must be combined with the branch name + to be valid. This takes precedence over semver. + :paramtype commit: str + """ + super(RepositoryRefDefinition, self).__init__(**kwargs) + self.branch = branch + self.tag = tag + self.semver = semver + self.commit = commit + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ResourceProviderOperationDisplay + :ivar is_data_action: The flag that indicates whether the operation applies to data plane. + :vartype is_data_action: bool + :ivar origin: Origin of the operation. + :vartype origin: str + """ + + _validation = { + 'is_data_action': {'readonly': True}, + 'origin': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'origin': {'key': 'origin', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + **kwargs + ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ResourceProviderOperationDisplay + """ + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + self.is_data_action = None + self.origin = None + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + provider: Optional[str] = None, + resource: Optional[str] = None, + operation: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of operations supported by this resource provider. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ResourceProviderOperation] + :ivar next_link: URL to the next set of results, if any. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceProviderOperation"]] = None, + **kwargs + ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ResourceProviderOperation] + """ + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class Scope(msrest.serialization.Model): + """Scope of the extension. It can be either Cluster or Namespace; but not both. + + :ivar cluster: Specifies that the scope of the extension is Cluster. + :vartype cluster: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ScopeCluster + :ivar namespace: Specifies that the scope of the extension is Namespace. + :vartype namespace: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ScopeNamespace + """ + + _attribute_map = { + 'cluster': {'key': 'cluster', 'type': 'ScopeCluster'}, + 'namespace': {'key': 'namespace', 'type': 'ScopeNamespace'}, + } + + def __init__( + self, + *, + cluster: Optional["ScopeCluster"] = None, + namespace: Optional["ScopeNamespace"] = None, + **kwargs + ): + """ + :keyword cluster: Specifies that the scope of the extension is Cluster. + :paramtype cluster: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ScopeCluster + :keyword namespace: Specifies that the scope of the extension is Namespace. + :paramtype namespace: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ScopeNamespace + """ + super(Scope, self).__init__(**kwargs) + self.cluster = cluster + self.namespace = namespace + + +class ScopeCluster(msrest.serialization.Model): + """Specifies that the scope of the extension is Cluster. + + :ivar release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :vartype release_namespace: str + """ + + _attribute_map = { + 'release_namespace': {'key': 'releaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + release_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :paramtype release_namespace: str + """ + super(ScopeCluster, self).__init__(**kwargs) + self.release_namespace = release_namespace + + +class ScopeNamespace(msrest.serialization.Model): + """Specifies that the scope of the extension is Namespace. + + :ivar target_namespace: Namespace where the extension will be created for an Namespace scoped + extension. If this namespace does not exist, it will be created. + :vartype target_namespace: str + """ + + _attribute_map = { + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + target_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword target_namespace: Namespace where the extension will be created for an Namespace + scoped extension. If this namespace does not exist, it will be created. + :paramtype target_namespace: str + """ + super(ScopeNamespace, self).__init__(**kwargs) + self.target_namespace = target_namespace + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SystemData + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperatorType + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :vartype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperatorScopeType + :ivar repository_public_key: Public Key associated with this SourceControl configuration + (either generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + required to access private Git instances. + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. Possible values + include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ProvisioningStateType + :ivar compliance_status: Compliance Status of the Configuration. + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__( + self, + *, + repository_url: Optional[str] = None, + operator_namespace: Optional[str] = "default", + operator_instance_name: Optional[str] = None, + operator_type: Optional[Union[str, "OperatorType"]] = None, + operator_params: Optional[str] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + operator_scope: Optional[Union[str, "OperatorScopeType"]] = "cluster", + ssh_known_hosts_contents: Optional[str] = None, + enable_helm_operator: Optional[bool] = None, + helm_operator_properties: Optional["HelmOperatorProperties"] = None, + **kwargs + ): + """ + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.HelmOperatorProperties + """ + super(SourceControlConfiguration, self).__init__(**kwargs) + self.system_data = None + self.repository_url = repository_url + self.operator_namespace = operator_namespace + self.operator_instance_name = operator_instance_name + self.operator_type = operator_type + self.operator_params = operator_params + self.configuration_protected_settings = configuration_protected_settings + self.operator_scope = operator_scope + self.repository_public_key = None + self.ssh_known_hosts_contents = ssh_known_hosts_contents + self.enable_helm_operator = enable_helm_operator + self.helm_operator_properties = helm_operator_properties + self.provisioning_state = None + self.compliance_status = None + + +class SourceControlConfigurationList(msrest.serialization.Model): + """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Source Control Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(SourceControlConfigurationList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.CreatedByType + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :vartype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.CreatedByType + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + created_by: Optional[str] = None, + created_by_type: Optional[Union[str, "CreatedByType"]] = None, + created_at: Optional[datetime.datetime] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None, + last_modified_at: Optional[datetime.datetime] = None, + **kwargs + ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ + super(SystemData, self).__init__(**kwargs) + self.created_by = created_by + self.created_by_type = created_by_type + self.created_at = created_at + self.last_modified_by = last_modified_by + self.last_modified_by_type = last_modified_by_type + self.last_modified_at = last_modified_at diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/_source_control_configuration_client_enums.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/_source_control_configuration_client_enums.py new file mode 100644 index 00000000000..928602199b0 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/_source_control_configuration_client_enums.py @@ -0,0 +1,121 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum +from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta + + +class AKSIdentityType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The identity type. + """ + + SYSTEM_ASSIGNED = "SystemAssigned" + USER_ASSIGNED = "UserAssigned" + +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The compliance state of the configuration. + """ + + PENDING = "Pending" + COMPLIANT = "Compliant" + NONCOMPLIANT = "Noncompliant" + INSTALLED = "Installed" + FAILED = "Failed" + +class CreatedByType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The type of identity that created the resource. + """ + + USER = "User" + APPLICATION = "Application" + MANAGED_IDENTITY = "ManagedIdentity" + KEY = "Key" + +class FluxComplianceState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Compliance state of the cluster object. + """ + + COMPLIANT = "Compliant" + NON_COMPLIANT = "Non-Compliant" + PENDING = "Pending" + SUSPENDED = "Suspended" + UNKNOWN = "Unknown" + +class KustomizationValidationType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Specify whether to validate the Kubernetes objects referenced in the Kustomization before + applying them to the cluster. + """ + + NONE = "none" + CLIENT = "client" + SERVER = "server" + +class LevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the status. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the message. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the operator will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Type of the operator + """ + + FLUX = "Flux" + +class ProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource. + """ + + SUCCEEDED = "Succeeded" + FAILED = "Failed" + CANCELED = "Canceled" + CREATING = "Creating" + UPDATING = "Updating" + DELETING = "Deleting" + +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource provider. + """ + + ACCEPTED = "Accepted" + DELETING = "Deleting" + RUNNING = "Running" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + +class ScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the configuration will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class SourceKindType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Source Kind to pull the configuration data from. + """ + + GIT_REPOSITORY = "GitRepository" + BUCKET = "Bucket" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/__init__.py new file mode 100644 index 00000000000..e18b201b5dc --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/__init__.py @@ -0,0 +1,23 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._flux_configurations_operations import FluxConfigurationsOperations +from ._flux_config_operation_status_operations import FluxConfigOperationStatusOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'ExtensionsOperations', + 'OperationStatusOperations', + 'FluxConfigurationsOperations', + 'FluxConfigOperationStatusOperations', + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_extensions_operations.py new file mode 100644 index 00000000000..5ebf5788b77 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_extensions_operations.py @@ -0,0 +1,829 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ExtensionsOperations(object): + """ExtensionsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def _create_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_create( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either Extension or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + def _update_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: + """Patch an existing Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param patch_extension: Properties to Patch in an existing Extension. + :type patch_extension: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.PatchExtension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either Extension or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + patch_extension=patch_extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_flux_config_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_flux_config_operation_status_operations.py new file mode 100644 index 00000000000..aa9a53eca61 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_flux_config_operation_status_operations.py @@ -0,0 +1,160 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class FluxConfigOperationStatusOperations(object): + """FluxConfigOperationStatusOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_flux_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_flux_configurations_operations.py new file mode 100644 index 00000000000..cb2bddb55aa --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_flux_configurations_operations.py @@ -0,0 +1,834 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class FluxConfigurationsOperations(object): + """FluxConfigurationsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any + ) -> "_models.FluxConfiguration": + """Gets details of the Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FluxConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + def _create_or_update_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration, 'FluxConfiguration') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_create_or_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> LROPoller["_models.FluxConfiguration"]: + """Create a new Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration: Properties necessary to Create a FluxConfiguration. + :type flux_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration=flux_configuration, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def _update_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> LROPoller["_models.FluxConfiguration"]: + """Update an existing Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration_patch: Properties to Patch in an existing Flux Configuration. + :type flux_configuration_patch: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfigurationPatch + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration_patch=flux_configuration_patch, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync + from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.FluxConfigurationsList"]: + """List all Flux Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FluxConfigurationsList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfigurationsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfigurationsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("FluxConfigurationsList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_operation_status_operations.py new file mode 100644 index 00000000000..74483698fc0 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_operation_status_operations.py @@ -0,0 +1,287 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class OperationStatusOperations(object): + """OperationStatusOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.OperationStatusList"]: + """List Async Operations, currently in progress, in a cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationStatusList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_operations.py new file mode 100644 index 00000000000..71758018e4f --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_operations.py @@ -0,0 +1,137 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class Operations(object): + """Operations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..300824b2190 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_source_control_configurations_operations.py @@ -0,0 +1,572 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class SourceControlConfigurationsOperations(object): + """SourceControlConfigurationsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/setup.py b/src/k8s-extension/setup.py index 464e9045fa5..c1ca69b66fa 100644 --- a/src/k8s-extension/setup.py +++ b/src/k8s-extension/setup.py @@ -33,7 +33,7 @@ # TODO: Add any additional SDK dependencies here DEPENDENCIES = [] -VERSION = "1.0.4" +VERSION = "1.1.0" with open("README.rst", "r", encoding="utf-8") as f: README = f.read() From ae5b97c807ced433e7e72cf0683491c7dd0152d1 Mon Sep 17 00:00:00 2001 From: Jonathan Innis Date: Wed, 30 Mar 2022 01:40:08 -0700 Subject: [PATCH 15/70] [k8s-configuration] Release v1.5.0 with updated api-version to 2022-03-01 for GA (#4587) * Create pull.yml * Update pull.yml * Update azure-pipelines.yml * Initial commit of k8s-extension * Update CODEOWNERS * Update azure-pipelines.yml * Create pull.yml * Update pull.yml * Update pull.yml * Update pipelines file * Update k8s-configuration name * Update test script params * Update pipeline file * Remove codeowners * Update pipelines file * Update CODEOWNERS * Update private preview pipelines * Remove open service mesh from public release * Update pipeline files * Update custom pipelines files * Add publish step to k8s-configuration * Update pipeline to publish extension * Update public extension pipeline * Change condition variable * Update pipeline naming * Add version to public preview/private preview * Update pipelines * Add different testing based on private branch * Add annotations to extension model * Update k8s-custom-pipelines.yml * Update SDKs with Updated Swagger Spec for 2020-07-01-preview (#13) * Update sdks with updated swagger spec * Update version and history rst * Reorder release history timeline * Fix ExtensionInstanceForCreate for import * remove py2 bdist support * Add custom table formatting * Remove unnecessary files * Fix style issues * Fix branch based on comments * Update identity piece manually * Don't handle defaults at the CLI level * Remove defaults from CLI client * Check null target namespace with namespace scope * Update style * Add cassandra operator and location to model * Stage Public Version of k8s-extension 0.2.0 for official release (#15) * Create pull.yml * Update pull.yml * Update azure-pipelines.yml * Initial commit of k8s-extension * Update pipelines file * Update CODEOWNERS * Update private preview pipelines * Remove open service mesh from public release * Update pipeline files * Update public extension pipeline * Change condition variable * Add version to public preview/private preview * Update pipelines * Add different testing based on private branch * Add annotations to extension model * Update k8s-custom-pipelines.yml * Update SDKs with Updated Swagger Spec for 2020-07-01-preview (#13) * Update sdks with updated swagger spec * Update version and history rst * Reorder release history timeline * Fix ExtensionInstanceForCreate for import * remove py2 bdist support * Add custom table formatting * Remove unnecessary files * Fix style issues * Fix branch based on comments * Update identity piece manually * Don't handle defaults at the CLI level * Remove defaults from CLI client * Check null target namespace with namespace scope * Update style * Add cassandra operator and location to model Co-authored-by: action@github.com * Remove custom pipelines file * Update extension description, remove private const * Update pipeline file * Disable check ref docs * Disable refs docs * Update to include better create warning logs and remove update context (#20) * Update to include better create warning logs and remove update context * Remove help text for update * Fix spelling error * Update message * Fix k8s-extension conflict with private version * Fix style errors * Fix filename * add customization for microsoft.azureml.kubernetes (#23) * add customization for microsoft.azureml.kubernetes * Update release history Co-authored-by: Yue Yu Co-authored-by: jonathan-innis * Add E2E Testing from Separate branch into internal code (#26) * Add internal e2e testing * Change to testing folder * Inference CLI validation for Scoring FE (#24) * cli validation starter * added the call to the fe validation function * nodeport validation not required * test fix Co-authored-by: Jonathan Innis * legal warning added (#27) * Remove deprecated method logger.warn * Update k8s-custom-pipelines.yml for Azure Pipelines * Update k8s-custom-pipelines.yml for Azure Pipelines * Add Azure Defender to E2E testing (#28) * Add azure defender testing to e2e * Remove the debug flag * Add configuration testing * Fix pipeline failures * Make test script more intuitive * Remove parameter from testing * Add some debug * Fix wrong location for k8s config whl * Fix pip install upgrade issue * Fix pip install upgrade issue * Add Check for Provider Registration and Refactor (#19) * Add check for provider registration and refactor * Fix bug in checking registration * Add license header to utils * Update private key check and error messaging * Update based on refactoring * Fix failing tests * Add provider registration check * Create a test for uppercase url, address comments * Add blank line to fix style check * Testing increase to ubuntu-latest * Update k8s-configuration Models to Track2 (#63) * Update models to track2 * Increase k8s-configuration version number * Update kind version * Change error to warning because of DSA failure * Upgrade helm operator chart version (#75) * Pin helm version * Bump version * Migrate pipeline (#90) * Disable updates on configuration tests (#89) * Release k8s-configuration v1.2.0 for Flux v2 Public Preview (#86) * Scaffold out the k8s-config package * Base implementation of CLI commands * Add create scenario and cleanup in consts * Add help text to commands, params * Add other clients to client factory * Automatically installing the flux extension * Move flux and extension into modules * Updated the versioned sdks * Push working command for testing * Update to multi api versioned sdk * Support other extension methods * Fix nullity check * Add source control provider * Add scc commands * Add defer logic for create with cache * Use default extension with identity * Fix identity creation * Add kustomization caching * Add formatters * Add scc provider * Add help text for k8s-config fluxv1 * Add help text for extension * Allow force delete of extension and fluxconfiguration * Add location to the extension model * Update with latest from k8s-extension * Add k8s-config testing * Add license header * Fix all style issues * Update codeowners file * Validate data before checking cluster compliance * No kustomizations warning * Fix identity issue in 2020-07-01 * Fix k8s regex * Fix configuration name regex validation * Fix name length validation * Adding some validation warnings * Add protected settings to request * Exclude private test path * Add suspend functionality * Add correct values to build Kustomization * Add no_wait * Fix style issues * Use base64 encoded httpsUser * Fix formatting error and base64 encoding error * Fix style issues * Fix force * Updated help text * Style fixes * Increase namespace maximum len * Add managed cluster support to k8s-config * Custom confirmation when prune is enabled * Add flux commands to existing k8s-configuration * Remove extension provider from CLI * Fix style issues * Override extension variables * Strip newlines from known_hosts file * Update help text and validators * Strip newlines from known hosts * Add provisioning state check for flux extension * Pin helm version * Remove validation from create command * Add patch support with new SDK * Add implementation for CRUD of source and kustomization * Fix errors on patch * Fix some bugs in patching properties * Add fixes for patch in k8s-configuraiton * Change duration formatting in table output * Add validation and conversion for durations * Bump verison and fix typo * Fix bug with dependencies * Fix linter and style issues * Fix delete prune check * Add flux testing * Create separate jobs for scenarios * Update error text * Fix filepath suggestion from CLI team * Fix unneeded file edit * Add a Deployed Object List to the Flux CLI (#91) * Enable a deployed object list on the CLI * Show detail when extension install fails * Bump version * Update deployed object format (#93) * Fix help text for consistency * Enable Bucket Support in the CLI (#92) * Update vendored_sdks * Enable source kind generation factories and use kwargs to pass to provider * Add better validation logic to source generator * Move away from classes in the provider directory * Fix style issues using black auto-formatter * Fix linter failures * Update identity with api version and rp in same function * Bucket Testing for E2E Testing (#96) * Bucket testing * Add switching kind test to update CLI * Bump version * Fix help text and parameter naming for bucket (#100) * Fix default help text for parameters (#101) * Edit history with breaking change * Prepare GA FluxConfiguration 2022-03-01 (#103) * Add vendored sdks for new api-version * Update the new depends on definition * Update table formatting * BucketDefinition to BucketPatchDefinition * Remove http url warning * Update vendored_sdks * Update action file to add depenencies * Remove preview from command groups * Update changelog * Make dependencies none when not specified * Remove unneeded files Co-authored-by: action@github.com Co-authored-by: yuyue9284 <15863499+yuyue9284@users.noreply.github.com> Co-authored-by: Yue Yu Co-authored-by: Lia Kazakova <58274127+liakaz@users.noreply.github.com> --- src/k8s-configuration/HISTORY.rst | 5 + .../azext_k8s_configuration/action.py | 18 +- .../azext_k8s_configuration/commands.py | 3 - .../azext_k8s_configuration/consts.py | 8 +- .../azext_k8s_configuration/format.py | 10 +- .../providers/FluxConfigurationProvider.py | 26 +- .../SourceControlConfigurationProvider.py | 2 +- .../test_k8s_configuration_success.yaml | 509 +++- .../test_kubernetesconfiguration_scenario.py | 8 +- .../azext_k8s_configuration/utils.py | 2 + .../azext_k8s_configuration/validators.py | 2 - .../vendored_sdks/_configuration.py | 4 +- .../_source_control_configuration_client.py | 34 +- .../vendored_sdks/_version.py | 2 +- .../vendored_sdks/aio/_configuration.py | 4 +- .../_source_control_configuration_client.py | 35 +- .../vendored_sdks/models.py | 4 +- .../v2020_07_01_preview/__init__.py | 9 +- .../v2020_07_01_preview/_configuration.py | 19 +- .../v2020_07_01_preview/_patch.py | 31 + .../_source_control_configuration_client.py | 98 +- .../v2020_07_01_preview/_vendor.py | 27 + .../v2020_07_01_preview/aio/__init__.py | 5 + .../v2020_07_01_preview/aio/_configuration.py | 6 +- .../v2020_07_01_preview/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 86 +- .../aio/operations/_extensions_operations.py | 262 +- .../aio/operations/_operations.py | 50 +- ...ource_control_configurations_operations.py | 241 +- .../v2020_07_01_preview/models/__init__.py | 66 +- .../v2020_07_01_preview/models/_models.py | 817 ------ .../v2020_07_01_preview/models/_models_py3.py | 394 ++- ...urce_control_configuration_client_enums.py | 39 +- .../operations/_extensions_operations.py | 572 +++-- .../operations/_operations.py | 91 +- ...ource_control_configurations_operations.py | 499 ++-- .../v2020_10_01_preview/__init__.py | 9 +- .../v2020_10_01_preview/_configuration.py | 19 +- .../v2020_10_01_preview/_patch.py | 31 + .../_source_control_configuration_client.py | 91 +- .../v2020_10_01_preview/_vendor.py | 27 + .../v2020_10_01_preview/aio/__init__.py | 5 + .../v2020_10_01_preview/aio/_configuration.py | 6 +- .../v2020_10_01_preview/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 79 +- .../aio/operations/_operations.py | 50 +- ...ource_control_configurations_operations.py | 241 +- .../v2020_10_01_preview/models/__init__.py | 42 +- .../v2020_10_01_preview/models/_models.py | 506 ---- .../v2020_10_01_preview/models/_models_py3.py | 213 +- ...urce_control_configuration_client_enums.py | 33 +- .../operations/_operations.py | 91 +- ...ource_control_configurations_operations.py | 499 ++-- .../vendored_sdks/v2021_03_01/__init__.py | 9 +- .../v2021_03_01/_configuration.py | 19 +- .../vendored_sdks/v2021_03_01/_patch.py | 31 + .../_source_control_configuration_client.py | 88 +- .../vendored_sdks/v2021_03_01/_vendor.py | 27 + .../vendored_sdks/v2021_03_01/aio/__init__.py | 5 + .../v2021_03_01/aio/_configuration.py | 6 +- .../vendored_sdks/v2021_03_01/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 76 +- .../v2021_03_01/aio/operations/_operations.py | 50 +- ...ource_control_configurations_operations.py | 235 +- .../v2021_03_01/models/__init__.py | 42 +- .../v2021_03_01/models/_models.py | 495 ---- .../v2021_03_01/models/_models_py3.py | 232 +- ...urce_control_configuration_client_enums.py | 35 +- .../v2021_03_01/operations/_operations.py | 91 +- ...ource_control_configurations_operations.py | 493 ++-- .../v2021_05_01_preview/__init__.py | 9 +- .../v2021_05_01_preview/_configuration.py | 19 +- .../v2021_05_01_preview/_patch.py | 31 + .../_source_control_configuration_client.py | 132 +- .../v2021_05_01_preview/_vendor.py | 27 + .../v2021_05_01_preview/aio/__init__.py | 5 + .../v2021_05_01_preview/aio/_configuration.py | 6 +- .../v2021_05_01_preview/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 120 +- .../_cluster_extension_type_operations.py | 47 +- .../_cluster_extension_types_operations.py | 64 +- .../_extension_type_versions_operations.py | 64 +- .../aio/operations/_extensions_operations.py | 268 +- .../_location_extension_types_operations.py | 58 +- .../_operation_status_operations.py | 114 +- .../aio/operations/_operations.py | 50 +- ...ource_control_configurations_operations.py | 241 +- .../v2021_05_01_preview/models/__init__.py | 87 +- .../v2021_05_01_preview/models/_models.py | 1056 -------- .../v2021_05_01_preview/models/_models_py3.py | 477 +++- ...urce_control_configuration_client_enums.py | 43 +- .../_cluster_extension_type_operations.py | 115 +- .../_cluster_extension_types_operations.py | 123 +- .../_extension_type_versions_operations.py | 119 +- .../operations/_extensions_operations.py | 548 ++-- .../_location_extension_types_operations.py | 109 +- .../_operation_status_operations.py | 233 +- .../operations/_operations.py | 91 +- ...ource_control_configurations_operations.py | 499 ++-- .../vendored_sdks/v2021_09_01/__init__.py | 9 +- .../v2021_09_01/_configuration.py | 19 +- .../vendored_sdks/v2021_09_01/_patch.py | 31 + .../_source_control_configuration_client.py | 92 +- .../vendored_sdks/v2021_09_01/_vendor.py | 27 + .../vendored_sdks/v2021_09_01/aio/__init__.py | 5 + .../v2021_09_01/aio/_configuration.py | 6 +- .../vendored_sdks/v2021_09_01/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 80 +- .../aio/operations/_extensions_operations.py | 358 ++- .../_operation_status_operations.py | 114 +- .../v2021_09_01/aio/operations/_operations.py | 50 +- .../v2021_09_01/models/__init__.py | 63 +- .../v2021_09_01/models/_models.py | 739 ------ .../v2021_09_01/models/_models_py3.py | 349 ++- ...urce_control_configuration_client_enums.py | 29 +- .../operations/_extensions_operations.py | 719 ++++-- .../_operation_status_operations.py | 233 +- .../v2021_09_01/operations/_operations.py | 91 +- .../v2021_11_01_preview/__init__.py | 9 +- .../v2021_11_01_preview/_configuration.py | 19 +- .../v2021_11_01_preview/_patch.py | 31 + .../_source_control_configuration_client.py | 148 +- .../v2021_11_01_preview/_vendor.py | 27 + .../v2021_11_01_preview/aio/__init__.py | 5 + .../v2021_11_01_preview/aio/_configuration.py | 6 +- .../v2021_11_01_preview/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 134 +- .../_cluster_extension_type_operations.py | 50 +- .../_cluster_extension_types_operations.py | 70 +- .../_extension_type_versions_operations.py | 64 +- .../aio/operations/_extensions_operations.py | 361 ++- ...flux_config_operation_status_operations.py | 52 +- .../_flux_configurations_operations.py | 371 ++- .../_location_extension_types_operations.py | 58 +- .../_operation_status_operations.py | 114 +- .../aio/operations/_operations.py | 50 +- ...ource_control_configurations_operations.py | 241 +- .../v2021_11_01_preview/models/__init__.py | 126 +- .../v2021_11_01_preview/models/_models.py | 1639 ------------ .../v2021_11_01_preview/models/_models_py3.py | 917 +++++-- ...urce_control_configuration_client_enums.py | 49 +- .../_cluster_extension_type_operations.py | 118 +- .../_cluster_extension_types_operations.py | 133 +- .../_extension_type_versions_operations.py | 119 +- .../operations/_extensions_operations.py | 722 ++++-- ...flux_config_operation_status_operations.py | 124 +- .../_flux_configurations_operations.py | 738 ++++-- .../_location_extension_types_operations.py | 109 +- .../_operation_status_operations.py | 233 +- .../operations/_operations.py | 91 +- ...ource_control_configurations_operations.py | 499 ++-- .../v2022_01_01_preview/__init__.py | 9 +- .../v2022_01_01_preview/_configuration.py | 19 +- .../v2022_01_01_preview/_patch.py | 31 + .../_source_control_configuration_client.py | 148 +- .../v2022_01_01_preview/_vendor.py | 27 + .../v2022_01_01_preview/aio/__init__.py | 5 + .../v2022_01_01_preview/aio/_configuration.py | 6 +- .../v2022_01_01_preview/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 134 +- .../_cluster_extension_type_operations.py | 57 +- .../_cluster_extension_types_operations.py | 77 +- .../_extension_type_versions_operations.py | 64 +- .../aio/operations/_extensions_operations.py | 404 ++- ...flux_config_operation_status_operations.py | 59 +- .../_flux_configurations_operations.py | 410 ++- .../_location_extension_types_operations.py | 58 +- .../_operation_status_operations.py | 128 +- .../aio/operations/_operations.py | 50 +- ...ource_control_configurations_operations.py | 273 +- .../v2022_01_01_preview/models/__init__.py | 146 +- .../v2022_01_01_preview/models/_models.py | 1836 ------------- .../v2022_01_01_preview/models/_models_py3.py | 1132 +++++--- ...urce_control_configuration_client_enums.py | 57 +- .../_cluster_extension_type_operations.py | 121 +- .../_cluster_extension_types_operations.py | 136 +- .../_extension_type_versions_operations.py | 119 +- .../operations/_extensions_operations.py | 733 ++++-- ...flux_config_operation_status_operations.py | 127 +- .../_flux_configurations_operations.py | 745 ++++-- .../_location_extension_types_operations.py | 109 +- .../_operation_status_operations.py | 239 +- .../operations/_operations.py | 91 +- ...ource_control_configurations_operations.py | 511 ++-- .../vendored_sdks/v2022_03_01/__init__.py | 18 + .../v2022_03_01/_configuration.py | 68 + .../vendored_sdks/v2022_03_01/_patch.py | 31 + .../_source_control_configuration_client.py | 113 + .../vendored_sdks/v2022_03_01/_vendor.py | 27 + .../vendored_sdks/v2022_03_01/_version.py | 9 + .../vendored_sdks/v2022_03_01/aio/__init__.py | 15 + .../v2022_03_01/aio/_configuration.py | 67 + .../vendored_sdks/v2022_03_01/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 110 + .../v2022_03_01/aio/operations/__init__.py | 23 + .../aio/operations/_extensions_operations.py | 604 +++++ ...flux_config_operation_status_operations.py | 115 + .../_flux_configurations_operations.py | 607 +++++ .../_operation_status_operations.py | 204 ++ .../v2022_03_01/aio/operations/_operations.py | 111 + ...ource_control_configurations_operations.py | 399 +++ .../v2022_03_01/models/__init__.py | 117 + .../v2022_03_01/models/_models_py3.py | 2268 +++++++++++++++++ ...urce_control_configuration_client_enums.py | 121 + .../v2022_03_01/operations/__init__.py | 23 + .../operations/_extensions_operations.py | 829 ++++++ ...flux_config_operation_status_operations.py | 160 ++ .../_flux_configurations_operations.py | 834 ++++++ .../_operation_status_operations.py | 287 +++ .../v2022_03_01/operations/_operations.py | 137 + ...ource_control_configurations_operations.py | 572 +++++ src/k8s-configuration/setup.py | 2 +- 212 files changed, 22729 insertions(+), 16511 deletions(-) create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/_patch.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/_vendor.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/_patch.py delete mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/models/_models.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/_patch.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/_vendor.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/_patch.py delete mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/models/_models.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/_patch.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/_vendor.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/_patch.py delete mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/models/_models.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/_patch.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/_vendor.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/_patch.py delete mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/models/_models.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/_patch.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/_vendor.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/_patch.py delete mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/models/_models.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/_patch.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/_vendor.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/_patch.py delete mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/_models.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_patch.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_vendor.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/_patch.py delete mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_models.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/__init__.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/_configuration.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/_patch.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/_source_control_configuration_client.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/_vendor.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/_version.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/__init__.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/_configuration.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/_patch.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/_source_control_configuration_client.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/__init__.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_extensions_operations.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_flux_config_operation_status_operations.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_flux_configurations_operations.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_operation_status_operations.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_operations.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/models/__init__.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/models/_models_py3.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/models/_source_control_configuration_client_enums.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/__init__.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_extensions_operations.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_flux_config_operation_status_operations.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_flux_configurations_operations.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_operation_status_operations.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_operations.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_source_control_configurations_operations.py diff --git a/src/k8s-configuration/HISTORY.rst b/src/k8s-configuration/HISTORY.rst index 4c8d242171b..150f337dd9a 100644 --- a/src/k8s-configuration/HISTORY.rst +++ b/src/k8s-configuration/HISTORY.rst @@ -3,6 +3,11 @@ Release History =============== +1.5.0 +++++++++++++++++++ +* Update models to 2022-03-01 for GA +* Remove unneeded warning for HTTPS urls + 1.4.1 ++++++++++++++++++ * [BREAKING CHANGE] `--access-key` changed to `--bucket-access-key` diff --git a/src/k8s-configuration/azext_k8s_configuration/action.py b/src/k8s-configuration/azext_k8s_configuration/action.py index 7bc2d460742..cc3347eed0c 100644 --- a/src/k8s-configuration/azext_k8s_configuration/action.py +++ b/src/k8s-configuration/azext_k8s_configuration/action.py @@ -6,10 +6,9 @@ import argparse from azure.cli.core.azclierror import InvalidArgumentValueError -from .vendored_sdks.v2022_01_01_preview.models import ( +from .vendored_sdks.v2022_03_01.models import ( KustomizationDefinition, KustomizationPatchDefinition, - DependsOnDefinition, ) from .validators import validate_kustomization from . import consts @@ -18,18 +17,19 @@ class InternalKustomizationDefinition(KustomizationDefinition): def __init__(self, **kwargs): - self.name = kwargs.get("name", "") super().__init__(**kwargs) + # This call is after the call to super() to override the init method + # making the self.name field null + self.name = kwargs.get("name", "") + def to_KustomizationDefinition(self): k_dict = dict(self.__dict__) - del k_dict["name"] del k_dict["additional_properties"] return KustomizationDefinition(**k_dict) def to_KustomizationPatchDefinition(self): k_dict = dict(self.__dict__) - del k_dict["name"] del k_dict["additional_properties"] return KustomizationPatchDefinition(**k_dict) @@ -37,7 +37,7 @@ def to_KustomizationPatchDefinition(self): class KustomizationAddAction(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): validate_kustomization(values) - model_dependency = [] + dependencies = None sync_interval = None retry_interval = None timeout = None @@ -47,10 +47,6 @@ def __call__(self, parser, namespace, values, option_string=None): key, value = item.split("=", 1) if key in consts.DEPENDENCY_KEYS: dependencies = parse_dependencies(value) - for dep in dependencies: - model_dependency.append( - DependsOnDefinition(kustomization_name=dep) - ) elif key in consts.SYNC_INTERVAL_KEYS: sync_interval = value elif key in consts.RETRY_INTERVAL_KEYS: @@ -67,7 +63,7 @@ def __call__(self, parser, namespace, values, option_string=None): parser, namespace, InternalKustomizationDefinition( - depends_on=model_dependency, + depends_on=dependencies, sync_interval_in_seconds=parse_duration(sync_interval), retry_interval_in_seconds=parse_duration(retry_interval), timeout_in_seconds=parse_duration(timeout), diff --git a/src/k8s-configuration/azext_k8s_configuration/commands.py b/src/k8s-configuration/azext_k8s_configuration/commands.py index e42cc830b7b..70451092c37 100644 --- a/src/k8s-configuration/azext_k8s_configuration/commands.py +++ b/src/k8s-configuration/azext_k8s_configuration/commands.py @@ -36,7 +36,6 @@ def load_command_table(self, _): "k8s-configuration flux", k8s_configuration_fluxconfig_client, custom_command_type=flux_configuration_custom_type, - is_preview=True, ) as g: g.custom_command("create", "create_config", supports_no_wait=True) g.custom_command("update", "update_config", supports_no_wait=True) @@ -52,7 +51,6 @@ def load_command_table(self, _): "k8s-configuration flux kustomization", k8s_configuration_fluxconfig_client, custom_command_type=flux_configuration_custom_type, - is_preview=True, ) as g: g.custom_command("create", "create_kustomization", supports_no_wait=True) g.custom_command("update", "update_kustomization", supports_no_wait=True) @@ -72,7 +70,6 @@ def load_command_table(self, _): "k8s-configuration flux deployed-object", k8s_configuration_fluxconfig_client, custom_command_type=flux_configuration_custom_type, - is_preview=True, ) as g: g.custom_command( "list", diff --git a/src/k8s-configuration/azext_k8s_configuration/consts.py b/src/k8s-configuration/azext_k8s_configuration/consts.py index 192f62d6335..a4210dd61e9 100644 --- a/src/k8s-configuration/azext_k8s_configuration/consts.py +++ b/src/k8s-configuration/azext_k8s_configuration/consts.py @@ -7,9 +7,9 @@ # API VERSIONS ----------------------------------------- -SOURCE_CONTROL_API_VERSION = "2021-03-01" -FLUXCONFIG_API_VERSION = "2022-01-01-preview" -EXTENSION_API_VERSION = "2021-09-01" +SOURCE_CONTROL_API_VERSION = "2022-03-01" +FLUXCONFIG_API_VERSION = "2022-03-01" +EXTENSION_API_VERSION = "2022-03-01" # ERROR/HELP TEXT DEFINITIONS ----------------------------------------- @@ -161,8 +161,6 @@ FLUX_EXTENSION_CREATING_ERROR = "Error! 'Microsoft.Flux' extension is currently installing on the cluster. Unable to proceed with Flux v2 configuration install." FLUX_EXTENSION_CREATING_HELP = "Try again in a few minutes when the 'Microsoft.Flux' extension installation has completed." -HTTP_URL_NO_AUTH_WARNING = "Warning! https url is being used without https auth params, ensure the repository url provided is not a private repo" - NO_KUSTOMIZATIONS_WARNING = "Warning! No kustomizations were specified for this configuration. A kustomization will be generated with the default name 'kustomization-1'." DEFAULT_KUSTOMIZATION_NAME = "kustomization-1" diff --git a/src/k8s-configuration/azext_k8s_configuration/format.py b/src/k8s-configuration/azext_k8s_configuration/format.py index 01d729e7244..a7477a60bc5 100644 --- a/src/k8s-configuration/azext_k8s_configuration/format.py +++ b/src/k8s-configuration/azext_k8s_configuration/format.py @@ -44,7 +44,8 @@ def __get_fluxconfig_table_row(result): ("scope", result["scope"]), ("provisioningState", result["provisioningState"]), ("complianceState", result["complianceState"]), - ("lastSourceUpdatedAt", result["lastSourceUpdatedAt"]), + ("statusUpdatedAt", result["statusUpdatedAt"]), + ("sourceUpdatedAt", result["sourceUpdatedAt"]), ] ) @@ -58,16 +59,11 @@ def fluxconfig_kustomization_show_table_format(results): def __get_fluxconfig_kustomization_table_row(key, value): - deps = [] - for dep in value.get("dependsOn") or []: - if dep.get("kustomizationName"): - deps.append(dep["kustomizationName"]) - return OrderedDict( [ ("name", key), ("path", value["path"]), - ("dependsOn", ",".join(deps)), + ("dependsOn", ",".join(value.get("dependsOn") or [])), ("syncInterval", format_duration(value["syncIntervalInSeconds"])), ("timeout", format_duration(value["timeoutInSeconds"])), ("prune", value["prune"]), diff --git a/src/k8s-configuration/azext_k8s_configuration/providers/FluxConfigurationProvider.py b/src/k8s-configuration/azext_k8s_configuration/providers/FluxConfigurationProvider.py index 7b86396501b..e0a99697efa 100644 --- a/src/k8s-configuration/azext_k8s_configuration/providers/FluxConfigurationProvider.py +++ b/src/k8s-configuration/azext_k8s_configuration/providers/FluxConfigurationProvider.py @@ -46,19 +46,19 @@ validate_url_with_params, ) from .. import consts -from ..vendored_sdks.v2022_01_01_preview.models import ( +from ..vendored_sdks.v2022_03_01.models import ( FluxConfiguration, FluxConfigurationPatch, GitRepositoryDefinition, GitRepositoryPatchDefinition, BucketDefinition, + BucketPatchDefinition, RepositoryRefDefinition, KustomizationDefinition, KustomizationPatchDefinition, - DependsOnDefinition, SourceKindType, ) -from ..vendored_sdks.v2021_09_01.models import Extension, Identity +from ..vendored_sdks.v2022_03_01.models import Extension, Identity logger = get_logger(__name__) @@ -384,17 +384,10 @@ def create_kustomization( consts.CREATE_KUSTOMIZATION_EXIST_HELP, ) - # Add the dependencies in their model to the kustomization - model_dependencies = None - if dependencies: - model_dependencies = [] - for dep in parse_dependencies(dependencies): - model_dependencies.append(DependsOnDefinition(kustomization_name=dep)) - kustomization = { kustomization_name: KustomizationPatchDefinition( path=path, - depends_on=model_dependencies, + depends_on=parse_dependencies(dependencies), timeout_in_seconds=parse_duration(timeout), sync_interval_in_seconds=parse_duration(sync_interval), retry_interval_in_seconds=parse_duration(retry_interval), @@ -451,17 +444,10 @@ def update_kustomization( consts.UPDATE_KUSTOMIZATION_NO_EXIST_HELP, ) - # Add the dependencies in their model to the kustomization - model_dependencies = None - if dependencies: - model_dependencies = [] - for dep in parse_dependencies(dependencies): - model_dependencies.append(DependsOnDefinition(kustomization_name=dep)) - kustomization = { kustomization_name: KustomizationPatchDefinition( path=path, - depends_on=model_dependencies, + depends_on=parse_dependencies(dependencies), timeout_in_seconds=parse_duration(timeout), sync_interval_in_seconds=parse_duration(sync_interval), retry_interval_in_seconds=parse_duration(retry_interval), @@ -1015,7 +1001,7 @@ def generate_patch_update_func(self, swapped_kind): def bucket_patch_updater(config): if any(kwarg is not None for kwarg in self.kwargs.values()): - config.bucket = BucketDefinition( + config.bucket = BucketPatchDefinition( url=self.url, bucket_name=self.bucket_name, timeout_in_seconds=parse_duration(self.timeout), diff --git a/src/k8s-configuration/azext_k8s_configuration/providers/SourceControlConfigurationProvider.py b/src/k8s-configuration/azext_k8s_configuration/providers/SourceControlConfigurationProvider.py index 7209a12730b..7687a61e8d4 100644 --- a/src/k8s-configuration/azext_k8s_configuration/providers/SourceControlConfigurationProvider.py +++ b/src/k8s-configuration/azext_k8s_configuration/providers/SourceControlConfigurationProvider.py @@ -20,7 +20,7 @@ ) from .. import consts -from ..vendored_sdks.v2021_03_01.models import ( +from ..vendored_sdks.v2022_03_01.models import ( HelmOperatorProperties, SourceControlConfiguration, ) diff --git a/src/k8s-configuration/azext_k8s_configuration/tests/latest/recordings/test_k8s_configuration_success.yaml b/src/k8s-configuration/azext_k8s_configuration/tests/latest/recordings/test_k8s_configuration_success.yaml index 41ea5533cf5..4298d1af54b 100644 --- a/src/k8s-configuration/azext_k8s_configuration/tests/latest/recordings/test_k8s_configuration_success.yaml +++ b/src/k8s-configuration/azext_k8s_configuration/tests/latest/recordings/test_k8s_configuration_success.yaml @@ -13,17 +13,73 @@ interactions: ParameterSetName: - -g -c -n --cluster-type User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.9.6 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.9.6 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_recordings_testing/providers/Microsoft.Kubernetes/connectedClusters/test-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration","namespace":"Microsoft.KubernetesConfiguration","authorizations":[{"applicationId":"c699bf69-fb1d-4eaf-999b-99e6b2ae4d85","roleDefinitionId":"90155430-a360-410f-af5d-89dc284d85c6"},{"applicationId":"03db181c-e9d3-4868-9097-f0b728327182","roleDefinitionId":"DE2ADB97-42D8-49C8-8FCF-DBB53EF936AC"},{"applicationId":"a0f92522-89de-4c5e-9a75-0044ccf66efd","roleDefinitionId":"b3429810-7d5c-420e-8605-cf280f3099f2"},{"applicationId":"bd9b7cd5-dac1-495f-b013-ac871e98fa5f","roleDefinitionId":"0d44c8f0-08b9-44d4-9f59-e51c83f95200"}],"resourceTypes":[{"resourceType":"sourceControlConfigurations","locations":["East + US","West Europe","West Central US","West US 2","West US 3","South Central + US","East US 2","North Europe","UK South","Southeast Asia","Australia East","France + Central","Central US","North Central US","West US","Korea Central","East Asia","Japan + East","East US 2 EUAP"],"apiVersions":["2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"defaultApiVersion":"2021-03-01","capabilities":"SupportsExtension"},{"resourceType":"extensions","locations":["East + US","West Europe","West Central US","West US 2","West US 3","South Central + US","East US 2","North Europe","UK South","Southeast Asia","Australia East","France + Central","Central US","North Central US","West US","Korea Central","East Asia","Japan + East","East US 2 EUAP"],"apiVersions":["2021-09-01","2021-05-01-preview","2020-07-01-preview"],"capabilities":"SystemAssignedResourceIdentity, + SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview","2021-12-01-preview","2021-11-01-preview","2021-09-01","2021-06-01-preview","2021-05-01-preview","2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"capabilities":"None"},{"resourceType":"fluxConfigurations","locations":["East + US 2 EUAP","East US","West Europe","West Central US","West US 2","West US + 3","South Central US","East US 2","North Europe","UK South","Southeast Asia","Australia + East","France Central","Central US","North Central US","West US","Korea Central","East + Asia","Japan East"],"apiVersions":["2022-01-01-preview","2021-11-01-preview","2021-06-01-preview"],"defaultApiVersion":"2022-01-01-preview","capabilities":"SupportsExtension"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '2448' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Mar 2022 18:25:52 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8s-configuration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0 Python/3.9.6 + (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config?api-version=2022-03-01 response: body: string: '{"error":{"code":"ResourceNotFound","message":"SourceControlConfiguration with name ''test-config'' not found."}}' headers: api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01, 2021-05-01-preview + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01, 2021-05-01-preview, + 2022-03-01 cache-control: - no-cache content-length: @@ -31,7 +87,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 08 Sep 2021 19:26:43 GMT + - Tue, 08 Mar 2022 18:25:53 GMT expires: - '-1' pragma: @@ -59,34 +115,34 @@ interactions: --operator-params --git-readonly --ssh-private-key --ssh-known-hosts --enable-helm-operator --helm-operator-chart-version --helm-operator-params --set git.ssh.secretName User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.9.6 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.9.6 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration?api-version=2021-04-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration","namespace":"Microsoft.KubernetesConfiguration","authorizations":[{"applicationId":"c699bf69-fb1d-4eaf-999b-99e6b2ae4d85","roleDefinitionId":"90155430-a360-410f-af5d-89dc284d85c6"},{"applicationId":"03db181c-e9d3-4868-9097-f0b728327182","roleDefinitionId":"DE2ADB97-42D8-49C8-8FCF-DBB53EF936AC"},{"applicationId":"a0f92522-89de-4c5e-9a75-0044ccf66efd","roleDefinitionId":"b3429810-7d5c-420e-8605-cf280f3099f2"},{"applicationId":"bd9b7cd5-dac1-495f-b013-ac871e98fa5f","roleDefinitionId":"0d44c8f0-08b9-44d4-9f59-e51c83f95200"}],"resourceTypes":[{"resourceType":"sourceControlConfigurations","locations":["East - US","West Europe","West Central US","West US 2","South Central US","East US - 2","North Europe","UK South","Southeast Asia","Australia East","France Central","Central - US","North Central US","West US","Korea Central","East Asia","Japan East","East - US 2 EUAP"],"apiVersions":["2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"defaultApiVersion":"2021-03-01","capabilities":"SupportsExtension"},{"resourceType":"extensions","locations":["East - US","West Europe","West Central US","West US 2","South Central US","East US - 2","North Europe","UK South","Southeast Asia","Australia East","France Central","Central - US","North Central US","West US","Korea Central","East Asia","Japan East","East - US 2 EUAP"],"apiVersions":["2021-05-01-preview","2020-07-01-preview"],"capabilities":"SystemAssignedResourceIdentity, - SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2021-06-01-preview","2021-05-01-preview","2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"capabilities":"None"},{"resourceType":"fluxConfigurations","locations":["East - US 2 EUAP","East US","West Europe","West Central US","West US 2","South Central + US","West Europe","West Central US","West US 2","West US 3","South Central + US","East US 2","North Europe","UK South","Southeast Asia","Australia East","France + Central","Central US","North Central US","West US","Korea Central","East Asia","Japan + East","East US 2 EUAP"],"apiVersions":["2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"defaultApiVersion":"2021-03-01","capabilities":"SupportsExtension"},{"resourceType":"extensions","locations":["East + US","West Europe","West Central US","West US 2","West US 3","South Central US","East US 2","North Europe","UK South","Southeast Asia","Australia East","France Central","Central US","North Central US","West US","Korea Central","East Asia","Japan - East"],"apiVersions":["2021-06-01-preview"],"defaultApiVersion":"2021-06-01-preview","capabilities":"SupportsExtension"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + East","East US 2 EUAP"],"apiVersions":["2021-09-01","2021-05-01-preview","2020-07-01-preview"],"capabilities":"SystemAssignedResourceIdentity, + SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview","2021-12-01-preview","2021-11-01-preview","2021-09-01","2021-06-01-preview","2021-05-01-preview","2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"capabilities":"None"},{"resourceType":"fluxConfigurations","locations":["East + US 2 EUAP","East US","West Europe","West Central US","West US 2","West US + 3","South Central US","East US 2","North Europe","UK South","Southeast Asia","Australia + East","France Central","Central US","North Central US","West US","Korea Central","East + Asia","Japan East"],"apiVersions":["2022-01-01-preview","2021-11-01-preview","2021-06-01-preview"],"defaultApiVersion":"2022-01-01-preview","capabilities":"SupportsExtension"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' headers: cache-control: - no-cache content-length: - - '2268' + - '2448' content-type: - application/json; charset=utf-8 date: - - Wed, 08 Sep 2021 19:26:44 GMT + - Tue, 08 Mar 2022 18:25:53 GMT expires: - '-1' pragma: @@ -127,29 +183,30 @@ interactions: --operator-params --git-readonly --ssh-private-key --ssh-known-hosts --enable-helm-operator --helm-operator-chart-version --helm-operator-params --set git.ssh.secretName User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.9.6 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0 Python/3.9.6 + (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_recordings_testing/providers/Microsoft.Kubernetes/connectedClusters/test-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config?api-version=2022-03-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_recordings_testing/providers/Microsoft.Kubernetes/connectedClusters/test-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config","name":"test-config","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"test-config-namespace","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-test-config-name --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"test-config-name","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-09-08T19:26:46.585496+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-09-08T19:26:46.585496+00:00"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config","name":"test-config","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"test-config-namespace","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-test-config-name --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"test-config-name","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2022-03-08T18:25:56.7211078+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2022-03-08T18:25:56.7211078+00:00"}}' headers: api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01, 2021-05-01-preview + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01, 2021-05-01-preview, + 2022-03-01 cache-control: - no-cache content-length: - - '1857' + - '1850' content-type: - application/json; charset=utf-8 date: - - Wed, 08 Sep 2021 19:26:46 GMT + - Tue, 08 Mar 2022 18:25:55 GMT expires: - '-1' location: - - file:///subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_recordings_testing/providers/Microsoft.Kubernetes/connectedClusters/test-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config + - file:///subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config pragma: - no-cache strict-transport-security: @@ -175,25 +232,81 @@ interactions: ParameterSetName: - -g -c -n --cluster-type User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.9.6 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.9.6 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_recordings_testing/providers/Microsoft.Kubernetes/connectedClusters/test-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration?api-version=2021-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_recordings_testing/providers/Microsoft.Kubernetes/connectedClusters/test-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config","name":"test-config","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"test-config-namespace","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - git.ssh.secretName=gitops-privatekey-test-config-name --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"test-config-name","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-09-08T19:26:46.585496+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-09-08T19:26:46.585496+00:00"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration","namespace":"Microsoft.KubernetesConfiguration","authorizations":[{"applicationId":"c699bf69-fb1d-4eaf-999b-99e6b2ae4d85","roleDefinitionId":"90155430-a360-410f-af5d-89dc284d85c6"},{"applicationId":"03db181c-e9d3-4868-9097-f0b728327182","roleDefinitionId":"DE2ADB97-42D8-49C8-8FCF-DBB53EF936AC"},{"applicationId":"a0f92522-89de-4c5e-9a75-0044ccf66efd","roleDefinitionId":"b3429810-7d5c-420e-8605-cf280f3099f2"},{"applicationId":"bd9b7cd5-dac1-495f-b013-ac871e98fa5f","roleDefinitionId":"0d44c8f0-08b9-44d4-9f59-e51c83f95200"}],"resourceTypes":[{"resourceType":"sourceControlConfigurations","locations":["East + US","West Europe","West Central US","West US 2","West US 3","South Central + US","East US 2","North Europe","UK South","Southeast Asia","Australia East","France + Central","Central US","North Central US","West US","Korea Central","East Asia","Japan + East","East US 2 EUAP"],"apiVersions":["2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"defaultApiVersion":"2021-03-01","capabilities":"SupportsExtension"},{"resourceType":"extensions","locations":["East + US","West Europe","West Central US","West US 2","West US 3","South Central + US","East US 2","North Europe","UK South","Southeast Asia","Australia East","France + Central","Central US","North Central US","West US","Korea Central","East Asia","Japan + East","East US 2 EUAP"],"apiVersions":["2021-09-01","2021-05-01-preview","2020-07-01-preview"],"capabilities":"SystemAssignedResourceIdentity, + SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview","2021-12-01-preview","2021-11-01-preview","2021-09-01","2021-06-01-preview","2021-05-01-preview","2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"capabilities":"None"},{"resourceType":"fluxConfigurations","locations":["East + US 2 EUAP","East US","West Europe","West Central US","West US 2","West US + 3","South Central US","East US 2","North Europe","UK South","Southeast Asia","Australia + East","France Central","Central US","North Central US","West US","Korea Central","East + Asia","Japan East"],"apiVersions":["2022-01-01-preview","2021-11-01-preview","2021-06-01-preview"],"defaultApiVersion":"2022-01-01-preview","capabilities":"SupportsExtension"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '2448' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Mar 2022 18:25:56 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8s-configuration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0 Python/3.9.6 + (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config?api-version=2022-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config","name":"test-config","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"test-config-namespace","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + git.ssh.secretName=gitops-privatekey-test-config-name --set tillerNamespace=kube-system"},"repositoryUrl":"git://github.com/anubhav929/flux-get-started","operatorInstanceName":"test-config-name","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"Z2l0b3BzLWJpdGJ1Y2tldC10ZXN0LXNlcnZlci5lYXN0dXMuY2xvdWRhcHAuYXp1cmUuY29tIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQytNT0w3bjk2aGs3emVmMDNwak9vMGF3UENISkZ4NU04TjJ2L2tvODgvc202Y2VzOFljdnYyL0hoUlhRSFZHRUxqZjNuTXVGSVJPMEdMdTFabFNreGRUTUhGcXBxYzFjcUM2R3kveUJXRGM1SWFwWnJBMXFxeSsrZVdpelAzQXdMbWsrMUhXWGdtcHljZUtYNU9vd3VNT3cwd3RYRUdTcDhtVk0wV2VpUzEwWnZ5ZVVKK04zbkNvczMyWDhIeVpnc1pMUS9zSTB4NXN6ODQ2am5JZEFOckZsYU9MUTJ1ejRUa0M2ekNvd3lIdzlLWXJ5V2hJZDAraCt5SXQ5dUtqVHZsWFNpdm1ISjViZzdUWWlkbnFtbjI0UGE4WnFpbTE5UGszUjg0cW9qclVmYm1XT3VwUjdYNXZVVWZqYzhERFRxa3FnRmkxcWdVdE1mWGlMRXErZFVa","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2022-03-08T18:25:56.7211078+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2022-03-08T18:25:56.7211078+00:00"}}' headers: api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01, 2021-05-01-preview + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01, 2021-05-01-preview, + 2022-03-01 cache-control: - no-cache content-length: - - '1857' + - '1850' content-type: - application/json; charset=utf-8 date: - - Wed, 08 Sep 2021 19:26:46 GMT + - Tue, 08 Mar 2022 18:25:58 GMT expires: - '-1' pragma: @@ -209,6 +322,61 @@ interactions: status: code: 200 message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8s-configuration delete + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type -y + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.9.6 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration","namespace":"Microsoft.KubernetesConfiguration","authorizations":[{"applicationId":"c699bf69-fb1d-4eaf-999b-99e6b2ae4d85","roleDefinitionId":"90155430-a360-410f-af5d-89dc284d85c6"},{"applicationId":"03db181c-e9d3-4868-9097-f0b728327182","roleDefinitionId":"DE2ADB97-42D8-49C8-8FCF-DBB53EF936AC"},{"applicationId":"a0f92522-89de-4c5e-9a75-0044ccf66efd","roleDefinitionId":"b3429810-7d5c-420e-8605-cf280f3099f2"},{"applicationId":"bd9b7cd5-dac1-495f-b013-ac871e98fa5f","roleDefinitionId":"0d44c8f0-08b9-44d4-9f59-e51c83f95200"}],"resourceTypes":[{"resourceType":"sourceControlConfigurations","locations":["East + US","West Europe","West Central US","West US 2","West US 3","South Central + US","East US 2","North Europe","UK South","Southeast Asia","Australia East","France + Central","Central US","North Central US","West US","Korea Central","East Asia","Japan + East","East US 2 EUAP"],"apiVersions":["2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"defaultApiVersion":"2021-03-01","capabilities":"SupportsExtension"},{"resourceType":"extensions","locations":["East + US","West Europe","West Central US","West US 2","West US 3","South Central + US","East US 2","North Europe","UK South","Southeast Asia","Australia East","France + Central","Central US","North Central US","West US","Korea Central","East Asia","Japan + East","East US 2 EUAP"],"apiVersions":["2021-09-01","2021-05-01-preview","2020-07-01-preview"],"capabilities":"SystemAssignedResourceIdentity, + SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview","2021-12-01-preview","2021-11-01-preview","2021-09-01","2021-06-01-preview","2021-05-01-preview","2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"capabilities":"None"},{"resourceType":"fluxConfigurations","locations":["East + US 2 EUAP","East US","West Europe","West Central US","West US 2","West US + 3","South Central US","East US 2","North Europe","UK South","Southeast Asia","Australia + East","France Central","Central US","North Central US","West US","Korea Central","East + Asia","Japan East"],"apiVersions":["2022-01-01-preview","2021-11-01-preview","2021-06-01-preview"],"defaultApiVersion":"2022-01-01-preview","capabilities":"SupportsExtension"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '2448' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Mar 2022 18:25:58 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK - request: body: null headers: @@ -225,16 +393,17 @@ interactions: ParameterSetName: - -g -c -n --cluster-type -y User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.9.6 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0 Python/3.9.6 + (Windows-10-10.0.22000-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_recordings_testing/providers/Microsoft.Kubernetes/connectedClusters/test-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config?api-version=2022-03-01 response: body: string: '{"content":null,"statusCode":200,"headers":[],"version":"1.1","reasonPhrase":"OK","trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' headers: api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01, 2021-05-01-preview + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01, 2021-05-01-preview, + 2022-03-01 cache-control: - no-cache content-length: @@ -242,7 +411,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 08 Sep 2021 19:26:47 GMT + - Tue, 08 Mar 2022 18:25:59 GMT expires: - '-1' pragma: @@ -274,17 +443,73 @@ interactions: ParameterSetName: - -g -c -n --cluster-type User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.9.6 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.9.6 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_recordings_testing/providers/Microsoft.Kubernetes/connectedClusters/test-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config2?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration","namespace":"Microsoft.KubernetesConfiguration","authorizations":[{"applicationId":"c699bf69-fb1d-4eaf-999b-99e6b2ae4d85","roleDefinitionId":"90155430-a360-410f-af5d-89dc284d85c6"},{"applicationId":"03db181c-e9d3-4868-9097-f0b728327182","roleDefinitionId":"DE2ADB97-42D8-49C8-8FCF-DBB53EF936AC"},{"applicationId":"a0f92522-89de-4c5e-9a75-0044ccf66efd","roleDefinitionId":"b3429810-7d5c-420e-8605-cf280f3099f2"},{"applicationId":"bd9b7cd5-dac1-495f-b013-ac871e98fa5f","roleDefinitionId":"0d44c8f0-08b9-44d4-9f59-e51c83f95200"}],"resourceTypes":[{"resourceType":"sourceControlConfigurations","locations":["East + US","West Europe","West Central US","West US 2","West US 3","South Central + US","East US 2","North Europe","UK South","Southeast Asia","Australia East","France + Central","Central US","North Central US","West US","Korea Central","East Asia","Japan + East","East US 2 EUAP"],"apiVersions":["2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"defaultApiVersion":"2021-03-01","capabilities":"SupportsExtension"},{"resourceType":"extensions","locations":["East + US","West Europe","West Central US","West US 2","West US 3","South Central + US","East US 2","North Europe","UK South","Southeast Asia","Australia East","France + Central","Central US","North Central US","West US","Korea Central","East Asia","Japan + East","East US 2 EUAP"],"apiVersions":["2021-09-01","2021-05-01-preview","2020-07-01-preview"],"capabilities":"SystemAssignedResourceIdentity, + SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview","2021-12-01-preview","2021-11-01-preview","2021-09-01","2021-06-01-preview","2021-05-01-preview","2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"capabilities":"None"},{"resourceType":"fluxConfigurations","locations":["East + US 2 EUAP","East US","West Europe","West Central US","West US 2","West US + 3","South Central US","East US 2","North Europe","UK South","Southeast Asia","Australia + East","France Central","Central US","North Central US","West US","Korea Central","East + Asia","Japan East"],"apiVersions":["2022-01-01-preview","2021-11-01-preview","2021-06-01-preview"],"defaultApiVersion":"2022-01-01-preview","capabilities":"SupportsExtension"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '2448' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Mar 2022 18:25:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8s-configuration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0 Python/3.9.6 + (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config2?api-version=2022-03-01 response: body: string: '{"error":{"code":"ResourceNotFound","message":"SourceControlConfiguration with name ''test-config2'' not found."}}' headers: api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01, 2021-05-01-preview + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01, 2021-05-01-preview, + 2022-03-01 cache-control: - no-cache content-length: @@ -292,7 +517,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 08 Sep 2021 19:26:48 GMT + - Tue, 08 Mar 2022 18:26:01 GMT expires: - '-1' pragma: @@ -320,34 +545,34 @@ interactions: --operator-params --git-readonly --https-user --https-key --enable-helm-operator --helm-operator-chart-version --helm-operator-params --set tillerNamespace User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.9.6 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.9.6 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration?api-version=2021-04-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration","namespace":"Microsoft.KubernetesConfiguration","authorizations":[{"applicationId":"c699bf69-fb1d-4eaf-999b-99e6b2ae4d85","roleDefinitionId":"90155430-a360-410f-af5d-89dc284d85c6"},{"applicationId":"03db181c-e9d3-4868-9097-f0b728327182","roleDefinitionId":"DE2ADB97-42D8-49C8-8FCF-DBB53EF936AC"},{"applicationId":"a0f92522-89de-4c5e-9a75-0044ccf66efd","roleDefinitionId":"b3429810-7d5c-420e-8605-cf280f3099f2"},{"applicationId":"bd9b7cd5-dac1-495f-b013-ac871e98fa5f","roleDefinitionId":"0d44c8f0-08b9-44d4-9f59-e51c83f95200"}],"resourceTypes":[{"resourceType":"sourceControlConfigurations","locations":["East - US","West Europe","West Central US","West US 2","South Central US","East US - 2","North Europe","UK South","Southeast Asia","Australia East","France Central","Central - US","North Central US","West US","Korea Central","East Asia","Japan East","East - US 2 EUAP"],"apiVersions":["2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"defaultApiVersion":"2021-03-01","capabilities":"SupportsExtension"},{"resourceType":"extensions","locations":["East - US","West Europe","West Central US","West US 2","South Central US","East US - 2","North Europe","UK South","Southeast Asia","Australia East","France Central","Central - US","North Central US","West US","Korea Central","East Asia","Japan East","East - US 2 EUAP"],"apiVersions":["2021-05-01-preview","2020-07-01-preview"],"capabilities":"SystemAssignedResourceIdentity, - SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2021-06-01-preview","2021-05-01-preview","2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"capabilities":"None"},{"resourceType":"fluxConfigurations","locations":["East - US 2 EUAP","East US","West Europe","West Central US","West US 2","South Central + US","West Europe","West Central US","West US 2","West US 3","South Central + US","East US 2","North Europe","UK South","Southeast Asia","Australia East","France + Central","Central US","North Central US","West US","Korea Central","East Asia","Japan + East","East US 2 EUAP"],"apiVersions":["2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"defaultApiVersion":"2021-03-01","capabilities":"SupportsExtension"},{"resourceType":"extensions","locations":["East + US","West Europe","West Central US","West US 2","West US 3","South Central US","East US 2","North Europe","UK South","Southeast Asia","Australia East","France Central","Central US","North Central US","West US","Korea Central","East Asia","Japan - East"],"apiVersions":["2021-06-01-preview"],"defaultApiVersion":"2021-06-01-preview","capabilities":"SupportsExtension"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + East","East US 2 EUAP"],"apiVersions":["2021-09-01","2021-05-01-preview","2020-07-01-preview"],"capabilities":"SystemAssignedResourceIdentity, + SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview","2021-12-01-preview","2021-11-01-preview","2021-09-01","2021-06-01-preview","2021-05-01-preview","2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"capabilities":"None"},{"resourceType":"fluxConfigurations","locations":["East + US 2 EUAP","East US","West Europe","West Central US","West US 2","West US + 3","South Central US","East US 2","North Europe","UK South","Southeast Asia","Australia + East","France Central","Central US","North Central US","West US","Korea Central","East + Asia","Japan East"],"apiVersions":["2022-01-01-preview","2021-11-01-preview","2021-06-01-preview"],"defaultApiVersion":"2022-01-01-preview","capabilities":"SupportsExtension"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' headers: cache-control: - no-cache content-length: - - '2268' + - '2448' content-type: - application/json; charset=utf-8 date: - - Wed, 08 Sep 2021 19:26:49 GMT + - Tue, 08 Mar 2022 18:26:01 GMT expires: - '-1' pragma: @@ -366,9 +591,8 @@ interactions: "operatorNamespace": "test-config2-namespace", "operatorInstanceName": "test-config2-name", "operatorType": "flux", "operatorParams": "--git-readonly ", "configurationProtectedSettings": {"httpsUser": "ZmFrZS11c2VybmFtZQ==", "httpsKey": "ZmFrZXBhc3N3b3JkdGhhdGl3b3VsZHVzZWZvcmdpdGh1Yg=="}, - "operatorScope": "namespace", "sshKnownHostsContents": "", "enableHelmOperator": - true, "helmOperatorProperties": {"chartVersion": "1.2.0", "chartValues": "--set - tillerNamespace=kube-system"}}}' + "operatorScope": "namespace", "enableHelmOperator": true, "helmOperatorProperties": + {"chartVersion": "1.2.0", "chartValues": "--set tillerNamespace=kube-system"}}}' headers: Accept: - application/json @@ -379,7 +603,7 @@ interactions: Connection: - keep-alive Content-Length: - - '590' + - '561' Content-Type: - application/json ParameterSetName: @@ -387,29 +611,30 @@ interactions: --operator-params --git-readonly --https-user --https-key --enable-helm-operator --helm-operator-chart-version --helm-operator-params --set tillerNamespace User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.9.6 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0 Python/3.9.6 + (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_recordings_testing/providers/Microsoft.Kubernetes/connectedClusters/test-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config2?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config2?api-version=2022-03-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_recordings_testing/providers/Microsoft.Kubernetes/connectedClusters/test-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config2","name":"test-config2","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"test-config2-namespace","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"test-config2-name","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-09-08T19:26:51.6588187+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-09-08T19:26:51.6588187+00:00"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config2","name":"test-config2","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"test-config2-namespace","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"test-config2-name","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2022-03-08T18:26:03.7133511+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2022-03-08T18:26:03.7133511+00:00"}}' headers: api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01, 2021-05-01-preview + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01, 2021-05-01-preview, + 2022-03-01 cache-control: - no-cache content-length: - - '1250' + - '1243' content-type: - application/json; charset=utf-8 date: - - Wed, 08 Sep 2021 19:26:51 GMT + - Tue, 08 Mar 2022 18:26:03 GMT expires: - '-1' location: - - file:///subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_recordings_testing/providers/Microsoft.Kubernetes/connectedClusters/test-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config2 + - file:///subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config2 pragma: - no-cache strict-transport-security: @@ -435,25 +660,81 @@ interactions: ParameterSetName: - -g -c -n --cluster-type User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.9.6 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.9.6 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_recordings_testing/providers/Microsoft.Kubernetes/connectedClusters/test-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config2?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration?api-version=2021-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_recordings_testing/providers/Microsoft.Kubernetes/connectedClusters/test-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config2","name":"test-config2","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"test-config2-namespace","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set - tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"test-config2-name","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":"","configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-09-08T19:26:51.6588187+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-09-08T19:26:51.6588187+00:00"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration","namespace":"Microsoft.KubernetesConfiguration","authorizations":[{"applicationId":"c699bf69-fb1d-4eaf-999b-99e6b2ae4d85","roleDefinitionId":"90155430-a360-410f-af5d-89dc284d85c6"},{"applicationId":"03db181c-e9d3-4868-9097-f0b728327182","roleDefinitionId":"DE2ADB97-42D8-49C8-8FCF-DBB53EF936AC"},{"applicationId":"a0f92522-89de-4c5e-9a75-0044ccf66efd","roleDefinitionId":"b3429810-7d5c-420e-8605-cf280f3099f2"},{"applicationId":"bd9b7cd5-dac1-495f-b013-ac871e98fa5f","roleDefinitionId":"0d44c8f0-08b9-44d4-9f59-e51c83f95200"}],"resourceTypes":[{"resourceType":"sourceControlConfigurations","locations":["East + US","West Europe","West Central US","West US 2","West US 3","South Central + US","East US 2","North Europe","UK South","Southeast Asia","Australia East","France + Central","Central US","North Central US","West US","Korea Central","East Asia","Japan + East","East US 2 EUAP"],"apiVersions":["2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"defaultApiVersion":"2021-03-01","capabilities":"SupportsExtension"},{"resourceType":"extensions","locations":["East + US","West Europe","West Central US","West US 2","West US 3","South Central + US","East US 2","North Europe","UK South","Southeast Asia","Australia East","France + Central","Central US","North Central US","West US","Korea Central","East Asia","Japan + East","East US 2 EUAP"],"apiVersions":["2021-09-01","2021-05-01-preview","2020-07-01-preview"],"capabilities":"SystemAssignedResourceIdentity, + SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview","2021-12-01-preview","2021-11-01-preview","2021-09-01","2021-06-01-preview","2021-05-01-preview","2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"capabilities":"None"},{"resourceType":"fluxConfigurations","locations":["East + US 2 EUAP","East US","West Europe","West Central US","West US 2","West US + 3","South Central US","East US 2","North Europe","UK South","Southeast Asia","Australia + East","France Central","Central US","North Central US","West US","Korea Central","East + Asia","Japan East"],"apiVersions":["2022-01-01-preview","2021-11-01-preview","2021-06-01-preview"],"defaultApiVersion":"2022-01-01-preview","capabilities":"SupportsExtension"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '2448' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Mar 2022 18:26:03 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8s-configuration show + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0 Python/3.9.6 + (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config2?api-version=2022-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config2","name":"test-config2","type":"Microsoft.KubernetesConfiguration/sourceControlConfigurations","properties":{"operatorNamespace":"test-config2-namespace","provisioningState":"Succeeded","complianceStatus":{"complianceState":"Pending","lastConfigApplied":"0001-01-01T00:00:00+00:00","message":"{\"OperatorMessage\":null,\"ClusterState\":null}","messageLevel":"Information"},"enableHelmOperator":true,"helmOperatorProperties":{"chartVersion":"1.2.0","chartValues":"--set + tillerNamespace=kube-system"},"repositoryUrl":"https://github.com/jonathan-innis/helm-operator-get-started-private.git","operatorInstanceName":"test-config2-name","operatorType":"Flux","operatorScope":"namespace","operatorParams":"--git-readonly","sshKnownHostsContents":null,"configurationProtectedSettings":{},"repositoryPublicKey":""},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2022-03-08T18:26:03.7133511+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2022-03-08T18:26:03.7133511+00:00"}}' headers: api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01, 2021-05-01-preview + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01, 2021-05-01-preview, + 2022-03-01 cache-control: - no-cache content-length: - - '1250' + - '1243' content-type: - application/json; charset=utf-8 date: - - Wed, 08 Sep 2021 19:26:52 GMT + - Tue, 08 Mar 2022 18:26:04 GMT expires: - '-1' pragma: @@ -469,6 +750,61 @@ interactions: status: code: 200 message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8s-configuration delete + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type -y + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.9.6 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration","namespace":"Microsoft.KubernetesConfiguration","authorizations":[{"applicationId":"c699bf69-fb1d-4eaf-999b-99e6b2ae4d85","roleDefinitionId":"90155430-a360-410f-af5d-89dc284d85c6"},{"applicationId":"03db181c-e9d3-4868-9097-f0b728327182","roleDefinitionId":"DE2ADB97-42D8-49C8-8FCF-DBB53EF936AC"},{"applicationId":"a0f92522-89de-4c5e-9a75-0044ccf66efd","roleDefinitionId":"b3429810-7d5c-420e-8605-cf280f3099f2"},{"applicationId":"bd9b7cd5-dac1-495f-b013-ac871e98fa5f","roleDefinitionId":"0d44c8f0-08b9-44d4-9f59-e51c83f95200"}],"resourceTypes":[{"resourceType":"sourceControlConfigurations","locations":["East + US","West Europe","West Central US","West US 2","West US 3","South Central + US","East US 2","North Europe","UK South","Southeast Asia","Australia East","France + Central","Central US","North Central US","West US","Korea Central","East Asia","Japan + East","East US 2 EUAP"],"apiVersions":["2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"defaultApiVersion":"2021-03-01","capabilities":"SupportsExtension"},{"resourceType":"extensions","locations":["East + US","West Europe","West Central US","West US 2","West US 3","South Central + US","East US 2","North Europe","UK South","Southeast Asia","Australia East","France + Central","Central US","North Central US","West US","Korea Central","East Asia","Japan + East","East US 2 EUAP"],"apiVersions":["2021-09-01","2021-05-01-preview","2020-07-01-preview"],"capabilities":"SystemAssignedResourceIdentity, + SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview","2021-12-01-preview","2021-11-01-preview","2021-09-01","2021-06-01-preview","2021-05-01-preview","2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"capabilities":"None"},{"resourceType":"fluxConfigurations","locations":["East + US 2 EUAP","East US","West Europe","West Central US","West US 2","West US + 3","South Central US","East US 2","North Europe","UK South","Southeast Asia","Australia + East","France Central","Central US","North Central US","West US","Korea Central","East + Asia","Japan East"],"apiVersions":["2022-01-01-preview","2021-11-01-preview","2021-06-01-preview"],"defaultApiVersion":"2022-01-01-preview","capabilities":"SupportsExtension"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '2448' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Mar 2022 18:26:05 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK - request: body: null headers: @@ -485,16 +821,17 @@ interactions: ParameterSetName: - -g -c -n --cluster-type -y User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.9.6 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0 Python/3.9.6 + (Windows-10-10.0.22000-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_recordings_testing/providers/Microsoft.Kubernetes/connectedClusters/test-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config2?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/test-config2?api-version=2022-03-01 response: body: string: '{"content":null,"statusCode":200,"headers":[],"version":"1.1","reasonPhrase":"OK","trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' headers: api-supported-versions: - - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01, 2021-05-01-preview + - 2019-11-01-Preview, 2020-07-01-Preview, 2020-10-01-Preview, 2021-03-01, 2021-05-01-preview, + 2022-03-01 cache-control: - no-cache content-length: @@ -502,7 +839,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 08 Sep 2021 19:26:52 GMT + - Tue, 08 Mar 2022 18:26:06 GMT expires: - '-1' pragma: diff --git a/src/k8s-configuration/azext_k8s_configuration/tests/latest/test_kubernetesconfiguration_scenario.py b/src/k8s-configuration/azext_k8s_configuration/tests/latest/test_kubernetesconfiguration_scenario.py index e0e3b256d4e..09db7e3fc0e 100644 --- a/src/k8s-configuration/azext_k8s_configuration/tests/latest/test_kubernetesconfiguration_scenario.py +++ b/src/k8s-configuration/azext_k8s_configuration/tests/latest/test_kubernetesconfiguration_scenario.py @@ -21,8 +21,8 @@ def test_k8s_configuration_success(self): # -------------------------------------------------------------------- self.kwargs.update({ 'name': 'test-config', - 'cluster_name': 'test-cluster', - 'rg': 'cli_recordings_testing', + 'cluster_name': 'arc-cluster', + 'rg': 'azurecli-tests', 'repo_url': 'git://github.com/anubhav929/flux-get-started', 'operator_instance_name': 'test-config-name', 'operator_namespace': 'test-config-namespace', @@ -83,8 +83,8 @@ def test_k8s_configuration_success(self): # -------------------------------------------------------------------- self.kwargs.update({ 'name': 'test-config2', - 'cluster_name': 'test-cluster', - 'rg': 'cli_recordings_testing', + 'cluster_name': 'arc-cluster', + 'rg': 'azurecli-tests', 'repo_url': 'https://github.com/jonathan-innis/helm-operator-get-started-private.git', 'operator_instance_name': 'test-config2-name', 'operator_namespace': 'test-config2-namespace', diff --git a/src/k8s-configuration/azext_k8s_configuration/utils.py b/src/k8s-configuration/azext_k8s_configuration/utils.py index d66271b2233..7999145934e 100644 --- a/src/k8s-configuration/azext_k8s_configuration/utils.py +++ b/src/k8s-configuration/azext_k8s_configuration/utils.py @@ -72,6 +72,8 @@ def read_key_file(path, strip_newline=False): def parse_dependencies(depends_on): + if not depends_on: + return None depends_on = depends_on.strip() if depends_on[0] == "[": depends_on = depends_on[1:-1] diff --git a/src/k8s-configuration/azext_k8s_configuration/validators.py b/src/k8s-configuration/azext_k8s_configuration/validators.py index acefb4ab14a..ddf7228eefa 100644 --- a/src/k8s-configuration/azext_k8s_configuration/validators.py +++ b/src/k8s-configuration/azext_k8s_configuration/validators.py @@ -189,8 +189,6 @@ def validate_url_with_params( consts.KNOWN_HOSTS_WITH_HTTP_URL_ERROR, consts.KNOWN_HOSTS_WITH_HTTP_URL_HELP, ) - if not (https_user and https_key) and scheme == "https": - logger.warning(consts.HTTP_URL_NO_AUTH_WARNING) else: if https_user or https_key: raise MutuallyExclusiveArgumentError( diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/_configuration.py index 6ecda0480c4..6cd5f3b0fb0 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/_configuration.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/_configuration.py @@ -12,7 +12,7 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy from ._version import VERSION @@ -68,4 +68,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/_source_control_configuration_client.py index 1743fa49f4d..a75870fe68b 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/_source_control_configuration_client.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/_source_control_configuration_client.py @@ -23,7 +23,6 @@ from typing import Any, Optional from azure.core.credentials import TokenCredential - from azure.core.pipeline.transport import HttpRequest, HttpResponse class _SDKClient(object): def __init__(self, *args, **kwargs): @@ -56,12 +55,15 @@ class SourceControlConfigurationClient(MultiApiClientMixin, _SDKClient): :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ - DEFAULT_API_VERSION = '2021-09-01' + DEFAULT_API_VERSION = '2022-03-01' _PROFILE_TAG = "azure.mgmt.kubernetesconfiguration.SourceControlConfigurationClient" LATEST_PROFILE = ProfileDefinition({ _PROFILE_TAG: { None: DEFAULT_API_VERSION, - 'source_control_configurations': '2021-03-01', + 'cluster_extension_type': '2022-01-01-preview', + 'cluster_extension_types': '2022-01-01-preview', + 'extension_type_versions': '2022-01-01-preview', + 'location_extension_types': '2022-01-01-preview', }}, _PROFILE_TAG + " latest" ) @@ -71,12 +73,10 @@ def __init__( credential, # type: "TokenCredential" subscription_id, # type: str api_version=None, # type: Optional[str] - base_url=None, # type: Optional[str] + base_url="https://management.azure.com", # type: str profile=KnownProfiles.default, # type: KnownProfiles **kwargs # type: Any ): - if not base_url: - base_url = 'https://management.azure.com' self._config = SourceControlConfigurationClientConfiguration(credential, subscription_id, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) super(SourceControlConfigurationClient, self).__init__( @@ -99,6 +99,7 @@ def models(cls, api_version=DEFAULT_API_VERSION): * 2021-09-01: :mod:`v2021_09_01.models` * 2021-11-01-preview: :mod:`v2021_11_01_preview.models` * 2022-01-01-preview: :mod:`v2022_01_01_preview.models` + * 2022-03-01: :mod:`v2022_03_01.models` """ if api_version == '2020-07-01-preview': from .v2020_07_01_preview import models @@ -121,6 +122,9 @@ def models(cls, api_version=DEFAULT_API_VERSION): elif api_version == '2022-01-01-preview': from .v2022_01_01_preview import models return models + elif api_version == '2022-03-01': + from .v2022_03_01 import models + return models raise ValueError("API version {} is not available".format(api_version)) @property @@ -189,6 +193,7 @@ def extensions(self): * 2021-09-01: :class:`ExtensionsOperations` * 2021-11-01-preview: :class:`ExtensionsOperations` * 2022-01-01-preview: :class:`ExtensionsOperations` + * 2022-03-01: :class:`ExtensionsOperations` """ api_version = self._get_api_version('extensions') if api_version == '2020-07-01-preview': @@ -201,6 +206,8 @@ def extensions(self): from .v2021_11_01_preview.operations import ExtensionsOperations as OperationClass elif api_version == '2022-01-01-preview': from .v2022_01_01_preview.operations import ExtensionsOperations as OperationClass + elif api_version == '2022-03-01': + from .v2022_03_01.operations import ExtensionsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'extensions'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -211,12 +218,15 @@ def flux_config_operation_status(self): * 2021-11-01-preview: :class:`FluxConfigOperationStatusOperations` * 2022-01-01-preview: :class:`FluxConfigOperationStatusOperations` + * 2022-03-01: :class:`FluxConfigOperationStatusOperations` """ api_version = self._get_api_version('flux_config_operation_status') if api_version == '2021-11-01-preview': from .v2021_11_01_preview.operations import FluxConfigOperationStatusOperations as OperationClass elif api_version == '2022-01-01-preview': from .v2022_01_01_preview.operations import FluxConfigOperationStatusOperations as OperationClass + elif api_version == '2022-03-01': + from .v2022_03_01.operations import FluxConfigOperationStatusOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'flux_config_operation_status'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -227,12 +237,15 @@ def flux_configurations(self): * 2021-11-01-preview: :class:`FluxConfigurationsOperations` * 2022-01-01-preview: :class:`FluxConfigurationsOperations` + * 2022-03-01: :class:`FluxConfigurationsOperations` """ api_version = self._get_api_version('flux_configurations') if api_version == '2021-11-01-preview': from .v2021_11_01_preview.operations import FluxConfigurationsOperations as OperationClass elif api_version == '2022-01-01-preview': from .v2022_01_01_preview.operations import FluxConfigurationsOperations as OperationClass + elif api_version == '2022-03-01': + from .v2022_03_01.operations import FluxConfigurationsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'flux_configurations'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -264,6 +277,7 @@ def operation_status(self): * 2021-09-01: :class:`OperationStatusOperations` * 2021-11-01-preview: :class:`OperationStatusOperations` * 2022-01-01-preview: :class:`OperationStatusOperations` + * 2022-03-01: :class:`OperationStatusOperations` """ api_version = self._get_api_version('operation_status') if api_version == '2021-05-01-preview': @@ -274,6 +288,8 @@ def operation_status(self): from .v2021_11_01_preview.operations import OperationStatusOperations as OperationClass elif api_version == '2022-01-01-preview': from .v2022_01_01_preview.operations import OperationStatusOperations as OperationClass + elif api_version == '2022-03-01': + from .v2022_03_01.operations import OperationStatusOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'operation_status'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -289,6 +305,7 @@ def operations(self): * 2021-09-01: :class:`Operations` * 2021-11-01-preview: :class:`Operations` * 2022-01-01-preview: :class:`Operations` + * 2022-03-01: :class:`Operations` """ api_version = self._get_api_version('operations') if api_version == '2020-07-01-preview': @@ -305,6 +322,8 @@ def operations(self): from .v2021_11_01_preview.operations import Operations as OperationClass elif api_version == '2022-01-01-preview': from .v2022_01_01_preview.operations import Operations as OperationClass + elif api_version == '2022-03-01': + from .v2022_03_01.operations import Operations as OperationClass else: raise ValueError("API version {} does not have operation group 'operations'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -319,6 +338,7 @@ def source_control_configurations(self): * 2021-05-01-preview: :class:`SourceControlConfigurationsOperations` * 2021-11-01-preview: :class:`SourceControlConfigurationsOperations` * 2022-01-01-preview: :class:`SourceControlConfigurationsOperations` + * 2022-03-01: :class:`SourceControlConfigurationsOperations` """ api_version = self._get_api_version('source_control_configurations') if api_version == '2020-07-01-preview': @@ -333,6 +353,8 @@ def source_control_configurations(self): from .v2021_11_01_preview.operations import SourceControlConfigurationsOperations as OperationClass elif api_version == '2022-01-01-preview': from .v2022_01_01_preview.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2022-03-01': + from .v2022_03_01.operations import SourceControlConfigurationsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'source_control_configurations'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/_version.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/_version.py index b538e1b4f03..c47f66669f1 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/_version.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "1.0.0b1" \ No newline at end of file +VERSION = "1.0.0" diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/aio/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/aio/_configuration.py index e86e06bef71..dfeb48eb057 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/aio/_configuration.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/aio/_configuration.py @@ -12,7 +12,7 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy from .._version import VERSION @@ -64,4 +64,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/aio/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/aio/_source_control_configuration_client.py index 97f3e6688eb..ed320e3b24c 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/aio/_source_control_configuration_client.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/aio/_source_control_configuration_client.py @@ -11,7 +11,6 @@ from typing import Any, Optional, TYPE_CHECKING -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core import AsyncARMPipelineClient from azure.profiles import KnownProfiles, ProfileDefinition from azure.profiles.multiapiclient import MultiApiClientMixin @@ -21,6 +20,7 @@ if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential from azure.core.credentials_async import AsyncTokenCredential class _SDKClient(object): @@ -54,12 +54,15 @@ class SourceControlConfigurationClient(MultiApiClientMixin, _SDKClient): :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ - DEFAULT_API_VERSION = '2021-09-01' + DEFAULT_API_VERSION = '2022-03-01' _PROFILE_TAG = "azure.mgmt.kubernetesconfiguration.SourceControlConfigurationClient" LATEST_PROFILE = ProfileDefinition({ _PROFILE_TAG: { None: DEFAULT_API_VERSION, - 'source_control_configurations': '2021-03-01', + 'cluster_extension_type': '2022-01-01-preview', + 'cluster_extension_types': '2022-01-01-preview', + 'extension_type_versions': '2022-01-01-preview', + 'location_extension_types': '2022-01-01-preview', }}, _PROFILE_TAG + " latest" ) @@ -69,12 +72,10 @@ def __init__( credential: "AsyncTokenCredential", subscription_id: str, api_version: Optional[str] = None, - base_url: Optional[str] = None, + base_url: str = "https://management.azure.com", profile: KnownProfiles = KnownProfiles.default, **kwargs # type: Any ) -> None: - if not base_url: - base_url = 'https://management.azure.com' self._config = SourceControlConfigurationClientConfiguration(credential, subscription_id, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) super(SourceControlConfigurationClient, self).__init__( @@ -97,6 +98,7 @@ def models(cls, api_version=DEFAULT_API_VERSION): * 2021-09-01: :mod:`v2021_09_01.models` * 2021-11-01-preview: :mod:`v2021_11_01_preview.models` * 2022-01-01-preview: :mod:`v2022_01_01_preview.models` + * 2022-03-01: :mod:`v2022_03_01.models` """ if api_version == '2020-07-01-preview': from ..v2020_07_01_preview import models @@ -119,6 +121,9 @@ def models(cls, api_version=DEFAULT_API_VERSION): elif api_version == '2022-01-01-preview': from ..v2022_01_01_preview import models return models + elif api_version == '2022-03-01': + from ..v2022_03_01 import models + return models raise ValueError("API version {} is not available".format(api_version)) @property @@ -187,6 +192,7 @@ def extensions(self): * 2021-09-01: :class:`ExtensionsOperations` * 2021-11-01-preview: :class:`ExtensionsOperations` * 2022-01-01-preview: :class:`ExtensionsOperations` + * 2022-03-01: :class:`ExtensionsOperations` """ api_version = self._get_api_version('extensions') if api_version == '2020-07-01-preview': @@ -199,6 +205,8 @@ def extensions(self): from ..v2021_11_01_preview.aio.operations import ExtensionsOperations as OperationClass elif api_version == '2022-01-01-preview': from ..v2022_01_01_preview.aio.operations import ExtensionsOperations as OperationClass + elif api_version == '2022-03-01': + from ..v2022_03_01.aio.operations import ExtensionsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'extensions'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -209,12 +217,15 @@ def flux_config_operation_status(self): * 2021-11-01-preview: :class:`FluxConfigOperationStatusOperations` * 2022-01-01-preview: :class:`FluxConfigOperationStatusOperations` + * 2022-03-01: :class:`FluxConfigOperationStatusOperations` """ api_version = self._get_api_version('flux_config_operation_status') if api_version == '2021-11-01-preview': from ..v2021_11_01_preview.aio.operations import FluxConfigOperationStatusOperations as OperationClass elif api_version == '2022-01-01-preview': from ..v2022_01_01_preview.aio.operations import FluxConfigOperationStatusOperations as OperationClass + elif api_version == '2022-03-01': + from ..v2022_03_01.aio.operations import FluxConfigOperationStatusOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'flux_config_operation_status'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -225,12 +236,15 @@ def flux_configurations(self): * 2021-11-01-preview: :class:`FluxConfigurationsOperations` * 2022-01-01-preview: :class:`FluxConfigurationsOperations` + * 2022-03-01: :class:`FluxConfigurationsOperations` """ api_version = self._get_api_version('flux_configurations') if api_version == '2021-11-01-preview': from ..v2021_11_01_preview.aio.operations import FluxConfigurationsOperations as OperationClass elif api_version == '2022-01-01-preview': from ..v2022_01_01_preview.aio.operations import FluxConfigurationsOperations as OperationClass + elif api_version == '2022-03-01': + from ..v2022_03_01.aio.operations import FluxConfigurationsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'flux_configurations'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -262,6 +276,7 @@ def operation_status(self): * 2021-09-01: :class:`OperationStatusOperations` * 2021-11-01-preview: :class:`OperationStatusOperations` * 2022-01-01-preview: :class:`OperationStatusOperations` + * 2022-03-01: :class:`OperationStatusOperations` """ api_version = self._get_api_version('operation_status') if api_version == '2021-05-01-preview': @@ -272,6 +287,8 @@ def operation_status(self): from ..v2021_11_01_preview.aio.operations import OperationStatusOperations as OperationClass elif api_version == '2022-01-01-preview': from ..v2022_01_01_preview.aio.operations import OperationStatusOperations as OperationClass + elif api_version == '2022-03-01': + from ..v2022_03_01.aio.operations import OperationStatusOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'operation_status'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -287,6 +304,7 @@ def operations(self): * 2021-09-01: :class:`Operations` * 2021-11-01-preview: :class:`Operations` * 2022-01-01-preview: :class:`Operations` + * 2022-03-01: :class:`Operations` """ api_version = self._get_api_version('operations') if api_version == '2020-07-01-preview': @@ -303,6 +321,8 @@ def operations(self): from ..v2021_11_01_preview.aio.operations import Operations as OperationClass elif api_version == '2022-01-01-preview': from ..v2022_01_01_preview.aio.operations import Operations as OperationClass + elif api_version == '2022-03-01': + from ..v2022_03_01.aio.operations import Operations as OperationClass else: raise ValueError("API version {} does not have operation group 'operations'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -317,6 +337,7 @@ def source_control_configurations(self): * 2021-05-01-preview: :class:`SourceControlConfigurationsOperations` * 2021-11-01-preview: :class:`SourceControlConfigurationsOperations` * 2022-01-01-preview: :class:`SourceControlConfigurationsOperations` + * 2022-03-01: :class:`SourceControlConfigurationsOperations` """ api_version = self._get_api_version('source_control_configurations') if api_version == '2020-07-01-preview': @@ -331,6 +352,8 @@ def source_control_configurations(self): from ..v2021_11_01_preview.aio.operations import SourceControlConfigurationsOperations as OperationClass elif api_version == '2022-01-01-preview': from ..v2022_01_01_preview.aio.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2022-03-01': + from ..v2022_03_01.aio.operations import SourceControlConfigurationsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'source_control_configurations'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/models.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/models.py index c82fe8f439c..c9c8d2ae160 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/models.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/models.py @@ -4,5 +4,5 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -from .v2021_03_01.models import * -from .v2021_09_01.models import * +from .v2022_01_01_preview.models import * +from .v2022_03_01.models import * diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/__init__.py index f13062376d7..e9096303633 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/__init__.py @@ -12,8 +12,7 @@ __version__ = VERSION __all__ = ['SourceControlConfigurationClient'] -try: - from ._patch import patch_sdk # type: ignore - patch_sdk() -except ImportError: - pass +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/_configuration.py index 89bdc90391d..a175e772c24 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/_configuration.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/_configuration.py @@ -6,18 +6,16 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +from typing import Any, TYPE_CHECKING from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy from ._version import VERSION if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any - from azure.core.credentials import TokenCredential @@ -35,16 +33,15 @@ class SourceControlConfigurationClientConfiguration(Configuration): def __init__( self, - credential, # type: "TokenCredential" - subscription_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id @@ -68,4 +65,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/_patch.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/_source_control_configuration_client.py index 71f3974f333..4a2066e60af 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/_source_control_configuration_client.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/_source_control_configuration_client.py @@ -6,84 +6,88 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING +from azure.core.rest import HttpRequest, HttpResponse from azure.mgmt.core import ARMPipelineClient from msrest import Deserializer, Serializer +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ExtensionsOperations, Operations, SourceControlConfigurationsOperations + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Optional - from azure.core.credentials import TokenCredential - from azure.core.pipeline.transport import HttpRequest, HttpResponse - -from ._configuration import SourceControlConfigurationClientConfiguration -from .operations import SourceControlConfigurationsOperations -from .operations import Operations -from .operations import ExtensionsOperations -from . import models - -class SourceControlConfigurationClient(object): +class SourceControlConfigurationClient: """KubernetesConfiguration Client. :ivar source_control_configurations: SourceControlConfigurationsOperations operations - :vartype source_control_configurations: azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.operations.SourceControlConfigurationsOperations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.operations.SourceControlConfigurationsOperations :ivar operations: Operations operations - :vartype operations: azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.operations.Operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.operations.Operations :ivar extensions: ExtensionsOperations operations - :vartype extensions: azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.operations.ExtensionsOperations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.operations.ExtensionsOperations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials.TokenCredential - :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. """ def __init__( self, - credential, # type: "TokenCredential" - subscription_id, # type: str - base_url=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> None - if not base_url: - base_url = 'https://management.azure.com' - self._config = SourceControlConfigurationClientConfiguration(credential, subscription_id, **kwargs) + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) - self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) - self.source_control_configurations = SourceControlConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - self.extensions = ExtensionsOperations( - self._client, self._config, self._serialize, self._deserialize) - def _send_request(self, http_request, **kwargs): - # type: (HttpRequest, Any) -> HttpResponse + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: """Runs the network request through the client's chained policies. - :param http_request: The network request you want to make. Required. - :type http_request: ~azure.core.pipeline.transport.HttpRequest - :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. :return: The response of your network call. Does not do error handling on your response. - :rtype: ~azure.core.pipeline.transport.HttpResponse + :rtype: ~azure.core.rest.HttpResponse """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - } - http_request.url = self._client.format_url(http_request.url, **path_format_arguments) - stream = kwargs.pop("stream", True) - pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) def close(self): # type: () -> None diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/_vendor.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/_vendor.py @@ -0,0 +1,27 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/__init__.py index ba52c91a7ba..5f583276b4e 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/__init__.py @@ -8,3 +8,8 @@ from ._source_control_configuration_client import SourceControlConfigurationClient __all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/_configuration.py index e15dc551cae..5d42c644d80 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/_configuration.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/_configuration.py @@ -10,7 +10,7 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy from .._version import VERSION @@ -37,11 +37,11 @@ def __init__( subscription_id: str, **kwargs: Any ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id @@ -64,4 +64,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/_patch.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/_source_control_configuration_client.py index a03dc102973..786354552c0 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/_source_control_configuration_client.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/_source_control_configuration_client.py @@ -6,80 +6,88 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, Optional, TYPE_CHECKING +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.rest import AsyncHttpResponse, HttpRequest from azure.mgmt.core import AsyncARMPipelineClient from msrest import Deserializer, Serializer +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ExtensionsOperations, Operations, SourceControlConfigurationsOperations + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential -from ._configuration import SourceControlConfigurationClientConfiguration -from .operations import SourceControlConfigurationsOperations -from .operations import Operations -from .operations import ExtensionsOperations -from .. import models - - -class SourceControlConfigurationClient(object): +class SourceControlConfigurationClient: """KubernetesConfiguration Client. :ivar source_control_configurations: SourceControlConfigurationsOperations operations - :vartype source_control_configurations: azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.aio.operations.SourceControlConfigurationsOperations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.aio.operations.SourceControlConfigurationsOperations :ivar operations: Operations operations - :vartype operations: azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.aio.operations.Operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.aio.operations.Operations :ivar extensions: ExtensionsOperations operations - :vartype extensions: azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.aio.operations.ExtensionsOperations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.aio.operations.ExtensionsOperations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials_async.AsyncTokenCredential - :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. """ def __init__( self, credential: "AsyncTokenCredential", subscription_id: str, - base_url: Optional[str] = None, + base_url: str = "https://management.azure.com", **kwargs: Any ) -> None: - if not base_url: - base_url = 'https://management.azure.com' - self._config = SourceControlConfigurationClientConfiguration(credential, subscription_id, **kwargs) + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) - self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) - self.source_control_configurations = SourceControlConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - self.extensions = ExtensionsOperations( - self._client, self._config, self._serialize, self._deserialize) - async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. - :param http_request: The network request you want to make. Required. - :type http_request: ~azure.core.pipeline.transport.HttpRequest - :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. :return: The response of your network call. Does not do error handling on your response. - :rtype: ~azure.core.pipeline.transport.AsyncHttpResponse + :rtype: ~azure.core.rest.AsyncHttpResponse """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - } - http_request.url = self._client.format_url(http_request.url, **path_format_arguments) - stream = kwargs.pop("stream", True) - pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) async def close(self) -> None: await self._client.close() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/operations/_extensions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/operations/_extensions_operations.py index e92980035ad..2cb12620a0e 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/operations/_extensions_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/operations/_extensions_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._extensions_operations import build_create_request, build_delete_request, build_get_request, build_list_request, build_update_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def create( self, resource_group_name: str, @@ -60,13 +66,15 @@ async def create( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_instance_name: Name of an instance of the Extension. :type extension_instance_name: str :param extension_instance: Properties necessary to Create an Extension Instance. - :type extension_instance: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance + :type extension_instance: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance :keyword callable cls: A custom type or function that will be passed the direct response :return: ExtensionInstance, or the result of cls(response) :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance @@ -77,41 +85,31 @@ async def create( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.create.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionInstanceName': self._serialize.url("extension_instance_name", extension_instance_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension_instance, 'ExtensionInstance') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_create_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + content_type=content_type, + json=_json, + template_url=self.create.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(extension_instance, 'ExtensionInstance') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ExtensionInstance', pipeline_response) @@ -120,8 +118,11 @@ async def create( return cls(pipeline_response, deserialized, {}) return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + @distributed_trace_async async def get( self, resource_group_name: str, @@ -140,7 +141,8 @@ async def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_instance_name: Name of an instance of the Extension. @@ -155,36 +157,26 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionInstanceName': self._serialize.url("extension_instance_name", extension_instance_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ExtensionInstance', pipeline_response) @@ -193,8 +185,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + @distributed_trace_async async def update( self, resource_group_name: str, @@ -214,13 +209,15 @@ async def update( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_instance_name: Name of an instance of the Extension. :type extension_instance_name: str :param extension_instance: Properties to Update in the Extension Instance. - :type extension_instance: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstanceUpdate + :type extension_instance: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstanceUpdate :keyword callable cls: A custom type or function that will be passed the direct response :return: ExtensionInstance, or the result of cls(response) :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance @@ -231,41 +228,31 @@ async def update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.update.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionInstanceName': self._serialize.url("extension_instance_name", extension_instance_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + _json = self._serialize.body(extension_instance, 'ExtensionInstanceUpdate') + + request = build_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + content_type=content_type, + json=_json, + template_url=self.update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(extension_instance, 'ExtensionInstanceUpdate') - body_content_kwargs['content'] = body_content - request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ExtensionInstance', pipeline_response) @@ -274,8 +261,11 @@ async def update( return cls(pipeline_response, deserialized, {}) return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, @@ -295,7 +285,8 @@ async def delete( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_instance_name: Name of an instance of the Extension. @@ -310,36 +301,26 @@ async def delete( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.delete.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionInstanceName': self._serialize.url("extension_instance_name", extension_instance_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: @@ -347,6 +328,8 @@ async def delete( delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + @distributed_trace def list( self, resource_group_name: str, @@ -364,12 +347,15 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ExtensionInstancesList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstancesList] + :return: An iterator like instance of either ExtensionInstancesList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstancesList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionInstancesList"] @@ -377,38 +363,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionInstancesList', pipeline_response) + deserialized = self._deserialize("ExtensionInstancesList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -421,12 +406,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/operations/_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/operations/_operations.py index b9e2205f961..15d34648a9c 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/operations/_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/operations/_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, **kwargs: Any @@ -48,8 +54,10 @@ def list( """List all the available operations the KubernetesConfiguration resource provider supports. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperationList] + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] @@ -57,30 +65,27 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ResourceProviderOperationList', pipeline_response) + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -93,12 +98,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/operations/_source_control_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/operations/_source_control_configurations_operations.py index 116ecb3713e..540d16d33ae 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/operations/_source_control_configurations_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/aio/operations/_source_control_configurations_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -43,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, @@ -61,14 +67,16 @@ async def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -76,36 +84,26 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) @@ -114,8 +112,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, @@ -135,16 +136,19 @@ async def create_or_update( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. - :type source_control_configuration: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -152,41 +156,31 @@ async def create_or_update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.create_or_update.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -199,8 +193,10 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + async def _delete_initial( self, resource_group_name: str, @@ -215,43 +211,34 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, @@ -271,22 +258,25 @@ async def begin_delete( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -303,24 +293,14 @@ async def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -332,8 +312,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + @distributed_trace def list( self, resource_group_name: str, @@ -351,12 +333,15 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SourceControlConfigurationList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfigurationList] + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfigurationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] @@ -364,38 +349,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('SourceControlConfigurationList', pipeline_response) + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -408,12 +392,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/models/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/models/__init__.py index 5d3f8aea197..70c78dcb2d4 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/models/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/models/__init__.py @@ -6,50 +6,28 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -try: - from ._models_py3 import ComplianceStatus - from ._models_py3 import ConfigurationIdentity - from ._models_py3 import ErrorDefinition - from ._models_py3 import ErrorResponse - from ._models_py3 import ExtensionInstance - from ._models_py3 import ExtensionInstanceUpdate - from ._models_py3 import ExtensionInstancesList - from ._models_py3 import ExtensionStatus - from ._models_py3 import HelmOperatorProperties - from ._models_py3 import ProxyResource - from ._models_py3 import Resource - from ._models_py3 import ResourceProviderOperation - from ._models_py3 import ResourceProviderOperationDisplay - from ._models_py3 import ResourceProviderOperationList - from ._models_py3 import Result - from ._models_py3 import Scope - from ._models_py3 import ScopeCluster - from ._models_py3 import ScopeNamespace - from ._models_py3 import SourceControlConfiguration - from ._models_py3 import SourceControlConfigurationList - from ._models_py3 import SystemData -except (SyntaxError, ImportError): - from ._models import ComplianceStatus # type: ignore - from ._models import ConfigurationIdentity # type: ignore - from ._models import ErrorDefinition # type: ignore - from ._models import ErrorResponse # type: ignore - from ._models import ExtensionInstance # type: ignore - from ._models import ExtensionInstanceUpdate # type: ignore - from ._models import ExtensionInstancesList # type: ignore - from ._models import ExtensionStatus # type: ignore - from ._models import HelmOperatorProperties # type: ignore - from ._models import ProxyResource # type: ignore - from ._models import Resource # type: ignore - from ._models import ResourceProviderOperation # type: ignore - from ._models import ResourceProviderOperationDisplay # type: ignore - from ._models import ResourceProviderOperationList # type: ignore - from ._models import Result # type: ignore - from ._models import Scope # type: ignore - from ._models import ScopeCluster # type: ignore - from ._models import ScopeNamespace # type: ignore - from ._models import SourceControlConfiguration # type: ignore - from ._models import SourceControlConfigurationList # type: ignore - from ._models import SystemData # type: ignore +from ._models_py3 import ComplianceStatus +from ._models_py3 import ConfigurationIdentity +from ._models_py3 import ErrorDefinition +from ._models_py3 import ErrorResponse +from ._models_py3 import ExtensionInstance +from ._models_py3 import ExtensionInstanceUpdate +from ._models_py3 import ExtensionInstancesList +from ._models_py3 import ExtensionStatus +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import ProxyResource +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Result +from ._models_py3 import Scope +from ._models_py3 import ScopeCluster +from ._models_py3 import ScopeNamespace +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SystemData + from ._source_control_configuration_client_enums import ( ComplianceStateType, diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/models/_models.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/models/_models.py deleted file mode 100644 index ef31b453ddc..00000000000 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/models/_models.py +++ /dev/null @@ -1,817 +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 azure.core.exceptions import HttpResponseError -import msrest.serialization - - -class ComplianceStatus(msrest.serialization.Model): - """Compliance Status details. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar compliance_state: The compliance state of the configuration. Possible values include: - "Pending", "Compliant", "Noncompliant", "Installed", "Failed". - :vartype compliance_state: str or - ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ComplianceStateType - :param last_config_applied: Datetime the configuration was last applied. - :type last_config_applied: ~datetime.datetime - :param message: Message from when the configuration was applied. - :type message: str - :param message_level: Level of the message. Possible values include: "Error", "Warning", - "Information". - :type message_level: str or - ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.MessageLevelType - """ - - _validation = { - 'compliance_state': {'readonly': True}, - } - - _attribute_map = { - 'compliance_state': {'key': 'complianceState', 'type': 'str'}, - 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, - 'message': {'key': 'message', 'type': 'str'}, - 'message_level': {'key': 'messageLevel', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ComplianceStatus, self).__init__(**kwargs) - self.compliance_state = None - self.last_config_applied = kwargs.get('last_config_applied', None) - self.message = kwargs.get('message', None) - self.message_level = kwargs.get('message_level', None) - - -class ConfigurationIdentity(msrest.serialization.Model): - """Identity for the managed cluster. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar principal_id: The principal id of the system assigned identity which is used by the - configuration. - :vartype principal_id: str - :ivar tenant_id: The tenant id of the system assigned identity which is used by the - configuration. - :vartype tenant_id: str - :param type: The type of identity used for the configuration. Type 'SystemAssigned' will use an - implicitly created identity. Type 'None' will not use Managed Identity for the configuration. - Possible values include: "SystemAssigned", "None". - :type type: str or - ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceIdentityType - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ConfigurationIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = kwargs.get('type', None) - - -class ErrorDefinition(msrest.serialization.Model): - """Error definition. - - All required parameters must be populated in order to send to Azure. - - :param code: Required. Service specific error code which serves as the substatus for the HTTP - error code. - :type code: str - :param message: Required. Description of the error. - :type message: str - """ - - _validation = { - 'code': {'required': True}, - 'message': {'required': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorDefinition, self).__init__(**kwargs) - self.code = kwargs['code'] - self.message = kwargs['message'] - - -class ErrorResponse(msrest.serialization.Model): - """Error response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar error: Error definition. - :vartype error: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ErrorDefinition - """ - - _validation = { - 'error': {'readonly': True}, - } - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDefinition'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorResponse, self).__init__(**kwargs) - self.error = None - - -class Resource(msrest.serialization.Model): - """The Resource model definition. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Resource Id. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :type system_data: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData - """ - - _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'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__( - self, - **kwargs - ): - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.system_data = kwargs.get('system_data', None) - - -class ProxyResource(Resource): - """ARM proxy resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Resource Id. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :type system_data: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData - """ - - _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'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__( - self, - **kwargs - ): - super(ProxyResource, self).__init__(**kwargs) - - -class ExtensionInstance(ProxyResource): - """The Extension Instance object. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Resource Id. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :type system_data: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData - :param extension_type: Type of the Extension, of which this resource is an instance of. It - must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the - Extension publisher. - :type extension_type: str - :param auto_upgrade_minor_version: Flag to note if this instance participates in auto upgrade - of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension instance participates in for auto-upgrade - (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension instance, if it is 'pinned' to a - specific version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param scope: Scope at which the extension instance is installed. - :type scope: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Scope - :param configuration_settings: Configuration settings, as name-value pairs for configuring this - instance of the extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as - name-value pairs for configuring this instance of the extension. - :type configuration_protected_settings: dict[str, str] - :ivar install_state: Status of installation of this instance of the extension. Possible values - include: "Pending", "Installed", "Failed". - :vartype install_state: str or - ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.InstallStateType - :param statuses: Status from this instance of the extension. - :type statuses: - list[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionStatus] - :ivar creation_time: DateLiteral (per ISO8601) noting the time the resource was created by the - client (user). - :vartype creation_time: str - :ivar last_modified_time: DateLiteral (per ISO8601) noting the time the resource was modified - by the client (user). - :vartype last_modified_time: str - :ivar last_status_time: DateLiteral (per ISO8601) noting the time of last status from the - agent. - :vartype last_status_time: str - :ivar error_info: Error information from the Agent - e.g. errors during installation. - :vartype error_info: - ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ErrorDefinition - :param identity: The identity of the configuration. - :type identity: - ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ConfigurationIdentity - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'install_state': {'readonly': True}, - 'creation_time': {'readonly': True}, - 'last_modified_time': {'readonly': True}, - 'last_status_time': {'readonly': True}, - 'error_info': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, - 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, - 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'scope': {'key': 'properties.scope', 'type': 'Scope'}, - 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - 'install_state': {'key': 'properties.installState', 'type': 'str'}, - 'statuses': {'key': 'properties.statuses', 'type': '[ExtensionStatus]'}, - 'creation_time': {'key': 'properties.creationTime', 'type': 'str'}, - 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'str'}, - 'last_status_time': {'key': 'properties.lastStatusTime', 'type': 'str'}, - 'error_info': {'key': 'properties.errorInfo', 'type': 'ErrorDefinition'}, - 'identity': {'key': 'properties.identity', 'type': 'ConfigurationIdentity'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionInstance, self).__init__(**kwargs) - self.extension_type = kwargs.get('extension_type', None) - self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', None) - self.release_train = kwargs.get('release_train', "Stable") - self.version = kwargs.get('version', None) - self.scope = kwargs.get('scope', None) - self.configuration_settings = kwargs.get('configuration_settings', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - self.install_state = None - self.statuses = kwargs.get('statuses', None) - self.creation_time = None - self.last_modified_time = None - self.last_status_time = None - self.error_info = None - self.identity = kwargs.get('identity', None) - - -class ExtensionInstancesList(msrest.serialization.Model): - """Result of the request to list Extension Instances. It contains a list of ExtensionInstance objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Extension Instances within a Kubernetes cluster. - :vartype value: - list[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance] - :ivar next_link: URL to get the next set of extension instance objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExtensionInstance]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionInstancesList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class ExtensionInstanceUpdate(msrest.serialization.Model): - """Update Extension Instance request object. - - :param auto_upgrade_minor_version: Flag to note if this instance participates in Extension - Lifecycle Management or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension instance participates in for auto-upgrade - (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version number of extension, to 'pin' to a specific version. - autoUpgradeMinorVersion must be 'false'. - :type version: str - """ - - _attribute_map = { - 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, - 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionInstanceUpdate, self).__init__(**kwargs) - self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', None) - self.release_train = kwargs.get('release_train', "Stable") - self.version = kwargs.get('version', None) - - -class ExtensionStatus(msrest.serialization.Model): - """Status from this instance of the extension. - - :param code: Status code provided by the Extension. - :type code: str - :param display_status: Short description of status of this instance of the extension. - :type display_status: str - :param level: Level of the status. Possible values include: "Error", "Warning", "Information". - Default value: "Information". - :type level: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.LevelType - :param message: Detailed message of the status from the Extension instance. - :type message: str - :param time: DateLiteral (per ISO8601) noting the time of installation status. - :type time: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'display_status': {'key': 'displayStatus', 'type': 'str'}, - 'level': {'key': 'level', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'time': {'key': 'time', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionStatus, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.display_status = kwargs.get('display_status', None) - self.level = kwargs.get('level', "Information") - self.message = kwargs.get('message', None) - self.time = kwargs.get('time', None) - - -class HelmOperatorProperties(msrest.serialization.Model): - """Properties for Helm operator. - - :param chart_version: Version of the operator Helm chart. - :type chart_version: str - :param chart_values: Values override for the operator Helm chart. - :type chart_values: str - """ - - _attribute_map = { - 'chart_version': {'key': 'chartVersion', 'type': 'str'}, - 'chart_values': {'key': 'chartValues', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(HelmOperatorProperties, self).__init__(**kwargs) - self.chart_version = kwargs.get('chart_version', None) - self.chart_values = kwargs.get('chart_values', None) - - -class ResourceProviderOperation(msrest.serialization.Model): - """Supported operation of this resource provider. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param name: Operation name, in format of {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: - ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperationDisplay - :ivar is_data_action: The flag that indicates whether the operation applies to data plane. - :vartype is_data_action: bool - """ - - _validation = { - 'is_data_action': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, - 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceProviderOperation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display = kwargs.get('display', None) - self.is_data_action = None - - -class ResourceProviderOperationDisplay(msrest.serialization.Model): - """Display metadata associated with the operation. - - :param provider: Resource provider: Microsoft KubernetesConfiguration. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :param description: Description of this 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) - - -class ResourceProviderOperationList(msrest.serialization.Model): - """Result of the request to list operations. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: List of operations supported by this resource provider. - :type value: - list[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperation] - :ivar next_link: URL to the next set of results, if any. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceProviderOperationList, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class Result(msrest.serialization.Model): - """Sample result definition. - - :param sample_property: Sample property of type string. - :type sample_property: str - """ - - _attribute_map = { - 'sample_property': {'key': 'sampleProperty', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Result, self).__init__(**kwargs) - self.sample_property = kwargs.get('sample_property', None) - - -class Scope(msrest.serialization.Model): - """Scope of the extensionInstance. It can be either Cluster or Namespace; but not both. - - :param cluster: Specifies that the scope of the extensionInstance is Cluster. - :type cluster: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ScopeCluster - :param namespace: Specifies that the scope of the extensionInstance is Namespace. - :type namespace: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ScopeNamespace - """ - - _attribute_map = { - 'cluster': {'key': 'cluster', 'type': 'ScopeCluster'}, - 'namespace': {'key': 'namespace', 'type': 'ScopeNamespace'}, - } - - def __init__( - self, - **kwargs - ): - super(Scope, self).__init__(**kwargs) - self.cluster = kwargs.get('cluster', None) - self.namespace = kwargs.get('namespace', None) - - -class ScopeCluster(msrest.serialization.Model): - """Specifies that the scope of the extensionInstance is Cluster. - - :param release_namespace: Namespace where the extension Release must be placed, for a Cluster - scoped extensionInstance. If this namespace does not exist, it will be created. - :type release_namespace: str - """ - - _attribute_map = { - 'release_namespace': {'key': 'releaseNamespace', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ScopeCluster, self).__init__(**kwargs) - self.release_namespace = kwargs.get('release_namespace', None) - - -class ScopeNamespace(msrest.serialization.Model): - """Specifies that the scope of the extensionInstance is Namespace. - - :param target_namespace: Namespace where the extensionInstance will be created for an Namespace - scoped extensionInstance. If this namespace does not exist, it will be created. - :type target_namespace: str - """ - - _attribute_map = { - 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ScopeNamespace, self).__init__(**kwargs) - self.target_namespace = kwargs.get('target_namespace', None) - - -class SourceControlConfiguration(ProxyResource): - """The SourceControl Configuration object returned in Get & Put response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Resource Id. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :type system_data: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData - :param repository_url: Url of the SourceControl Repository. - :type repository_url: str - :param operator_namespace: The namespace to which this operator is installed to. Maximum of 253 - lower case alphanumeric characters, hyphen and period only. - :type operator_namespace: str - :param operator_instance_name: Instance name of the operator - identifying the specific - configuration. - :type operator_instance_name: str - :param operator_type: Type of the operator. Possible values include: "Flux". - :type operator_type: str or - ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.OperatorType - :param operator_params: Any Parameters for the Operator instance in string format. - :type operator_params: str - :param configuration_protected_settings: Name-value pairs of protected configuration settings - for the configuration. - :type configuration_protected_settings: dict[str, str] - :param operator_scope: Scope at which the operator will be installed. Possible values include: - "cluster", "namespace". Default value: "cluster". - :type operator_scope: str or - ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.OperatorScopeType - :ivar repository_public_key: Public Key associated with this SourceControl configuration - (either generated within the cluster or provided by the user). - :vartype repository_public_key: str - :param ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys - required to access private Git instances. - :type ssh_known_hosts_contents: str - :param enable_helm_operator: Option to enable Helm Operator for this git configuration. - :type enable_helm_operator: bool - :param helm_operator_properties: Properties for Helm operator. - :type helm_operator_properties: - ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.HelmOperatorProperties - :ivar provisioning_state: The provisioning state of the resource provider. Possible values - include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ProvisioningStateType - :ivar compliance_status: Compliance Status of the Configuration. - :vartype compliance_status: - ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ComplianceStatus - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'repository_public_key': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'compliance_status': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, - 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, - 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, - 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, - 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, - 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, - 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, - 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, - 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, - } - - def __init__( - self, - **kwargs - ): - super(SourceControlConfiguration, self).__init__(**kwargs) - self.repository_url = kwargs.get('repository_url', None) - self.operator_namespace = kwargs.get('operator_namespace', "default") - self.operator_instance_name = kwargs.get('operator_instance_name', None) - self.operator_type = kwargs.get('operator_type', None) - self.operator_params = kwargs.get('operator_params', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - self.operator_scope = kwargs.get('operator_scope', "cluster") - self.repository_public_key = None - self.ssh_known_hosts_contents = kwargs.get('ssh_known_hosts_contents', None) - self.enable_helm_operator = kwargs.get('enable_helm_operator', None) - self.helm_operator_properties = kwargs.get('helm_operator_properties', None) - self.provisioning_state = None - self.compliance_status = None - - -class SourceControlConfigurationList(msrest.serialization.Model): - """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Source Control Configurations within a Kubernetes cluster. - :vartype value: - list[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration] - :ivar next_link: URL to get the next set of configuration objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SourceControlConfigurationList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class SystemData(msrest.serialization.Model): - """Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar created_by: A string identifier for the identity that created the resource. - :vartype created_by: str - :ivar created_by_type: The type of identity that created the resource: user, application, - managedIdentity, key. - :vartype created_by_type: str - :ivar created_at: The timestamp of resource creation (UTC). - :vartype created_at: ~datetime.datetime - :ivar last_modified_by: A string identifier for the identity that last modified the resource. - :vartype last_modified_by: str - :ivar last_modified_by_type: The type of identity that last modified the resource: user, - application, managedIdentity, key. - :vartype last_modified_by_type: str - :ivar last_modified_at: The timestamp of resource last modification (UTC). - :vartype last_modified_at: ~datetime.datetime - """ - - _validation = { - 'created_by': {'readonly': True}, - 'created_by_type': {'readonly': True}, - 'created_at': {'readonly': True}, - 'last_modified_by': {'readonly': True}, - 'last_modified_by_type': {'readonly': True}, - 'last_modified_at': {'readonly': True}, - } - - _attribute_map = { - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'createdByType', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__( - self, - **kwargs - ): - super(SystemData, self).__init__(**kwargs) - self.created_by = None - self.created_by_type = None - self.created_at = None - self.last_modified_by = None - self.last_modified_by_type = None - self.last_modified_at = None diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/models/_models_py3.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/models/_models_py3.py index 7d8c10c5306..d28c93715ed 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/models/_models_py3.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/models/_models_py3.py @@ -24,13 +24,13 @@ class ComplianceStatus(msrest.serialization.Model): "Pending", "Compliant", "Noncompliant", "Installed", "Failed". :vartype compliance_state: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ComplianceStateType - :param last_config_applied: Datetime the configuration was last applied. - :type last_config_applied: ~datetime.datetime - :param message: Message from when the configuration was applied. - :type message: str - :param message_level: Level of the message. Possible values include: "Error", "Warning", + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", "Information". - :type message_level: str or + :vartype message_level: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.MessageLevelType """ @@ -53,6 +53,16 @@ def __init__( message_level: Optional[Union[str, "MessageLevelType"]] = None, **kwargs ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.MessageLevelType + """ super(ComplianceStatus, self).__init__(**kwargs) self.compliance_state = None self.last_config_applied = last_config_applied @@ -71,10 +81,10 @@ class ConfigurationIdentity(msrest.serialization.Model): :ivar tenant_id: The tenant id of the system assigned identity which is used by the configuration. :vartype tenant_id: str - :param type: The type of identity used for the configuration. Type 'SystemAssigned' will use an + :ivar type: The type of identity used for the configuration. Type 'SystemAssigned' will use an implicitly created identity. Type 'None' will not use Managed Identity for the configuration. Possible values include: "SystemAssigned", "None". - :type type: str or + :vartype type: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceIdentityType """ @@ -95,6 +105,13 @@ def __init__( type: Optional[Union[str, "ResourceIdentityType"]] = None, **kwargs ): + """ + :keyword type: The type of identity used for the configuration. Type 'SystemAssigned' will use + an implicitly created identity. Type 'None' will not use Managed Identity for the + configuration. Possible values include: "SystemAssigned", "None". + :paramtype type: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceIdentityType + """ super(ConfigurationIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None @@ -106,11 +123,11 @@ class ErrorDefinition(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param code: Required. Service specific error code which serves as the substatus for the HTTP + :ivar code: Required. Service specific error code which serves as the substatus for the HTTP error code. - :type code: str - :param message: Required. Description of the error. - :type message: str + :vartype code: str + :ivar message: Required. Description of the error. + :vartype message: str """ _validation = { @@ -130,6 +147,13 @@ def __init__( message: str, **kwargs ): + """ + :keyword code: Required. Service specific error code which serves as the substatus for the HTTP + error code. + :paramtype code: str + :keyword message: Required. Description of the error. + :paramtype message: str + """ super(ErrorDefinition, self).__init__(**kwargs) self.code = code self.message = message @@ -156,6 +180,8 @@ def __init__( self, **kwargs ): + """ + """ super(ErrorResponse, self).__init__(**kwargs) self.error = None @@ -171,9 +197,9 @@ class Resource(msrest.serialization.Model): :vartype name: str :ivar type: Resource type. :vartype type: str - :param system_data: Top level metadata + :ivar system_data: Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :type system_data: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData """ _validation = { @@ -195,6 +221,12 @@ def __init__( system_data: Optional["SystemData"] = None, **kwargs ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + """ super(Resource, self).__init__(**kwargs) self.id = None self.name = None @@ -213,9 +245,9 @@ class ProxyResource(Resource): :vartype name: str :ivar type: Resource type. :vartype type: str - :param system_data: Top level metadata + :ivar system_data: Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :type system_data: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData """ _validation = { @@ -237,6 +269,12 @@ def __init__( system_data: Optional["SystemData"] = None, **kwargs ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + """ super(ProxyResource, self).__init__(system_data=system_data, **kwargs) @@ -251,36 +289,36 @@ class ExtensionInstance(ProxyResource): :vartype name: str :ivar type: Resource type. :vartype type: str - :param system_data: Top level metadata + :ivar system_data: Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :type system_data: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData - :param extension_type: Type of the Extension, of which this resource is an instance of. It - must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + :ivar extension_type: Type of the Extension, of which this resource is an instance of. It must + be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher. - :type extension_type: str - :param auto_upgrade_minor_version: Flag to note if this instance participates in auto upgrade - of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension instance participates in for auto-upgrade + :vartype extension_type: str + :ivar auto_upgrade_minor_version: Flag to note if this instance participates in auto upgrade of + minor version, or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension instance participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension instance, if it is 'pinned' to a + :vartype release_train: str + :ivar version: Version of the extension for this extension instance, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param scope: Scope at which the extension instance is installed. - :type scope: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Scope - :param configuration_settings: Configuration settings, as name-value pairs for configuring this + :vartype version: str + :ivar scope: Scope at which the extension instance is installed. + :vartype scope: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Scope + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this instance of the extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as name-value pairs for configuring this instance of the extension. - :type configuration_protected_settings: dict[str, str] + :vartype configuration_protected_settings: dict[str, str] :ivar install_state: Status of installation of this instance of the extension. Possible values include: "Pending", "Installed", "Failed". :vartype install_state: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.InstallStateType - :param statuses: Status from this instance of the extension. - :type statuses: + :ivar statuses: Status from this instance of the extension. + :vartype statuses: list[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionStatus] :ivar creation_time: DateLiteral (per ISO8601) noting the time the resource was created by the client (user). @@ -294,8 +332,8 @@ class ExtensionInstance(ProxyResource): :ivar error_info: Error information from the Agent - e.g. errors during installation. :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ErrorDefinition - :param identity: The identity of the configuration. - :type identity: + :ivar identity: The identity of the configuration. + :vartype identity: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ConfigurationIdentity """ @@ -346,6 +384,39 @@ def __init__( identity: Optional["ConfigurationIdentity"] = None, **kwargs ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + :keyword extension_type: Type of the Extension, of which this resource is an instance of. It + must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :paramtype extension_type: str + :keyword auto_upgrade_minor_version: Flag to note if this instance participates in auto upgrade + of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension instance participates in for auto-upgrade + (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension instance, if it is 'pinned' to a + specific version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword scope: Scope at which the extension instance is installed. + :paramtype scope: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Scope + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this instance of the extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this instance of the extension. + :paramtype configuration_protected_settings: dict[str, str] + :keyword statuses: Status from this instance of the extension. + :paramtype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionStatus] + :keyword identity: The identity of the configuration. + :paramtype identity: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ConfigurationIdentity + """ super(ExtensionInstance, self).__init__(system_data=system_data, **kwargs) self.extension_type = extension_type self.auto_upgrade_minor_version = auto_upgrade_minor_version @@ -389,6 +460,8 @@ def __init__( self, **kwargs ): + """ + """ super(ExtensionInstancesList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -397,15 +470,15 @@ def __init__( class ExtensionInstanceUpdate(msrest.serialization.Model): """Update Extension Instance request object. - :param auto_upgrade_minor_version: Flag to note if this instance participates in Extension + :ivar auto_upgrade_minor_version: Flag to note if this instance participates in Extension Lifecycle Management or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension instance participates in for auto-upgrade + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension instance participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version number of extension, to 'pin' to a specific version. + :vartype release_train: str + :ivar version: Version number of extension, to 'pin' to a specific version. autoUpgradeMinorVersion must be 'false'. - :type version: str + :vartype version: str """ _attribute_map = { @@ -422,6 +495,17 @@ def __init__( version: Optional[str] = None, **kwargs ): + """ + :keyword auto_upgrade_minor_version: Flag to note if this instance participates in Extension + Lifecycle Management or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension instance participates in for auto-upgrade + (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version number of extension, to 'pin' to a specific version. + autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + """ super(ExtensionInstanceUpdate, self).__init__(**kwargs) self.auto_upgrade_minor_version = auto_upgrade_minor_version self.release_train = release_train @@ -431,17 +515,17 @@ def __init__( class ExtensionStatus(msrest.serialization.Model): """Status from this instance of the extension. - :param code: Status code provided by the Extension. - :type code: str - :param display_status: Short description of status of this instance of the extension. - :type display_status: str - :param level: Level of the status. Possible values include: "Error", "Warning", "Information". + :ivar code: Status code provided by the Extension. + :vartype code: str + :ivar display_status: Short description of status of this instance of the extension. + :vartype display_status: str + :ivar level: Level of the status. Possible values include: "Error", "Warning", "Information". Default value: "Information". - :type level: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.LevelType - :param message: Detailed message of the status from the Extension instance. - :type message: str - :param time: DateLiteral (per ISO8601) noting the time of installation status. - :type time: str + :vartype level: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.LevelType + :ivar message: Detailed message of the status from the Extension instance. + :vartype message: str + :ivar time: DateLiteral (per ISO8601) noting the time of installation status. + :vartype time: str """ _attribute_map = { @@ -462,6 +546,20 @@ def __init__( time: Optional[str] = None, **kwargs ): + """ + :keyword code: Status code provided by the Extension. + :paramtype code: str + :keyword display_status: Short description of status of this instance of the extension. + :paramtype display_status: str + :keyword level: Level of the status. Possible values include: "Error", "Warning", + "Information". Default value: "Information". + :paramtype level: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.LevelType + :keyword message: Detailed message of the status from the Extension instance. + :paramtype message: str + :keyword time: DateLiteral (per ISO8601) noting the time of installation status. + :paramtype time: str + """ super(ExtensionStatus, self).__init__(**kwargs) self.code = code self.display_status = display_status @@ -473,10 +571,10 @@ def __init__( class HelmOperatorProperties(msrest.serialization.Model): """Properties for Helm operator. - :param chart_version: Version of the operator Helm chart. - :type chart_version: str - :param chart_values: Values override for the operator Helm chart. - :type chart_values: str + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str """ _attribute_map = { @@ -491,6 +589,12 @@ def __init__( chart_values: Optional[str] = None, **kwargs ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ super(HelmOperatorProperties, self).__init__(**kwargs) self.chart_version = chart_version self.chart_values = chart_values @@ -501,10 +605,10 @@ class ResourceProviderOperation(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param name: Operation name, in format of {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperationDisplay :ivar is_data_action: The flag that indicates whether the operation applies to data plane. :vartype is_data_action: bool @@ -527,6 +631,13 @@ def __init__( display: Optional["ResourceProviderOperationDisplay"] = None, **kwargs ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperationDisplay + """ super(ResourceProviderOperation, self).__init__(**kwargs) self.name = name self.display = display @@ -536,14 +647,14 @@ def __init__( class ResourceProviderOperationDisplay(msrest.serialization.Model): """Display metadata associated with the operation. - :param provider: Resource provider: Microsoft KubernetesConfiguration. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :param description: Description of this operation. - :type description: str + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype description: str """ _attribute_map = { @@ -562,6 +673,16 @@ def __init__( description: Optional[str] = None, **kwargs ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ super(ResourceProviderOperationDisplay, self).__init__(**kwargs) self.provider = provider self.resource = resource @@ -574,8 +695,8 @@ class ResourceProviderOperationList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param value: List of operations supported by this resource provider. - :type value: + :ivar value: List of operations supported by this resource provider. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperation] :ivar next_link: URL to the next set of results, if any. :vartype next_link: str @@ -596,6 +717,11 @@ def __init__( value: Optional[List["ResourceProviderOperation"]] = None, **kwargs ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperation] + """ super(ResourceProviderOperationList, self).__init__(**kwargs) self.value = value self.next_link = None @@ -604,8 +730,8 @@ def __init__( class Result(msrest.serialization.Model): """Sample result definition. - :param sample_property: Sample property of type string. - :type sample_property: str + :ivar sample_property: Sample property of type string. + :vartype sample_property: str """ _attribute_map = { @@ -618,6 +744,10 @@ def __init__( sample_property: Optional[str] = None, **kwargs ): + """ + :keyword sample_property: Sample property of type string. + :paramtype sample_property: str + """ super(Result, self).__init__(**kwargs) self.sample_property = sample_property @@ -625,10 +755,11 @@ def __init__( class Scope(msrest.serialization.Model): """Scope of the extensionInstance. It can be either Cluster or Namespace; but not both. - :param cluster: Specifies that the scope of the extensionInstance is Cluster. - :type cluster: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ScopeCluster - :param namespace: Specifies that the scope of the extensionInstance is Namespace. - :type namespace: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ScopeNamespace + :ivar cluster: Specifies that the scope of the extensionInstance is Cluster. + :vartype cluster: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ScopeCluster + :ivar namespace: Specifies that the scope of the extensionInstance is Namespace. + :vartype namespace: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ScopeNamespace """ _attribute_map = { @@ -643,6 +774,13 @@ def __init__( namespace: Optional["ScopeNamespace"] = None, **kwargs ): + """ + :keyword cluster: Specifies that the scope of the extensionInstance is Cluster. + :paramtype cluster: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ScopeCluster + :keyword namespace: Specifies that the scope of the extensionInstance is Namespace. + :paramtype namespace: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ScopeNamespace + """ super(Scope, self).__init__(**kwargs) self.cluster = cluster self.namespace = namespace @@ -651,9 +789,9 @@ def __init__( class ScopeCluster(msrest.serialization.Model): """Specifies that the scope of the extensionInstance is Cluster. - :param release_namespace: Namespace where the extension Release must be placed, for a Cluster + :ivar release_namespace: Namespace where the extension Release must be placed, for a Cluster scoped extensionInstance. If this namespace does not exist, it will be created. - :type release_namespace: str + :vartype release_namespace: str """ _attribute_map = { @@ -666,6 +804,11 @@ def __init__( release_namespace: Optional[str] = None, **kwargs ): + """ + :keyword release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extensionInstance. If this namespace does not exist, it will be created. + :paramtype release_namespace: str + """ super(ScopeCluster, self).__init__(**kwargs) self.release_namespace = release_namespace @@ -673,9 +816,9 @@ def __init__( class ScopeNamespace(msrest.serialization.Model): """Specifies that the scope of the extensionInstance is Namespace. - :param target_namespace: Namespace where the extensionInstance will be created for an Namespace + :ivar target_namespace: Namespace where the extensionInstance will be created for an Namespace scoped extensionInstance. If this namespace does not exist, it will be created. - :type target_namespace: str + :vartype target_namespace: str """ _attribute_map = { @@ -688,6 +831,11 @@ def __init__( target_namespace: Optional[str] = None, **kwargs ): + """ + :keyword target_namespace: Namespace where the extensionInstance will be created for an + Namespace scoped extensionInstance. If this namespace does not exist, it will be created. + :paramtype target_namespace: str + """ super(ScopeNamespace, self).__init__(**kwargs) self.target_namespace = target_namespace @@ -703,39 +851,39 @@ class SourceControlConfiguration(ProxyResource): :vartype name: str :ivar type: Resource type. :vartype type: str - :param system_data: Top level metadata + :ivar system_data: Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :type system_data: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData - :param repository_url: Url of the SourceControl Repository. - :type repository_url: str - :param operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only. - :type operator_namespace: str - :param operator_instance_name: Instance name of the operator - identifying the specific + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific configuration. - :type operator_instance_name: str - :param operator_type: Type of the operator. Possible values include: "Flux". - :type operator_type: str or + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.OperatorType - :param operator_params: Any Parameters for the Operator instance in string format. - :type operator_params: str - :param configuration_protected_settings: Name-value pairs of protected configuration settings + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings for the configuration. - :type configuration_protected_settings: dict[str, str] - :param operator_scope: Scope at which the operator will be installed. Possible values include: + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: "cluster", "namespace". Default value: "cluster". - :type operator_scope: str or + :vartype operator_scope: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.OperatorScopeType :ivar repository_public_key: Public Key associated with this SourceControl configuration (either generated within the cluster or provided by the user). :vartype repository_public_key: str - :param ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys required to access private Git instances. - :type ssh_known_hosts_contents: str - :param enable_helm_operator: Option to enable Helm Operator for this git configuration. - :type enable_helm_operator: bool - :param helm_operator_properties: Properties for Helm operator. - :type helm_operator_properties: + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.HelmOperatorProperties :ivar provisioning_state: The provisioning state of the resource provider. Possible values include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". @@ -791,6 +939,40 @@ def __init__( helm_operator_properties: Optional["HelmOperatorProperties"] = None, **kwargs ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.HelmOperatorProperties + """ super(SourceControlConfiguration, self).__init__(system_data=system_data, **kwargs) self.repository_url = repository_url self.operator_namespace = operator_namespace @@ -833,6 +1015,8 @@ def __init__( self, **kwargs ): + """ + """ super(SourceControlConfigurationList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -881,6 +1065,8 @@ def __init__( self, **kwargs ): + """ + """ super(SystemData, self).__init__(**kwargs) self.created_by = None self.created_by_type = None diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/models/_source_control_configuration_client_enums.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/models/_source_control_configuration_client_enums.py index 825cfccadd1..bae6382fbce 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/models/_source_control_configuration_client_enums.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/models/_source_control_configuration_client_enums.py @@ -6,27 +6,12 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from enum import Enum, EnumMeta +from enum import Enum from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta -class _CaseInsensitiveEnumMeta(EnumMeta): - def __getitem__(self, name): - return super().__getitem__(name.upper()) - def __getattr__(cls, name): - """Return the enum member matching `name` - We use __getattr__ instead of descriptors or inserting into the enum - class' __dict__ in order to support `name` and `value` being both - properties for enum members (which live in the class' __dict__) and - enum members themselves. - """ - try: - return cls._member_map_[name.upper()] - except KeyError: - raise AttributeError(name) - - -class ComplianceStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The compliance state of the configuration. """ @@ -36,17 +21,17 @@ class ComplianceStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): INSTALLED = "Installed" FAILED = "Failed" -class Enum0(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Enum0(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" -class Enum1(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Enum1(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): MANAGED_CLUSTERS = "managedClusters" CONNECTED_CLUSTERS = "connectedClusters" -class InstallStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class InstallStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Status of installation of this instance of the extension. """ @@ -54,7 +39,7 @@ class InstallStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): INSTALLED = "Installed" FAILED = "Failed" -class LevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class LevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Level of the status. """ @@ -62,7 +47,7 @@ class LevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): WARNING = "Warning" INFORMATION = "Information" -class MessageLevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Level of the message. """ @@ -70,20 +55,20 @@ class MessageLevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): WARNING = "Warning" INFORMATION = "Information" -class OperatorScopeType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Scope at which the operator will be installed. """ CLUSTER = "cluster" NAMESPACE = "namespace" -class OperatorType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Type of the operator """ FLUX = "Flux" -class ProvisioningStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The provisioning state of the resource provider. """ @@ -93,7 +78,7 @@ class ProvisioningStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)) SUCCEEDED = "Succeeded" FAILED = "Failed" -class ResourceIdentityType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ResourceIdentityType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The type of identity used for the configuration. Type 'SystemAssigned' will use an implicitly created identity. Type 'None' will not use Managed Identity for the configuration. """ diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/operations/_extensions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/operations/_extensions_operations.py index c3e2b0cf5f4..f0a15e102ca 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/operations/_extensions_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/operations/_extensions_operations.py @@ -5,23 +5,247 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionInstanceName": _SERIALIZER.url("extension_instance_name", extension_instance_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionInstanceName": _SERIALIZER.url("extension_instance_name", extension_instance_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionInstanceName": _SERIALIZER.url("extension_instance_name", extension_instance_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionInstanceName": _SERIALIZER.url("extension_instance_name", extension_instance_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class ExtensionsOperations(object): """ExtensionsOperations operations. @@ -45,17 +269,17 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def create( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_instance_name, # type: str - extension_instance, # type: "_models.ExtensionInstance" - **kwargs # type: Any - ): - # type: (...) -> "_models.ExtensionInstance" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + extension_instance: "_models.ExtensionInstance", + **kwargs: Any + ) -> "_models.ExtensionInstance": """Create a new Kubernetes Cluster Extension Instance. :param resource_group_name: The name of the resource group. @@ -65,13 +289,15 @@ def create( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_instance_name: Name of an instance of the Extension. :type extension_instance_name: str :param extension_instance: Properties necessary to Create an Extension Instance. - :type extension_instance: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance + :type extension_instance: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance :keyword callable cls: A custom type or function that will be passed the direct response :return: ExtensionInstance, or the result of cls(response) :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance @@ -82,41 +308,31 @@ def create( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.create.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionInstanceName': self._serialize.url("extension_instance_name", extension_instance_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + _json = self._serialize.body(extension_instance, 'ExtensionInstance') + + request = build_create_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + content_type=content_type, + json=_json, + template_url=self.create.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(extension_instance, 'ExtensionInstance') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ExtensionInstance', pipeline_response) @@ -125,18 +341,20 @@ def create( return cls(pipeline_response, deserialized, {}) return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_instance_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ExtensionInstance" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + **kwargs: Any + ) -> "_models.ExtensionInstance": """Gets details of the Kubernetes Cluster Extension Instance. :param resource_group_name: The name of the resource group. @@ -146,7 +364,8 @@ def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_instance_name: Name of an instance of the Extension. @@ -161,36 +380,26 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionInstanceName': self._serialize.url("extension_instance_name", extension_instance_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ExtensionInstance', pipeline_response) @@ -199,19 +408,21 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + @distributed_trace def update( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_instance_name, # type: str - extension_instance, # type: "_models.ExtensionInstanceUpdate" - **kwargs # type: Any - ): - # type: (...) -> "_models.ExtensionInstance" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + extension_instance: "_models.ExtensionInstanceUpdate", + **kwargs: Any + ) -> "_models.ExtensionInstance": """Update an existing Kubernetes Cluster Extension Instance. :param resource_group_name: The name of the resource group. @@ -221,13 +432,15 @@ def update( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_instance_name: Name of an instance of the Extension. :type extension_instance_name: str :param extension_instance: Properties to Update in the Extension Instance. - :type extension_instance: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstanceUpdate + :type extension_instance: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstanceUpdate :keyword callable cls: A custom type or function that will be passed the direct response :return: ExtensionInstance, or the result of cls(response) :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance @@ -238,41 +451,31 @@ def update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.update.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionInstanceName': self._serialize.url("extension_instance_name", extension_instance_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + _json = self._serialize.body(extension_instance, 'ExtensionInstanceUpdate') + + request = build_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + content_type=content_type, + json=_json, + template_url=self.update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(extension_instance, 'ExtensionInstanceUpdate') - body_content_kwargs['content'] = body_content - request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ExtensionInstance', pipeline_response) @@ -281,18 +484,20 @@ def update( return cls(pipeline_response, deserialized, {}) return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + @distributed_trace def delete( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_instance_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + **kwargs: Any + ) -> None: """Delete a Kubernetes Cluster Extension Instance. This will cause the Agent to Uninstall the extension instance from the cluster. @@ -303,7 +508,8 @@ def delete( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_instance_name: Name of an instance of the Extension. @@ -318,36 +524,26 @@ def delete( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.delete.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionInstanceName': self._serialize.url("extension_instance_name", extension_instance_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: @@ -355,15 +551,16 @@ def delete( delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ExtensionInstancesList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionInstancesList"]: """List all Source Control Configurations. :param resource_group_name: The name of the resource group. @@ -373,12 +570,15 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ExtensionInstancesList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstancesList] + :return: An iterator like instance of either ExtensionInstancesList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstancesList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionInstancesList"] @@ -386,38 +586,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionInstancesList', pipeline_response) + deserialized = self._deserialize("ExtensionInstancesList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -430,12 +629,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/operations/_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/operations/_operations.py index 1fe1fbf39b1..3e405e2ae48 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/operations/_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/operations/_operations.py @@ -5,23 +5,50 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class Operations(object): """Operations operations. @@ -45,16 +72,18 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ResourceProviderOperationList"] + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: """List all the available operations the KubernetesConfiguration resource provider supports. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperationList] + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] @@ -62,30 +91,27 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ResourceProviderOperationList', pipeline_response) + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -98,12 +124,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/operations/_source_control_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/operations/_source_control_configurations_operations.py index d192efa6d03..3a863680448 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/operations/_source_control_configurations_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_07_01_preview/operations/_source_control_configurations_operations.py @@ -5,25 +5,199 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class SourceControlConfigurationsOperations(object): """SourceControlConfigurationsOperations operations. @@ -47,16 +221,16 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.SourceControlConfiguration" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": """Gets details of the Source Control Configuration. :param resource_group_name: The name of the resource group. @@ -66,14 +240,16 @@ def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -81,36 +257,26 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) @@ -119,19 +285,21 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace def create_or_update( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - source_control_configuration, # type: "_models.SourceControlConfiguration" - **kwargs # type: Any - ): - # type: (...) -> "_models.SourceControlConfiguration" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": """Create a new Kubernetes Source Control Configuration. :param resource_group_name: The name of the resource group. @@ -141,16 +309,19 @@ def create_or_update( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. - :type source_control_configuration: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -158,41 +329,31 @@ def create_or_update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.create_or_update.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -205,70 +366,61 @@ def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + def _delete_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: cls = kwargs.pop('cls', None) # type: ClsType[None] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace def begin_delete( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: """This will delete the YAML file used to set up the Source control configuration, thus stopping future sync from the source repo. @@ -279,22 +431,25 @@ def begin_delete( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of LROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -311,24 +466,14 @@ def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -340,17 +485,18 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.SourceControlConfigurationList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: """List all Source Control Configurations. :param resource_group_name: The name of the resource group. @@ -360,12 +506,15 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SourceControlConfigurationList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfigurationList] + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfigurationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] @@ -373,38 +522,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('SourceControlConfigurationList', pipeline_response) + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -417,12 +565,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/__init__.py index f13062376d7..e9096303633 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/__init__.py @@ -12,8 +12,7 @@ __version__ = VERSION __all__ = ['SourceControlConfigurationClient'] -try: - from ._patch import patch_sdk # type: ignore - patch_sdk() -except ImportError: - pass +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/_configuration.py index d5969e53212..7167f9bec31 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/_configuration.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/_configuration.py @@ -6,18 +6,16 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +from typing import Any, TYPE_CHECKING from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy from ._version import VERSION if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any - from azure.core.credentials import TokenCredential @@ -35,16 +33,15 @@ class SourceControlConfigurationClientConfiguration(Configuration): def __init__( self, - credential, # type: "TokenCredential" - subscription_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id @@ -68,4 +65,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/_patch.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/_source_control_configuration_client.py index c079c472da6..435ce16a3a2 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/_source_control_configuration_client.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/_source_control_configuration_client.py @@ -6,79 +6,84 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING +from azure.core.rest import HttpRequest, HttpResponse from azure.mgmt.core import ARMPipelineClient from msrest import Deserializer, Serializer +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import Operations, SourceControlConfigurationsOperations + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Optional - from azure.core.credentials import TokenCredential - from azure.core.pipeline.transport import HttpRequest, HttpResponse - -from ._configuration import SourceControlConfigurationClientConfiguration -from .operations import SourceControlConfigurationsOperations -from .operations import Operations -from . import models - -class SourceControlConfigurationClient(object): +class SourceControlConfigurationClient: """KubernetesConfiguration Client. :ivar source_control_configurations: SourceControlConfigurationsOperations operations - :vartype source_control_configurations: azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.operations.SourceControlConfigurationsOperations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.operations.SourceControlConfigurationsOperations :ivar operations: Operations operations - :vartype operations: azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.operations.Operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.operations.Operations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials.TokenCredential - :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. """ def __init__( self, - credential, # type: "TokenCredential" - subscription_id, # type: str - base_url=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> None - if not base_url: - base_url = 'https://management.azure.com' - self._config = SourceControlConfigurationClientConfiguration(credential, subscription_id, **kwargs) + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) - self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) - self.source_control_configurations = SourceControlConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - def _send_request(self, http_request, **kwargs): - # type: (HttpRequest, Any) -> HttpResponse + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: """Runs the network request through the client's chained policies. - :param http_request: The network request you want to make. Required. - :type http_request: ~azure.core.pipeline.transport.HttpRequest - :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. :return: The response of your network call. Does not do error handling on your response. - :rtype: ~azure.core.pipeline.transport.HttpResponse + :rtype: ~azure.core.rest.HttpResponse """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - } - http_request.url = self._client.format_url(http_request.url, **path_format_arguments) - stream = kwargs.pop("stream", True) - pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) def close(self): # type: () -> None diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/_vendor.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/_vendor.py @@ -0,0 +1,27 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/__init__.py index ba52c91a7ba..5f583276b4e 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/__init__.py @@ -8,3 +8,8 @@ from ._source_control_configuration_client import SourceControlConfigurationClient __all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/_configuration.py index 8002c1a9fbc..2ea6b77035b 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/_configuration.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/_configuration.py @@ -10,7 +10,7 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy from .._version import VERSION @@ -37,11 +37,11 @@ def __init__( subscription_id: str, **kwargs: Any ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id @@ -64,4 +64,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/_patch.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/_source_control_configuration_client.py index 1e3021bd71a..24c6800aa80 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/_source_control_configuration_client.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/_source_control_configuration_client.py @@ -6,75 +6,84 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, Optional, TYPE_CHECKING +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.rest import AsyncHttpResponse, HttpRequest from azure.mgmt.core import AsyncARMPipelineClient from msrest import Deserializer, Serializer +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import Operations, SourceControlConfigurationsOperations + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential -from ._configuration import SourceControlConfigurationClientConfiguration -from .operations import SourceControlConfigurationsOperations -from .operations import Operations -from .. import models - - -class SourceControlConfigurationClient(object): +class SourceControlConfigurationClient: """KubernetesConfiguration Client. :ivar source_control_configurations: SourceControlConfigurationsOperations operations - :vartype source_control_configurations: azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.aio.operations.SourceControlConfigurationsOperations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.aio.operations.SourceControlConfigurationsOperations :ivar operations: Operations operations - :vartype operations: azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.aio.operations.Operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.aio.operations.Operations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials_async.AsyncTokenCredential - :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. """ def __init__( self, credential: "AsyncTokenCredential", subscription_id: str, - base_url: Optional[str] = None, + base_url: str = "https://management.azure.com", **kwargs: Any ) -> None: - if not base_url: - base_url = 'https://management.azure.com' - self._config = SourceControlConfigurationClientConfiguration(credential, subscription_id, **kwargs) + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) - self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) - self.source_control_configurations = SourceControlConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. - :param http_request: The network request you want to make. Required. - :type http_request: ~azure.core.pipeline.transport.HttpRequest - :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. :return: The response of your network call. Does not do error handling on your response. - :rtype: ~azure.core.pipeline.transport.AsyncHttpResponse + :rtype: ~azure.core.rest.AsyncHttpResponse """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - } - http_request.url = self._client.format_url(http_request.url, **path_format_arguments) - stream = kwargs.pop("stream", True) - pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) async def close(self) -> None: await self._client.close() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/operations/_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/operations/_operations.py index 3f70e7e1e81..d10b2c945f2 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/operations/_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/operations/_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, **kwargs: Any @@ -48,8 +54,10 @@ def list( """List all the available operations the KubernetesConfiguration resource provider supports. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperationList] + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] @@ -57,30 +65,27 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-10-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ResourceProviderOperationList', pipeline_response) + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -93,12 +98,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/operations/_source_control_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/operations/_source_control_configurations_operations.py index 52063acf78e..1ff137c7cc0 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/operations/_source_control_configurations_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/aio/operations/_source_control_configurations_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -43,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, @@ -61,14 +67,16 @@ async def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -76,36 +84,26 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-10-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) @@ -114,8 +112,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, @@ -135,16 +136,19 @@ async def create_or_update( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. - :type source_control_configuration: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -152,41 +156,31 @@ async def create_or_update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-10-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.create_or_update.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -199,8 +193,10 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + async def _delete_initial( self, resource_group_name: str, @@ -215,43 +211,34 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-10-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, @@ -271,22 +258,25 @@ async def begin_delete( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -303,24 +293,14 @@ async def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -332,8 +312,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + @distributed_trace def list( self, resource_group_name: str, @@ -351,12 +333,15 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SourceControlConfigurationList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfigurationList] + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfigurationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] @@ -364,38 +349,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-10-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('SourceControlConfigurationList', pipeline_response) + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -408,12 +392,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/models/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/models/__init__.py index b1e23c9e1d7..f851a5fd806 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/models/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/models/__init__.py @@ -6,34 +6,20 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -try: - from ._models_py3 import ComplianceStatus - from ._models_py3 import ErrorDefinition - from ._models_py3 import ErrorResponse - from ._models_py3 import HelmOperatorProperties - from ._models_py3 import ProxyResource - from ._models_py3 import Resource - from ._models_py3 import ResourceProviderOperation - from ._models_py3 import ResourceProviderOperationDisplay - from ._models_py3 import ResourceProviderOperationList - from ._models_py3 import Result - from ._models_py3 import SourceControlConfiguration - from ._models_py3 import SourceControlConfigurationList - from ._models_py3 import SystemData -except (SyntaxError, ImportError): - from ._models import ComplianceStatus # type: ignore - from ._models import ErrorDefinition # type: ignore - from ._models import ErrorResponse # type: ignore - from ._models import HelmOperatorProperties # type: ignore - from ._models import ProxyResource # type: ignore - from ._models import Resource # type: ignore - from ._models import ResourceProviderOperation # type: ignore - from ._models import ResourceProviderOperationDisplay # type: ignore - from ._models import ResourceProviderOperationList # type: ignore - from ._models import Result # type: ignore - from ._models import SourceControlConfiguration # type: ignore - from ._models import SourceControlConfigurationList # type: ignore - from ._models import SystemData # type: ignore +from ._models_py3 import ComplianceStatus +from ._models_py3 import ErrorDefinition +from ._models_py3 import ErrorResponse +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import ProxyResource +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Result +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SystemData + from ._source_control_configuration_client_enums import ( ComplianceStateType, diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/models/_models.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/models/_models.py deleted file mode 100644 index 12ebfd16f6d..00000000000 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/models/_models.py +++ /dev/null @@ -1,506 +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 azure.core.exceptions import HttpResponseError -import msrest.serialization - - -class ComplianceStatus(msrest.serialization.Model): - """Compliance Status details. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar compliance_state: The compliance state of the configuration. Possible values include: - "Pending", "Compliant", "Noncompliant", "Installed", "Failed". - :vartype compliance_state: str or - ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ComplianceStateType - :param last_config_applied: Datetime the configuration was last applied. - :type last_config_applied: ~datetime.datetime - :param message: Message from when the configuration was applied. - :type message: str - :param message_level: Level of the message. Possible values include: "Error", "Warning", - "Information". - :type message_level: str or - ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.MessageLevelType - """ - - _validation = { - 'compliance_state': {'readonly': True}, - } - - _attribute_map = { - 'compliance_state': {'key': 'complianceState', 'type': 'str'}, - 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, - 'message': {'key': 'message', 'type': 'str'}, - 'message_level': {'key': 'messageLevel', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ComplianceStatus, self).__init__(**kwargs) - self.compliance_state = None - self.last_config_applied = kwargs.get('last_config_applied', None) - self.message = kwargs.get('message', None) - self.message_level = kwargs.get('message_level', None) - - -class ErrorDefinition(msrest.serialization.Model): - """Error definition. - - All required parameters must be populated in order to send to Azure. - - :param code: Required. Service specific error code which serves as the substatus for the HTTP - error code. - :type code: str - :param message: Required. Description of the error. - :type message: str - """ - - _validation = { - 'code': {'required': True}, - 'message': {'required': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorDefinition, self).__init__(**kwargs) - self.code = kwargs['code'] - self.message = kwargs['message'] - - -class ErrorResponse(msrest.serialization.Model): - """Error response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar error: Error definition. - :vartype error: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ErrorDefinition - """ - - _validation = { - 'error': {'readonly': True}, - } - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDefinition'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorResponse, self).__init__(**kwargs) - self.error = None - - -class HelmOperatorProperties(msrest.serialization.Model): - """Properties for Helm operator. - - :param chart_version: Version of the operator Helm chart. - :type chart_version: str - :param chart_values: Values override for the operator Helm chart. - :type chart_values: str - """ - - _attribute_map = { - 'chart_version': {'key': 'chartVersion', 'type': 'str'}, - 'chart_values': {'key': 'chartValues', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(HelmOperatorProperties, self).__init__(**kwargs) - self.chart_version = kwargs.get('chart_version', None) - self.chart_values = kwargs.get('chart_values', None) - - -class Resource(msrest.serialization.Model): - """The Resource model definition. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Resource Id. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :type system_data: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData - """ - - _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'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__( - self, - **kwargs - ): - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.system_data = kwargs.get('system_data', None) - - -class ProxyResource(Resource): - """ARM proxy resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Resource Id. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :type system_data: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData - """ - - _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'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__( - self, - **kwargs - ): - super(ProxyResource, self).__init__(**kwargs) - - -class ResourceProviderOperation(msrest.serialization.Model): - """Supported operation of this resource provider. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param name: Operation name, in format of {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: - ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperationDisplay - :ivar is_data_action: The flag that indicates whether the operation applies to data plane. - :vartype is_data_action: bool - """ - - _validation = { - 'is_data_action': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, - 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceProviderOperation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display = kwargs.get('display', None) - self.is_data_action = None - - -class ResourceProviderOperationDisplay(msrest.serialization.Model): - """Display metadata associated with the operation. - - :param provider: Resource provider: Microsoft KubernetesConfiguration. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :param description: Description of this 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) - - -class ResourceProviderOperationList(msrest.serialization.Model): - """Result of the request to list operations. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: List of operations supported by this resource provider. - :type value: - list[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperation] - :ivar next_link: URL to the next set of results, if any. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceProviderOperationList, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class Result(msrest.serialization.Model): - """Sample result definition. - - :param sample_property: Sample property of type string. - :type sample_property: str - """ - - _attribute_map = { - 'sample_property': {'key': 'sampleProperty', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Result, self).__init__(**kwargs) - self.sample_property = kwargs.get('sample_property', None) - - -class SourceControlConfiguration(ProxyResource): - """The SourceControl Configuration object returned in Get & Put response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Resource Id. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :type system_data: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData - :param repository_url: Url of the SourceControl Repository. - :type repository_url: str - :param operator_namespace: The namespace to which this operator is installed to. Maximum of 253 - lower case alphanumeric characters, hyphen and period only. - :type operator_namespace: str - :param operator_instance_name: Instance name of the operator - identifying the specific - configuration. - :type operator_instance_name: str - :param operator_type: Type of the operator. Possible values include: "Flux". - :type operator_type: str or - ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.OperatorType - :param operator_params: Any Parameters for the Operator instance in string format. - :type operator_params: str - :param configuration_protected_settings: Name-value pairs of protected configuration settings - for the configuration. - :type configuration_protected_settings: dict[str, str] - :param operator_scope: Scope at which the operator will be installed. Possible values include: - "cluster", "namespace". Default value: "cluster". - :type operator_scope: str or - ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.OperatorScopeType - :ivar repository_public_key: Public Key associated with this SourceControl configuration - (either generated within the cluster or provided by the user). - :vartype repository_public_key: str - :param ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys - required to access private Git instances. - :type ssh_known_hosts_contents: str - :param enable_helm_operator: Option to enable Helm Operator for this git configuration. - :type enable_helm_operator: bool - :param helm_operator_properties: Properties for Helm operator. - :type helm_operator_properties: - ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.HelmOperatorProperties - :ivar provisioning_state: The provisioning state of the resource provider. Possible values - include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ProvisioningStateType - :ivar compliance_status: Compliance Status of the Configuration. - :vartype compliance_status: - ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ComplianceStatus - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'repository_public_key': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'compliance_status': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, - 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, - 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, - 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, - 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, - 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, - 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, - 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, - 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, - } - - def __init__( - self, - **kwargs - ): - super(SourceControlConfiguration, self).__init__(**kwargs) - self.repository_url = kwargs.get('repository_url', None) - self.operator_namespace = kwargs.get('operator_namespace', "default") - self.operator_instance_name = kwargs.get('operator_instance_name', None) - self.operator_type = kwargs.get('operator_type', None) - self.operator_params = kwargs.get('operator_params', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - self.operator_scope = kwargs.get('operator_scope', "cluster") - self.repository_public_key = None - self.ssh_known_hosts_contents = kwargs.get('ssh_known_hosts_contents', None) - self.enable_helm_operator = kwargs.get('enable_helm_operator', None) - self.helm_operator_properties = kwargs.get('helm_operator_properties', None) - self.provisioning_state = None - self.compliance_status = None - - -class SourceControlConfigurationList(msrest.serialization.Model): - """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Source Control Configurations within a Kubernetes cluster. - :vartype value: - list[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration] - :ivar next_link: URL to get the next set of configuration objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SourceControlConfigurationList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class SystemData(msrest.serialization.Model): - """Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar created_by: A string identifier for the identity that created the resource. - :vartype created_by: str - :ivar created_by_type: The type of identity that created the resource: user, application, - managedIdentity, key. - :vartype created_by_type: str - :ivar created_at: The timestamp of resource creation (UTC). - :vartype created_at: ~datetime.datetime - :ivar last_modified_by: A string identifier for the identity that last modified the resource. - :vartype last_modified_by: str - :ivar last_modified_by_type: The type of identity that last modified the resource: user, - application, managedIdentity, key. - :vartype last_modified_by_type: str - :ivar last_modified_at: The timestamp of resource last modification (UTC). - :vartype last_modified_at: ~datetime.datetime - """ - - _validation = { - 'created_by': {'readonly': True}, - 'created_by_type': {'readonly': True}, - 'created_at': {'readonly': True}, - 'last_modified_by': {'readonly': True}, - 'last_modified_by_type': {'readonly': True}, - 'last_modified_at': {'readonly': True}, - } - - _attribute_map = { - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'createdByType', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__( - self, - **kwargs - ): - super(SystemData, self).__init__(**kwargs) - self.created_by = None - self.created_by_type = None - self.created_at = None - self.last_modified_by = None - self.last_modified_by_type = None - self.last_modified_at = None diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/models/_models_py3.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/models/_models_py3.py index ed2e27c2b8f..b3ea2a3dcc4 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/models/_models_py3.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/models/_models_py3.py @@ -24,13 +24,13 @@ class ComplianceStatus(msrest.serialization.Model): "Pending", "Compliant", "Noncompliant", "Installed", "Failed". :vartype compliance_state: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ComplianceStateType - :param last_config_applied: Datetime the configuration was last applied. - :type last_config_applied: ~datetime.datetime - :param message: Message from when the configuration was applied. - :type message: str - :param message_level: Level of the message. Possible values include: "Error", "Warning", + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", "Information". - :type message_level: str or + :vartype message_level: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.MessageLevelType """ @@ -53,6 +53,16 @@ def __init__( message_level: Optional[Union[str, "MessageLevelType"]] = None, **kwargs ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.MessageLevelType + """ super(ComplianceStatus, self).__init__(**kwargs) self.compliance_state = None self.last_config_applied = last_config_applied @@ -65,11 +75,11 @@ class ErrorDefinition(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param code: Required. Service specific error code which serves as the substatus for the HTTP + :ivar code: Required. Service specific error code which serves as the substatus for the HTTP error code. - :type code: str - :param message: Required. Description of the error. - :type message: str + :vartype code: str + :ivar message: Required. Description of the error. + :vartype message: str """ _validation = { @@ -89,6 +99,13 @@ def __init__( message: str, **kwargs ): + """ + :keyword code: Required. Service specific error code which serves as the substatus for the HTTP + error code. + :paramtype code: str + :keyword message: Required. Description of the error. + :paramtype message: str + """ super(ErrorDefinition, self).__init__(**kwargs) self.code = code self.message = message @@ -115,6 +132,8 @@ def __init__( self, **kwargs ): + """ + """ super(ErrorResponse, self).__init__(**kwargs) self.error = None @@ -122,10 +141,10 @@ def __init__( class HelmOperatorProperties(msrest.serialization.Model): """Properties for Helm operator. - :param chart_version: Version of the operator Helm chart. - :type chart_version: str - :param chart_values: Values override for the operator Helm chart. - :type chart_values: str + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str """ _attribute_map = { @@ -140,6 +159,12 @@ def __init__( chart_values: Optional[str] = None, **kwargs ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ super(HelmOperatorProperties, self).__init__(**kwargs) self.chart_version = chart_version self.chart_values = chart_values @@ -156,9 +181,9 @@ class Resource(msrest.serialization.Model): :vartype name: str :ivar type: Resource type. :vartype type: str - :param system_data: Top level metadata + :ivar system_data: Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :type system_data: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData """ _validation = { @@ -180,6 +205,12 @@ def __init__( system_data: Optional["SystemData"] = None, **kwargs ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData + """ super(Resource, self).__init__(**kwargs) self.id = None self.name = None @@ -198,9 +229,9 @@ class ProxyResource(Resource): :vartype name: str :ivar type: Resource type. :vartype type: str - :param system_data: Top level metadata + :ivar system_data: Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :type system_data: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData """ _validation = { @@ -222,6 +253,12 @@ def __init__( system_data: Optional["SystemData"] = None, **kwargs ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData + """ super(ProxyResource, self).__init__(system_data=system_data, **kwargs) @@ -230,10 +267,10 @@ class ResourceProviderOperation(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param name: Operation name, in format of {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperationDisplay :ivar is_data_action: The flag that indicates whether the operation applies to data plane. :vartype is_data_action: bool @@ -256,6 +293,13 @@ def __init__( display: Optional["ResourceProviderOperationDisplay"] = None, **kwargs ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperationDisplay + """ super(ResourceProviderOperation, self).__init__(**kwargs) self.name = name self.display = display @@ -265,14 +309,14 @@ def __init__( class ResourceProviderOperationDisplay(msrest.serialization.Model): """Display metadata associated with the operation. - :param provider: Resource provider: Microsoft KubernetesConfiguration. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :param description: Description of this operation. - :type description: str + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype description: str """ _attribute_map = { @@ -291,6 +335,16 @@ def __init__( description: Optional[str] = None, **kwargs ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ super(ResourceProviderOperationDisplay, self).__init__(**kwargs) self.provider = provider self.resource = resource @@ -303,8 +357,8 @@ class ResourceProviderOperationList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param value: List of operations supported by this resource provider. - :type value: + :ivar value: List of operations supported by this resource provider. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperation] :ivar next_link: URL to the next set of results, if any. :vartype next_link: str @@ -325,6 +379,11 @@ def __init__( value: Optional[List["ResourceProviderOperation"]] = None, **kwargs ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperation] + """ super(ResourceProviderOperationList, self).__init__(**kwargs) self.value = value self.next_link = None @@ -333,8 +392,8 @@ def __init__( class Result(msrest.serialization.Model): """Sample result definition. - :param sample_property: Sample property of type string. - :type sample_property: str + :ivar sample_property: Sample property of type string. + :vartype sample_property: str """ _attribute_map = { @@ -347,6 +406,10 @@ def __init__( sample_property: Optional[str] = None, **kwargs ): + """ + :keyword sample_property: Sample property of type string. + :paramtype sample_property: str + """ super(Result, self).__init__(**kwargs) self.sample_property = sample_property @@ -362,39 +425,39 @@ class SourceControlConfiguration(ProxyResource): :vartype name: str :ivar type: Resource type. :vartype type: str - :param system_data: Top level metadata + :ivar system_data: Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :type system_data: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData - :param repository_url: Url of the SourceControl Repository. - :type repository_url: str - :param operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only. - :type operator_namespace: str - :param operator_instance_name: Instance name of the operator - identifying the specific + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific configuration. - :type operator_instance_name: str - :param operator_type: Type of the operator. Possible values include: "Flux". - :type operator_type: str or + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.OperatorType - :param operator_params: Any Parameters for the Operator instance in string format. - :type operator_params: str - :param configuration_protected_settings: Name-value pairs of protected configuration settings + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings for the configuration. - :type configuration_protected_settings: dict[str, str] - :param operator_scope: Scope at which the operator will be installed. Possible values include: + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: "cluster", "namespace". Default value: "cluster". - :type operator_scope: str or + :vartype operator_scope: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.OperatorScopeType :ivar repository_public_key: Public Key associated with this SourceControl configuration (either generated within the cluster or provided by the user). :vartype repository_public_key: str - :param ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys required to access private Git instances. - :type ssh_known_hosts_contents: str - :param enable_helm_operator: Option to enable Helm Operator for this git configuration. - :type enable_helm_operator: bool - :param helm_operator_properties: Properties for Helm operator. - :type helm_operator_properties: + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.HelmOperatorProperties :ivar provisioning_state: The provisioning state of the resource provider. Possible values include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". @@ -450,6 +513,40 @@ def __init__( helm_operator_properties: Optional["HelmOperatorProperties"] = None, **kwargs ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.HelmOperatorProperties + """ super(SourceControlConfiguration, self).__init__(system_data=system_data, **kwargs) self.repository_url = repository_url self.operator_namespace = operator_namespace @@ -492,6 +589,8 @@ def __init__( self, **kwargs ): + """ + """ super(SourceControlConfigurationList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -540,6 +639,8 @@ def __init__( self, **kwargs ): + """ + """ super(SystemData, self).__init__(**kwargs) self.created_by = None self.created_by_type = None diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/models/_source_control_configuration_client_enums.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/models/_source_control_configuration_client_enums.py index 3803d916bfd..f15af9df3a0 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/models/_source_control_configuration_client_enums.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/models/_source_control_configuration_client_enums.py @@ -6,27 +6,12 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from enum import Enum, EnumMeta +from enum import Enum from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta -class _CaseInsensitiveEnumMeta(EnumMeta): - def __getitem__(self, name): - return super().__getitem__(name.upper()) - def __getattr__(cls, name): - """Return the enum member matching `name` - We use __getattr__ instead of descriptors or inserting into the enum - class' __dict__ in order to support `name` and `value` being both - properties for enum members (which live in the class' __dict__) and - enum members themselves. - """ - try: - return cls._member_map_[name.upper()] - except KeyError: - raise AttributeError(name) - - -class ComplianceStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The compliance state of the configuration. """ @@ -36,17 +21,17 @@ class ComplianceStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): INSTALLED = "Installed" FAILED = "Failed" -class Enum0(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Enum0(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" -class Enum1(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Enum1(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): MANAGED_CLUSTERS = "managedClusters" CONNECTED_CLUSTERS = "connectedClusters" -class MessageLevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Level of the message. """ @@ -54,20 +39,20 @@ class MessageLevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): WARNING = "Warning" INFORMATION = "Information" -class OperatorScopeType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Scope at which the operator will be installed. """ CLUSTER = "cluster" NAMESPACE = "namespace" -class OperatorType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Type of the operator """ FLUX = "Flux" -class ProvisioningStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The provisioning state of the resource provider. """ diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/operations/_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/operations/_operations.py index 09bd96085f7..04f675b2f5e 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/operations/_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/operations/_operations.py @@ -5,23 +5,50 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2020-10-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class Operations(object): """Operations operations. @@ -45,16 +72,18 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ResourceProviderOperationList"] + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: """List all the available operations the KubernetesConfiguration resource provider supports. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperationList] + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] @@ -62,30 +91,27 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-10-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ResourceProviderOperationList', pipeline_response) + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -98,12 +124,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/operations/_source_control_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/operations/_source_control_configurations_operations.py index fa926900038..8eebc483790 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/operations/_source_control_configurations_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2020_10_01_preview/operations/_source_control_configurations_operations.py @@ -5,25 +5,199 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-10-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2020-10-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-10-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-10-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class SourceControlConfigurationsOperations(object): """SourceControlConfigurationsOperations operations. @@ -47,16 +221,16 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.SourceControlConfiguration" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": """Gets details of the Source Control Configuration. :param resource_group_name: The name of the resource group. @@ -66,14 +240,16 @@ def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -81,36 +257,26 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-10-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) @@ -119,19 +285,21 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace def create_or_update( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - source_control_configuration, # type: "_models.SourceControlConfiguration" - **kwargs # type: Any - ): - # type: (...) -> "_models.SourceControlConfiguration" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": """Create a new Kubernetes Source Control Configuration. :param resource_group_name: The name of the resource group. @@ -141,16 +309,19 @@ def create_or_update( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. - :type source_control_configuration: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -158,41 +329,31 @@ def create_or_update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-10-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.create_or_update.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -205,70 +366,61 @@ def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + def _delete_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: cls = kwargs.pop('cls', None) # type: ClsType[None] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-10-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace def begin_delete( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: """This will delete the YAML file used to set up the Source control configuration, thus stopping future sync from the source repo. @@ -279,22 +431,25 @@ def begin_delete( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of LROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -311,24 +466,14 @@ def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -340,17 +485,18 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.SourceControlConfigurationList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: """List all Source Control Configurations. :param resource_group_name: The name of the resource group. @@ -360,12 +506,15 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SourceControlConfigurationList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfigurationList] + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfigurationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] @@ -373,38 +522,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-10-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('SourceControlConfigurationList', pipeline_response) + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -417,12 +565,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/__init__.py index f13062376d7..e9096303633 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/__init__.py @@ -12,8 +12,7 @@ __version__ = VERSION __all__ = ['SourceControlConfigurationClient'] -try: - from ._patch import patch_sdk # type: ignore - patch_sdk() -except ImportError: - pass +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/_configuration.py index 645328abb1f..d1e0dc4fffe 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/_configuration.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/_configuration.py @@ -6,18 +6,16 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +from typing import Any, TYPE_CHECKING from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy from ._version import VERSION if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any - from azure.core.credentials import TokenCredential @@ -35,16 +33,15 @@ class SourceControlConfigurationClientConfiguration(Configuration): def __init__( self, - credential, # type: "TokenCredential" - subscription_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id @@ -68,4 +65,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/_patch.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/_source_control_configuration_client.py index 50b673797b5..d88edd7b180 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/_source_control_configuration_client.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/_source_control_configuration_client.py @@ -6,79 +6,83 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING +from azure.core.rest import HttpRequest, HttpResponse from azure.mgmt.core import ARMPipelineClient from msrest import Deserializer, Serializer +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import Operations, SourceControlConfigurationsOperations + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Optional - from azure.core.credentials import TokenCredential - from azure.core.pipeline.transport import HttpRequest, HttpResponse - -from ._configuration import SourceControlConfigurationClientConfiguration -from .operations import SourceControlConfigurationsOperations -from .operations import Operations -from . import models - -class SourceControlConfigurationClient(object): +class SourceControlConfigurationClient: """KubernetesConfiguration Client. :ivar source_control_configurations: SourceControlConfigurationsOperations operations - :vartype source_control_configurations: azure.mgmt.kubernetesconfiguration.v2021_03_01.operations.SourceControlConfigurationsOperations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2021_03_01.operations.SourceControlConfigurationsOperations :ivar operations: Operations operations :vartype operations: azure.mgmt.kubernetesconfiguration.v2021_03_01.operations.Operations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials.TokenCredential - :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. """ def __init__( self, - credential, # type: "TokenCredential" - subscription_id, # type: str - base_url=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> None - if not base_url: - base_url = 'https://management.azure.com' - self._config = SourceControlConfigurationClientConfiguration(credential, subscription_id, **kwargs) + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) - self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) - self.source_control_configurations = SourceControlConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - def _send_request(self, http_request, **kwargs): - # type: (HttpRequest, Any) -> HttpResponse + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: """Runs the network request through the client's chained policies. - :param http_request: The network request you want to make. Required. - :type http_request: ~azure.core.pipeline.transport.HttpRequest - :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. :return: The response of your network call. Does not do error handling on your response. - :rtype: ~azure.core.pipeline.transport.HttpResponse + :rtype: ~azure.core.rest.HttpResponse """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - } - http_request.url = self._client.format_url(http_request.url, **path_format_arguments) - stream = kwargs.pop("stream", True) - pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) def close(self): # type: () -> None diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/_vendor.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/_vendor.py @@ -0,0 +1,27 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/__init__.py index ba52c91a7ba..5f583276b4e 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/__init__.py @@ -8,3 +8,8 @@ from ._source_control_configuration_client import SourceControlConfigurationClient __all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/_configuration.py index 682d2762893..6e8d28ce1ac 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/_configuration.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/_configuration.py @@ -10,7 +10,7 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy from .._version import VERSION @@ -37,11 +37,11 @@ def __init__( subscription_id: str, **kwargs: Any ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id @@ -64,4 +64,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/_patch.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/_source_control_configuration_client.py index 2db9ca6cfeb..ebbe4381c95 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/_source_control_configuration_client.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/_source_control_configuration_client.py @@ -6,75 +6,83 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, Optional, TYPE_CHECKING +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.rest import AsyncHttpResponse, HttpRequest from azure.mgmt.core import AsyncARMPipelineClient from msrest import Deserializer, Serializer +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import Operations, SourceControlConfigurationsOperations + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential -from ._configuration import SourceControlConfigurationClientConfiguration -from .operations import SourceControlConfigurationsOperations -from .operations import Operations -from .. import models - - -class SourceControlConfigurationClient(object): +class SourceControlConfigurationClient: """KubernetesConfiguration Client. :ivar source_control_configurations: SourceControlConfigurationsOperations operations - :vartype source_control_configurations: azure.mgmt.kubernetesconfiguration.v2021_03_01.aio.operations.SourceControlConfigurationsOperations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2021_03_01.aio.operations.SourceControlConfigurationsOperations :ivar operations: Operations operations :vartype operations: azure.mgmt.kubernetesconfiguration.v2021_03_01.aio.operations.Operations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials_async.AsyncTokenCredential - :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. """ def __init__( self, credential: "AsyncTokenCredential", subscription_id: str, - base_url: Optional[str] = None, + base_url: str = "https://management.azure.com", **kwargs: Any ) -> None: - if not base_url: - base_url = 'https://management.azure.com' - self._config = SourceControlConfigurationClientConfiguration(credential, subscription_id, **kwargs) + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) - self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) - self.source_control_configurations = SourceControlConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. - :param http_request: The network request you want to make. Required. - :type http_request: ~azure.core.pipeline.transport.HttpRequest - :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. :return: The response of your network call. Does not do error handling on your response. - :rtype: ~azure.core.pipeline.transport.AsyncHttpResponse + :rtype: ~azure.core.rest.AsyncHttpResponse """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - } - http_request.url = self._client.format_url(http_request.url, **path_format_arguments) - stream = kwargs.pop("stream", True) - pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) async def close(self) -> None: await self._client.close() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/operations/_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/operations/_operations.py index 09d8376d112..ced61c24199 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/operations/_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/operations/_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, **kwargs: Any @@ -48,8 +54,10 @@ def list( """List all the available operations the KubernetesConfiguration resource provider supports. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperationList] + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] @@ -57,30 +65,27 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-03-01" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ResourceProviderOperationList', pipeline_response) + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -93,12 +98,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/operations/_source_control_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/operations/_source_control_configurations_operations.py index db8449803bd..8ca4a2f361a 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/operations/_source_control_configurations_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/aio/operations/_source_control_configurations_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -43,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, @@ -61,7 +67,8 @@ async def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. @@ -76,36 +83,26 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-03-01" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) @@ -114,8 +111,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, @@ -135,13 +135,15 @@ async def create_or_update( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. - :type source_control_configuration: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration @@ -152,41 +154,31 @@ async def create_or_update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-03-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.create_or_update.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -199,8 +191,10 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + async def _delete_initial( self, resource_group_name: str, @@ -215,43 +209,34 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-03-01" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, @@ -271,22 +256,25 @@ async def begin_delete( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -303,24 +291,14 @@ async def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -332,8 +310,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + @distributed_trace def list( self, resource_group_name: str, @@ -351,12 +331,15 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SourceControlConfigurationList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfigurationList] + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfigurationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] @@ -364,38 +347,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-03-01" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('SourceControlConfigurationList', pipeline_response) + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -408,12 +390,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/models/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/models/__init__.py index 95574a9920b..ec901c15835 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/models/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/models/__init__.py @@ -6,34 +6,20 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -try: - from ._models_py3 import ComplianceStatus - from ._models_py3 import ErrorDefinition - from ._models_py3 import ErrorResponse - from ._models_py3 import HelmOperatorProperties - from ._models_py3 import ProxyResource - from ._models_py3 import Resource - from ._models_py3 import ResourceProviderOperation - from ._models_py3 import ResourceProviderOperationDisplay - from ._models_py3 import ResourceProviderOperationList - from ._models_py3 import Result - from ._models_py3 import SourceControlConfiguration - from ._models_py3 import SourceControlConfigurationList - from ._models_py3 import SystemData -except (SyntaxError, ImportError): - from ._models import ComplianceStatus # type: ignore - from ._models import ErrorDefinition # type: ignore - from ._models import ErrorResponse # type: ignore - from ._models import HelmOperatorProperties # type: ignore - from ._models import ProxyResource # type: ignore - from ._models import Resource # type: ignore - from ._models import ResourceProviderOperation # type: ignore - from ._models import ResourceProviderOperationDisplay # type: ignore - from ._models import ResourceProviderOperationList # type: ignore - from ._models import Result # type: ignore - from ._models import SourceControlConfiguration # type: ignore - from ._models import SourceControlConfigurationList # type: ignore - from ._models import SystemData # type: ignore +from ._models_py3 import ComplianceStatus +from ._models_py3 import ErrorDefinition +from ._models_py3 import ErrorResponse +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import ProxyResource +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Result +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SystemData + from ._source_control_configuration_client_enums import ( ComplianceStateType, diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/models/_models.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/models/_models.py deleted file mode 100644 index 00bd900ea10..00000000000 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/models/_models.py +++ /dev/null @@ -1,495 +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 azure.core.exceptions import HttpResponseError -import msrest.serialization - - -class ComplianceStatus(msrest.serialization.Model): - """Compliance Status details. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar compliance_state: The compliance state of the configuration. Possible values include: - "Pending", "Compliant", "Noncompliant", "Installed", "Failed". - :vartype compliance_state: str or - ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ComplianceStateType - :param last_config_applied: Datetime the configuration was last applied. - :type last_config_applied: ~datetime.datetime - :param message: Message from when the configuration was applied. - :type message: str - :param message_level: Level of the message. Possible values include: "Error", "Warning", - "Information". - :type message_level: str or - ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.MessageLevelType - """ - - _validation = { - 'compliance_state': {'readonly': True}, - } - - _attribute_map = { - 'compliance_state': {'key': 'complianceState', 'type': 'str'}, - 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, - 'message': {'key': 'message', 'type': 'str'}, - 'message_level': {'key': 'messageLevel', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ComplianceStatus, self).__init__(**kwargs) - self.compliance_state = None - self.last_config_applied = kwargs.get('last_config_applied', None) - self.message = kwargs.get('message', None) - self.message_level = kwargs.get('message_level', None) - - -class ErrorDefinition(msrest.serialization.Model): - """Error definition. - - All required parameters must be populated in order to send to Azure. - - :param code: Required. Service specific error code which serves as the substatus for the HTTP - error code. - :type code: str - :param message: Required. Description of the error. - :type message: str - """ - - _validation = { - 'code': {'required': True}, - 'message': {'required': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorDefinition, self).__init__(**kwargs) - self.code = kwargs['code'] - self.message = kwargs['message'] - - -class ErrorResponse(msrest.serialization.Model): - """Error response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar error: Error definition. - :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ErrorDefinition - """ - - _validation = { - 'error': {'readonly': True}, - } - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDefinition'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorResponse, self).__init__(**kwargs) - self.error = None - - -class HelmOperatorProperties(msrest.serialization.Model): - """Properties for Helm operator. - - :param chart_version: Version of the operator Helm chart. - :type chart_version: str - :param chart_values: Values override for the operator Helm chart. - :type chart_values: str - """ - - _attribute_map = { - 'chart_version': {'key': 'chartVersion', 'type': 'str'}, - 'chart_values': {'key': 'chartValues', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(HelmOperatorProperties, self).__init__(**kwargs) - self.chart_version = kwargs.get('chart_version', None) - self.chart_values = kwargs.get('chart_values', None) - - -class Resource(msrest.serialization.Model): - """Common fields that are returned in the response for all Azure Resource Manager 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. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - - -class ProxyResource(Resource): - """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ProxyResource, self).__init__(**kwargs) - - -class ResourceProviderOperation(msrest.serialization.Model): - """Supported operation of this resource provider. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param name: Operation name, in format of {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: - ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperationDisplay - :ivar is_data_action: The flag that indicates whether the operation applies to data plane. - :vartype is_data_action: bool - """ - - _validation = { - 'is_data_action': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, - 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceProviderOperation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display = kwargs.get('display', None) - self.is_data_action = None - - -class ResourceProviderOperationDisplay(msrest.serialization.Model): - """Display metadata associated with the operation. - - :param provider: Resource provider: Microsoft KubernetesConfiguration. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :param description: Description of this 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) - - -class ResourceProviderOperationList(msrest.serialization.Model): - """Result of the request to list operations. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: List of operations supported by this resource provider. - :type value: - list[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperation] - :ivar next_link: URL to the next set of results, if any. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceProviderOperationList, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class Result(msrest.serialization.Model): - """Sample result definition. - - :param sample_property: Sample property of type string. - :type sample_property: str - """ - - _attribute_map = { - 'sample_property': {'key': 'sampleProperty', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Result, self).__init__(**kwargs) - self.sample_property = kwargs.get('sample_property', None) - - -class SourceControlConfiguration(ProxyResource): - """The SourceControl Configuration object returned in Get & Put response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SystemData - :param repository_url: Url of the SourceControl Repository. - :type repository_url: str - :param operator_namespace: The namespace to which this operator is installed to. Maximum of 253 - lower case alphanumeric characters, hyphen and period only. - :type operator_namespace: str - :param operator_instance_name: Instance name of the operator - identifying the specific - configuration. - :type operator_instance_name: str - :param operator_type: Type of the operator. Possible values include: "Flux". - :type operator_type: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.OperatorType - :param operator_params: Any Parameters for the Operator instance in string format. - :type operator_params: str - :param configuration_protected_settings: Name-value pairs of protected configuration settings - for the configuration. - :type configuration_protected_settings: dict[str, str] - :param operator_scope: Scope at which the operator will be installed. Possible values include: - "cluster", "namespace". Default value: "cluster". - :type operator_scope: str or - ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.OperatorScopeType - :ivar repository_public_key: Public Key associated with this SourceControl configuration - (either generated within the cluster or provided by the user). - :vartype repository_public_key: str - :param ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys - required to access private Git instances. - :type ssh_known_hosts_contents: str - :param enable_helm_operator: Option to enable Helm Operator for this git configuration. - :type enable_helm_operator: bool - :param helm_operator_properties: Properties for Helm operator. - :type helm_operator_properties: - ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.HelmOperatorProperties - :ivar provisioning_state: The provisioning state of the resource provider. Possible values - include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ProvisioningStateType - :ivar compliance_status: Compliance Status of the Configuration. - :vartype compliance_status: - ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ComplianceStatus - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - 'repository_public_key': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'compliance_status': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, - 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, - 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, - 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, - 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, - 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, - 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, - 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, - 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, - } - - def __init__( - self, - **kwargs - ): - super(SourceControlConfiguration, self).__init__(**kwargs) - self.system_data = None - self.repository_url = kwargs.get('repository_url', None) - self.operator_namespace = kwargs.get('operator_namespace', "default") - self.operator_instance_name = kwargs.get('operator_instance_name', None) - self.operator_type = kwargs.get('operator_type', None) - self.operator_params = kwargs.get('operator_params', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - self.operator_scope = kwargs.get('operator_scope', "cluster") - self.repository_public_key = None - self.ssh_known_hosts_contents = kwargs.get('ssh_known_hosts_contents', None) - self.enable_helm_operator = kwargs.get('enable_helm_operator', None) - self.helm_operator_properties = kwargs.get('helm_operator_properties', None) - self.provisioning_state = None - self.compliance_status = None - - -class SourceControlConfigurationList(msrest.serialization.Model): - """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Source Control Configurations within a Kubernetes cluster. - :vartype value: - list[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration] - :ivar next_link: URL to get the next set of configuration objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SourceControlConfigurationList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class SystemData(msrest.serialization.Model): - """Metadata pertaining to creation and last modification of the resource. - - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. Possible values - include: "User", "Application", "ManagedIdentity", "Key". - :type created_by_type: str or - ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: ~datetime.datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the resource. Possible - values include: "User", "Application", "ManagedIdentity", "Key". - :type last_modified_by_type: str or - ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime - """ - - _attribute_map = { - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'createdByType', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__( - self, - **kwargs - ): - super(SystemData, self).__init__(**kwargs) - self.created_by = kwargs.get('created_by', None) - self.created_by_type = kwargs.get('created_by_type', None) - self.created_at = kwargs.get('created_at', None) - self.last_modified_by = kwargs.get('last_modified_by', None) - self.last_modified_by_type = kwargs.get('last_modified_by_type', None) - self.last_modified_at = kwargs.get('last_modified_at', None) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/models/_models_py3.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/models/_models_py3.py index 259854d16de..fb21995b82b 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/models/_models_py3.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/models/_models_py3.py @@ -24,13 +24,13 @@ class ComplianceStatus(msrest.serialization.Model): "Pending", "Compliant", "Noncompliant", "Installed", "Failed". :vartype compliance_state: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ComplianceStateType - :param last_config_applied: Datetime the configuration was last applied. - :type last_config_applied: ~datetime.datetime - :param message: Message from when the configuration was applied. - :type message: str - :param message_level: Level of the message. Possible values include: "Error", "Warning", + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", "Information". - :type message_level: str or + :vartype message_level: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.MessageLevelType """ @@ -53,6 +53,16 @@ def __init__( message_level: Optional[Union[str, "MessageLevelType"]] = None, **kwargs ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.MessageLevelType + """ super(ComplianceStatus, self).__init__(**kwargs) self.compliance_state = None self.last_config_applied = last_config_applied @@ -65,11 +75,11 @@ class ErrorDefinition(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param code: Required. Service specific error code which serves as the substatus for the HTTP + :ivar code: Required. Service specific error code which serves as the substatus for the HTTP error code. - :type code: str - :param message: Required. Description of the error. - :type message: str + :vartype code: str + :ivar message: Required. Description of the error. + :vartype message: str """ _validation = { @@ -89,6 +99,13 @@ def __init__( message: str, **kwargs ): + """ + :keyword code: Required. Service specific error code which serves as the substatus for the HTTP + error code. + :paramtype code: str + :keyword message: Required. Description of the error. + :paramtype message: str + """ super(ErrorDefinition, self).__init__(**kwargs) self.code = code self.message = message @@ -115,6 +132,8 @@ def __init__( self, **kwargs ): + """ + """ super(ErrorResponse, self).__init__(**kwargs) self.error = None @@ -122,10 +141,10 @@ def __init__( class HelmOperatorProperties(msrest.serialization.Model): """Properties for Helm operator. - :param chart_version: Version of the operator Helm chart. - :type chart_version: str - :param chart_values: Values override for the operator Helm chart. - :type chart_values: str + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str """ _attribute_map = { @@ -140,6 +159,12 @@ def __init__( chart_values: Optional[str] = None, **kwargs ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ super(HelmOperatorProperties, self).__init__(**kwargs) self.chart_version = chart_version self.chart_values = chart_values @@ -176,6 +201,8 @@ def __init__( self, **kwargs ): + """ + """ super(Resource, self).__init__(**kwargs) self.id = None self.name = None @@ -213,6 +240,8 @@ def __init__( self, **kwargs ): + """ + """ super(ProxyResource, self).__init__(**kwargs) @@ -221,10 +250,10 @@ class ResourceProviderOperation(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param name: Operation name, in format of {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperationDisplay :ivar is_data_action: The flag that indicates whether the operation applies to data plane. :vartype is_data_action: bool @@ -247,6 +276,13 @@ def __init__( display: Optional["ResourceProviderOperationDisplay"] = None, **kwargs ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperationDisplay + """ super(ResourceProviderOperation, self).__init__(**kwargs) self.name = name self.display = display @@ -256,14 +292,14 @@ def __init__( class ResourceProviderOperationDisplay(msrest.serialization.Model): """Display metadata associated with the operation. - :param provider: Resource provider: Microsoft KubernetesConfiguration. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :param description: Description of this operation. - :type description: str + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype description: str """ _attribute_map = { @@ -282,6 +318,16 @@ def __init__( description: Optional[str] = None, **kwargs ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ super(ResourceProviderOperationDisplay, self).__init__(**kwargs) self.provider = provider self.resource = resource @@ -294,8 +340,8 @@ class ResourceProviderOperationList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param value: List of operations supported by this resource provider. - :type value: + :ivar value: List of operations supported by this resource provider. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperation] :ivar next_link: URL to the next set of results, if any. :vartype next_link: str @@ -316,6 +362,11 @@ def __init__( value: Optional[List["ResourceProviderOperation"]] = None, **kwargs ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperation] + """ super(ResourceProviderOperationList, self).__init__(**kwargs) self.value = value self.next_link = None @@ -324,8 +375,8 @@ def __init__( class Result(msrest.serialization.Model): """Sample result definition. - :param sample_property: Sample property of type string. - :type sample_property: str + :ivar sample_property: Sample property of type string. + :vartype sample_property: str """ _attribute_map = { @@ -338,6 +389,10 @@ def __init__( sample_property: Optional[str] = None, **kwargs ): + """ + :keyword sample_property: Sample property of type string. + :paramtype sample_property: str + """ super(Result, self).__init__(**kwargs) self.sample_property = sample_property @@ -358,35 +413,36 @@ class SourceControlConfiguration(ProxyResource): :ivar system_data: Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SystemData - :param repository_url: Url of the SourceControl Repository. - :type repository_url: str - :param operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only. - :type operator_namespace: str - :param operator_instance_name: Instance name of the operator - identifying the specific + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific configuration. - :type operator_instance_name: str - :param operator_type: Type of the operator. Possible values include: "Flux". - :type operator_type: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.OperatorType - :param operator_params: Any Parameters for the Operator instance in string format. - :type operator_params: str - :param configuration_protected_settings: Name-value pairs of protected configuration settings + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.OperatorType + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings for the configuration. - :type configuration_protected_settings: dict[str, str] - :param operator_scope: Scope at which the operator will be installed. Possible values include: + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: "cluster", "namespace". Default value: "cluster". - :type operator_scope: str or + :vartype operator_scope: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.OperatorScopeType :ivar repository_public_key: Public Key associated with this SourceControl configuration (either generated within the cluster or provided by the user). :vartype repository_public_key: str - :param ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys required to access private Git instances. - :type ssh_known_hosts_contents: str - :param enable_helm_operator: Option to enable Helm Operator for this git configuration. - :type enable_helm_operator: bool - :param helm_operator_properties: Properties for Helm operator. - :type helm_operator_properties: + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.HelmOperatorProperties :ivar provisioning_state: The provisioning state of the resource provider. Possible values include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". @@ -442,6 +498,36 @@ def __init__( helm_operator_properties: Optional["HelmOperatorProperties"] = None, **kwargs ): + """ + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.HelmOperatorProperties + """ super(SourceControlConfiguration, self).__init__(**kwargs) self.system_data = None self.repository_url = repository_url @@ -485,6 +571,8 @@ def __init__( self, **kwargs ): + """ + """ super(SourceControlConfigurationList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -493,22 +581,22 @@ def __init__( class SystemData(msrest.serialization.Model): """Metadata pertaining to creation and last modification of the resource. - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. Possible values - include: "User", "Application", "ManagedIdentity", "Key". - :type created_by_type: str or + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: ~datetime.datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the resource. Possible + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Possible values include: "User", "Application", "ManagedIdentity", "Key". - :type last_modified_by_type: str or + :vartype last_modified_by_type: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime """ _attribute_map = { @@ -531,6 +619,24 @@ def __init__( last_modified_at: Optional[datetime.datetime] = None, **kwargs ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ super(SystemData, self).__init__(**kwargs) self.created_by = created_by self.created_by_type = created_by_type diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/models/_source_control_configuration_client_enums.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/models/_source_control_configuration_client_enums.py index be122639f51..68b551afcbe 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/models/_source_control_configuration_client_enums.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/models/_source_control_configuration_client_enums.py @@ -6,27 +6,12 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from enum import Enum, EnumMeta +from enum import Enum from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta -class _CaseInsensitiveEnumMeta(EnumMeta): - def __getitem__(self, name): - return super().__getitem__(name.upper()) - def __getattr__(cls, name): - """Return the enum member matching `name` - We use __getattr__ instead of descriptors or inserting into the enum - class' __dict__ in order to support `name` and `value` being both - properties for enum members (which live in the class' __dict__) and - enum members themselves. - """ - try: - return cls._member_map_[name.upper()] - except KeyError: - raise AttributeError(name) - - -class ComplianceStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The compliance state of the configuration. """ @@ -36,7 +21,7 @@ class ComplianceStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): INSTALLED = "Installed" FAILED = "Failed" -class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class CreatedByType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The type of identity that created the resource. """ @@ -45,17 +30,17 @@ class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): MANAGED_IDENTITY = "ManagedIdentity" KEY = "Key" -class Enum0(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Enum0(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" -class Enum1(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Enum1(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): MANAGED_CLUSTERS = "managedClusters" CONNECTED_CLUSTERS = "connectedClusters" -class MessageLevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Level of the message. """ @@ -63,20 +48,20 @@ class MessageLevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): WARNING = "Warning" INFORMATION = "Information" -class OperatorScopeType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Scope at which the operator will be installed. """ CLUSTER = "cluster" NAMESPACE = "namespace" -class OperatorType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Type of the operator """ FLUX = "Flux" -class ProvisioningStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The provisioning state of the resource provider. """ diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/operations/_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/operations/_operations.py index 4f46b393205..284e6510ab7 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/operations/_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/operations/_operations.py @@ -5,23 +5,50 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2021-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class Operations(object): """Operations operations. @@ -45,16 +72,18 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ResourceProviderOperationList"] + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: """List all the available operations the KubernetesConfiguration resource provider supports. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperationList] + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] @@ -62,30 +91,27 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-03-01" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ResourceProviderOperationList', pipeline_response) + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -98,12 +124,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/operations/_source_control_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/operations/_source_control_configurations_operations.py index 7808e3e5917..a36d0e745c0 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/operations/_source_control_configurations_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_03_01/operations/_source_control_configurations_operations.py @@ -5,25 +5,199 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class SourceControlConfigurationsOperations(object): """SourceControlConfigurationsOperations operations. @@ -47,16 +221,16 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.SourceControlConfiguration" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": """Gets details of the Source Control Configuration. :param resource_group_name: The name of the resource group. @@ -66,7 +240,8 @@ def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. @@ -81,36 +256,26 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-03-01" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) @@ -119,19 +284,21 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace def create_or_update( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - source_control_configuration, # type: "_models.SourceControlConfiguration" - **kwargs # type: Any - ): - # type: (...) -> "_models.SourceControlConfiguration" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": """Create a new Kubernetes Source Control Configuration. :param resource_group_name: The name of the resource group. @@ -141,13 +308,15 @@ def create_or_update( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. - :type source_control_configuration: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration @@ -158,41 +327,31 @@ def create_or_update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-03-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.create_or_update.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -205,70 +364,61 @@ def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + def _delete_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: cls = kwargs.pop('cls', None) # type: ClsType[None] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-03-01" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace def begin_delete( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: """This will delete the YAML file used to set up the Source control configuration, thus stopping future sync from the source repo. @@ -279,22 +429,25 @@ def begin_delete( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of LROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -311,24 +464,14 @@ def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -340,17 +483,18 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.SourceControlConfigurationList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: """List all Source Control Configurations. :param resource_group_name: The name of the resource group. @@ -360,12 +504,15 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SourceControlConfigurationList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfigurationList] + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfigurationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] @@ -373,38 +520,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-03-01" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('SourceControlConfigurationList', pipeline_response) + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -417,12 +563,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/__init__.py index f13062376d7..e9096303633 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/__init__.py @@ -12,8 +12,7 @@ __version__ = VERSION __all__ = ['SourceControlConfigurationClient'] -try: - from ._patch import patch_sdk # type: ignore - patch_sdk() -except ImportError: - pass +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/_configuration.py index 65baac1ee82..e0d799c1310 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/_configuration.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/_configuration.py @@ -6,18 +6,16 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +from typing import Any, TYPE_CHECKING from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy from ._version import VERSION if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any - from azure.core.credentials import TokenCredential @@ -35,16 +33,15 @@ class SourceControlConfigurationClientConfiguration(Configuration): def __init__( self, - credential, # type: "TokenCredential" - subscription_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id @@ -68,4 +65,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/_patch.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/_source_control_configuration_client.py index 9b275bd22ad..caa563f1320 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/_source_control_configuration_client.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/_source_control_configuration_client.py @@ -6,109 +6,107 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING +from azure.core.rest import HttpRequest, HttpResponse from azure.mgmt.core import ARMPipelineClient from msrest import Deserializer, Serializer +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ClusterExtensionTypeOperations, ClusterExtensionTypesOperations, ExtensionTypeVersionsOperations, ExtensionsOperations, LocationExtensionTypesOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Optional - from azure.core.credentials import TokenCredential - from azure.core.pipeline.transport import HttpRequest, HttpResponse - -from ._configuration import SourceControlConfigurationClientConfiguration -from .operations import ExtensionsOperations -from .operations import OperationStatusOperations -from .operations import ClusterExtensionTypeOperations -from .operations import ClusterExtensionTypesOperations -from .operations import ExtensionTypeVersionsOperations -from .operations import LocationExtensionTypesOperations -from .operations import SourceControlConfigurationsOperations -from .operations import Operations -from . import models - -class SourceControlConfigurationClient(object): +class SourceControlConfigurationClient: """KubernetesConfiguration Client. :ivar extensions: ExtensionsOperations operations - :vartype extensions: azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.ExtensionsOperations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.ExtensionsOperations :ivar operation_status: OperationStatusOperations operations - :vartype operation_status: azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.OperationStatusOperations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.OperationStatusOperations :ivar cluster_extension_type: ClusterExtensionTypeOperations operations - :vartype cluster_extension_type: azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.ClusterExtensionTypeOperations + :vartype cluster_extension_type: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.ClusterExtensionTypeOperations :ivar cluster_extension_types: ClusterExtensionTypesOperations operations - :vartype cluster_extension_types: azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.ClusterExtensionTypesOperations + :vartype cluster_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.ClusterExtensionTypesOperations :ivar extension_type_versions: ExtensionTypeVersionsOperations operations - :vartype extension_type_versions: azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.ExtensionTypeVersionsOperations + :vartype extension_type_versions: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.ExtensionTypeVersionsOperations :ivar location_extension_types: LocationExtensionTypesOperations operations - :vartype location_extension_types: azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.LocationExtensionTypesOperations + :vartype location_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.LocationExtensionTypesOperations :ivar source_control_configurations: SourceControlConfigurationsOperations operations - :vartype source_control_configurations: azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.SourceControlConfigurationsOperations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.SourceControlConfigurationsOperations :ivar operations: Operations operations - :vartype operations: azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.Operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.Operations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The ID of the target subscription. :type subscription_id: str - :param str base_url: Service URL - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. """ def __init__( self, - credential, # type: "TokenCredential" - subscription_id, # type: str - base_url=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> None - if not base_url: - base_url = 'https://management.azure.com' - self._config = SourceControlConfigurationClientConfiguration(credential, subscription_id, **kwargs) + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) - self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_type = ClusterExtensionTypeOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_types = ClusterExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extension_type_versions = ExtensionTypeVersionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.location_extension_types = LocationExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) - self.extensions = ExtensionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operation_status = OperationStatusOperations( - self._client, self._config, self._serialize, self._deserialize) - self.cluster_extension_type = ClusterExtensionTypeOperations( - self._client, self._config, self._serialize, self._deserialize) - self.cluster_extension_types = ClusterExtensionTypesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.extension_type_versions = ExtensionTypeVersionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.location_extension_types = LocationExtensionTypesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.source_control_configurations = SourceControlConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - - def _send_request(self, http_request, **kwargs): - # type: (HttpRequest, Any) -> HttpResponse + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: """Runs the network request through the client's chained policies. - :param http_request: The network request you want to make. Required. - :type http_request: ~azure.core.pipeline.transport.HttpRequest - :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. :return: The response of your network call. Does not do error handling on your response. - :rtype: ~azure.core.pipeline.transport.HttpResponse + :rtype: ~azure.core.rest.HttpResponse """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - http_request.url = self._client.format_url(http_request.url, **path_format_arguments) - stream = kwargs.pop("stream", True) - pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) def close(self): # type: () -> None diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/_vendor.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/_vendor.py @@ -0,0 +1,27 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/__init__.py index ba52c91a7ba..5f583276b4e 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/__init__.py @@ -8,3 +8,8 @@ from ._source_control_configuration_client import SourceControlConfigurationClient __all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/_configuration.py index 1f07c12f646..d457ecaa974 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/_configuration.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/_configuration.py @@ -10,7 +10,7 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy from .._version import VERSION @@ -37,11 +37,11 @@ def __init__( subscription_id: str, **kwargs: Any ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id @@ -64,4 +64,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/_patch.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/_source_control_configuration_client.py index cf79cd78669..a2fbc1fdda5 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/_source_control_configuration_client.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/_source_control_configuration_client.py @@ -6,105 +6,107 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, Optional, TYPE_CHECKING +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.rest import AsyncHttpResponse, HttpRequest from azure.mgmt.core import AsyncARMPipelineClient from msrest import Deserializer, Serializer +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ClusterExtensionTypeOperations, ClusterExtensionTypesOperations, ExtensionTypeVersionsOperations, ExtensionsOperations, LocationExtensionTypesOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential -from ._configuration import SourceControlConfigurationClientConfiguration -from .operations import ExtensionsOperations -from .operations import OperationStatusOperations -from .operations import ClusterExtensionTypeOperations -from .operations import ClusterExtensionTypesOperations -from .operations import ExtensionTypeVersionsOperations -from .operations import LocationExtensionTypesOperations -from .operations import SourceControlConfigurationsOperations -from .operations import Operations -from .. import models - - -class SourceControlConfigurationClient(object): +class SourceControlConfigurationClient: """KubernetesConfiguration Client. :ivar extensions: ExtensionsOperations operations - :vartype extensions: azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.ExtensionsOperations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.ExtensionsOperations :ivar operation_status: OperationStatusOperations operations - :vartype operation_status: azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.OperationStatusOperations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.OperationStatusOperations :ivar cluster_extension_type: ClusterExtensionTypeOperations operations - :vartype cluster_extension_type: azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.ClusterExtensionTypeOperations + :vartype cluster_extension_type: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.ClusterExtensionTypeOperations :ivar cluster_extension_types: ClusterExtensionTypesOperations operations - :vartype cluster_extension_types: azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.ClusterExtensionTypesOperations + :vartype cluster_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.ClusterExtensionTypesOperations :ivar extension_type_versions: ExtensionTypeVersionsOperations operations - :vartype extension_type_versions: azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.ExtensionTypeVersionsOperations + :vartype extension_type_versions: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.ExtensionTypeVersionsOperations :ivar location_extension_types: LocationExtensionTypesOperations operations - :vartype location_extension_types: azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.LocationExtensionTypesOperations + :vartype location_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.LocationExtensionTypesOperations :ivar source_control_configurations: SourceControlConfigurationsOperations operations - :vartype source_control_configurations: azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.SourceControlConfigurationsOperations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.SourceControlConfigurationsOperations :ivar operations: Operations operations - :vartype operations: azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.Operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.Operations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials_async.AsyncTokenCredential :param subscription_id: The ID of the target subscription. :type subscription_id: str - :param str base_url: Service URL - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. """ def __init__( self, credential: "AsyncTokenCredential", subscription_id: str, - base_url: Optional[str] = None, + base_url: str = "https://management.azure.com", **kwargs: Any ) -> None: - if not base_url: - base_url = 'https://management.azure.com' - self._config = SourceControlConfigurationClientConfiguration(credential, subscription_id, **kwargs) + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) - self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_type = ClusterExtensionTypeOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_types = ClusterExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extension_type_versions = ExtensionTypeVersionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.location_extension_types = LocationExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + - self.extensions = ExtensionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operation_status = OperationStatusOperations( - self._client, self._config, self._serialize, self._deserialize) - self.cluster_extension_type = ClusterExtensionTypeOperations( - self._client, self._config, self._serialize, self._deserialize) - self.cluster_extension_types = ClusterExtensionTypesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.extension_type_versions = ExtensionTypeVersionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.location_extension_types = LocationExtensionTypesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.source_control_configurations = SourceControlConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - - async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. - :param http_request: The network request you want to make. Required. - :type http_request: ~azure.core.pipeline.transport.HttpRequest - :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. :return: The response of your network call. Does not do error handling on your response. - :rtype: ~azure.core.pipeline.transport.AsyncHttpResponse + :rtype: ~azure.core.rest.AsyncHttpResponse """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - http_request.url = self._client.format_url(http_request.url, **path_format_arguments) - stream = kwargs.pop("stream", True) - pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) async def close(self) -> None: await self._client.close() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_type_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_type_operations.py index 224059db330..c77d6b31997 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_type_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_type_operations.py @@ -5,16 +5,20 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._cluster_extension_type_operations import build_get_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -40,6 +44,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, @@ -73,36 +78,26 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterType': self._serialize.url("cluster_type", cluster_type, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionTypeName': self._serialize.url("extension_type_name", extension_type_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_type=cluster_type, + cluster_name=cluster_name, + extension_type_name=extension_type_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ExtensionType', pipeline_response) @@ -111,4 +106,6 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterType}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore + diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_types_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_types_operations.py index b0eaf6af2f6..b99f307b6ad 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_types_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_types_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._cluster_extension_types_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, @@ -59,7 +65,8 @@ def list( :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] @@ -67,37 +74,35 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionTypeList', pipeline_response) + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -110,12 +115,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_extension_type_versions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_extension_type_versions_operations.py index bd9f2c220fc..0fd76dd062a 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_extension_type_versions_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_extension_type_versions_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._extension_type_versions_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, location: str, @@ -54,8 +60,10 @@ def list( :param extension_type_name: Extension type name. :type extension_type_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ExtensionVersionList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionVersionList] + :return: An iterator like instance of either ExtensionVersionList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionVersionList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionVersionList"] @@ -63,36 +71,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'location': self._serialize.url("location", location, 'str'), - 'extensionTypeName': self._serialize.url("extension_type_name", extension_type_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionVersionList', pipeline_response) + deserialized = self._deserialize("ExtensionVersionList", pipeline_response) list_of_elem = deserialized.versions if cls: list_of_elem = cls(list_of_elem) @@ -105,12 +110,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_extensions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_extensions_operations.py index a09b63b3475..65591042bb2 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_extensions_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_extensions_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._extensions_operations import build_create_request_initial, build_delete_request_initial, build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -58,42 +63,31 @@ async def _create_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(extension, 'Extension') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize('Extension', pipeline_response) @@ -105,8 +99,11 @@ async def _create_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async async def begin_create( self, resource_group_name: str, @@ -126,7 +123,8 @@ async def begin_create( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -135,15 +133,20 @@ async def begin_create( :type extension: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either Extension or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension] - :raises ~azure.core.exceptions.HttpResponseError: + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] lro_delay = kwargs.pop( 'polling_interval', @@ -158,30 +161,21 @@ async def begin_create( cluster_name=cluster_name, extension_name=extension_name, extension=extension, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('Extension', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -193,8 +187,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -213,7 +209,8 @@ async def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -228,36 +225,26 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Extension', pipeline_response) @@ -266,8 +253,10 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + async def _delete_initial( self, resource_group_name: str, @@ -283,45 +272,35 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if force_delete is not None: - query_parameters['forceDelete'] = self._serialize.query("force_delete", force_delete, 'bool') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, @@ -342,7 +321,8 @@ async def begin_delete( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -352,15 +332,17 @@ async def begin_delete( :type force_delete: bool :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -378,24 +360,14 @@ async def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -407,8 +379,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + @distributed_trace def list( self, resource_group_name: str, @@ -426,12 +400,14 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionsList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionsList] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionsList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] @@ -439,38 +415,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionsList', pipeline_response) + deserialized = self._deserialize("ExtensionsList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -483,12 +458,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_location_extension_types_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_location_extension_types_operations.py index f435cdfdcb5..024729f2f0f 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_location_extension_types_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_location_extension_types_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._location_extension_types_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, location: str, @@ -52,7 +58,8 @@ def list( :type location: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] @@ -60,35 +67,31 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'location': self._serialize.url("location", location, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionTypeList', pipeline_response) + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -101,12 +104,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_operation_status_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_operation_status_operations.py index db90f6c6660..2d99d5e6b2f 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_operation_status_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_operation_status_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._operation_status_operations import build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, @@ -58,12 +64,14 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationStatusList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperationStatusList] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperationStatusList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] @@ -71,38 +79,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('OperationStatusList', pipeline_response) + deserialized = self._deserialize("OperationStatusList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -115,17 +122,19 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -145,7 +154,8 @@ async def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -162,37 +172,27 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - 'operationId': self._serialize.url("operation_id", operation_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('OperationStatusResult', pipeline_response) @@ -201,4 +201,6 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_operations.py index 3c82397333f..d62dc62020b 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, **kwargs: Any @@ -48,8 +54,10 @@ def list( """List all the available operations the KubernetesConfiguration resource provider supports. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperationList] + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] @@ -57,30 +65,27 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ResourceProviderOperationList', pipeline_response) + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -93,12 +98,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_source_control_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_source_control_configurations_operations.py index 05183fe90c1..d63c27542d2 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_source_control_configurations_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/aio/operations/_source_control_configurations_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -43,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, @@ -61,14 +67,16 @@ async def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -76,36 +84,26 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) @@ -114,8 +112,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, @@ -135,16 +136,19 @@ async def create_or_update( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. - :type source_control_configuration: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -152,41 +156,31 @@ async def create_or_update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.create_or_update.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -199,8 +193,10 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + async def _delete_initial( self, resource_group_name: str, @@ -215,43 +211,34 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, @@ -271,22 +258,25 @@ async def begin_delete( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -303,24 +293,14 @@ async def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -332,8 +312,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + @distributed_trace def list( self, resource_group_name: str, @@ -351,12 +333,15 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SourceControlConfigurationList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfigurationList] + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfigurationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] @@ -364,38 +349,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('SourceControlConfigurationList', pipeline_response) + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -408,12 +392,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/models/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/models/__init__.py index e97bdb99166..2b481eea8c9 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/models/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/models/__init__.py @@ -6,64 +6,35 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -try: - from ._models_py3 import ClusterScopeSettings - from ._models_py3 import ComplianceStatus - from ._models_py3 import ErrorAdditionalInfo - from ._models_py3 import ErrorDetail - from ._models_py3 import ErrorResponse - from ._models_py3 import Extension - from ._models_py3 import ExtensionStatus - from ._models_py3 import ExtensionType - from ._models_py3 import ExtensionTypeList - from ._models_py3 import ExtensionVersionList - from ._models_py3 import ExtensionVersionListVersionsItem - from ._models_py3 import ExtensionsList - from ._models_py3 import HelmOperatorProperties - from ._models_py3 import Identity - from ._models_py3 import OperationStatusList - from ._models_py3 import OperationStatusResult - from ._models_py3 import ProxyResource - from ._models_py3 import Resource - from ._models_py3 import ResourceProviderOperation - from ._models_py3 import ResourceProviderOperationDisplay - from ._models_py3 import ResourceProviderOperationList - from ._models_py3 import Scope - from ._models_py3 import ScopeCluster - from ._models_py3 import ScopeNamespace - from ._models_py3 import SourceControlConfiguration - from ._models_py3 import SourceControlConfigurationList - from ._models_py3 import SupportedScopes - from ._models_py3 import SystemData -except (SyntaxError, ImportError): - from ._models import ClusterScopeSettings # type: ignore - from ._models import ComplianceStatus # type: ignore - from ._models import ErrorAdditionalInfo # type: ignore - from ._models import ErrorDetail # type: ignore - from ._models import ErrorResponse # type: ignore - from ._models import Extension # type: ignore - from ._models import ExtensionStatus # type: ignore - from ._models import ExtensionType # type: ignore - from ._models import ExtensionTypeList # type: ignore - from ._models import ExtensionVersionList # type: ignore - from ._models import ExtensionVersionListVersionsItem # type: ignore - from ._models import ExtensionsList # type: ignore - from ._models import HelmOperatorProperties # type: ignore - from ._models import Identity # type: ignore - from ._models import OperationStatusList # type: ignore - from ._models import OperationStatusResult # type: ignore - from ._models import ProxyResource # type: ignore - from ._models import Resource # type: ignore - from ._models import ResourceProviderOperation # type: ignore - from ._models import ResourceProviderOperationDisplay # type: ignore - from ._models import ResourceProviderOperationList # type: ignore - from ._models import Scope # type: ignore - from ._models import ScopeCluster # type: ignore - from ._models import ScopeNamespace # type: ignore - from ._models import SourceControlConfiguration # type: ignore - from ._models import SourceControlConfigurationList # type: ignore - from ._models import SupportedScopes # type: ignore - from ._models import SystemData # type: ignore +from ._models_py3 import ClusterScopeSettings +from ._models_py3 import ComplianceStatus +from ._models_py3 import ErrorAdditionalInfo +from ._models_py3 import ErrorDetail +from ._models_py3 import ErrorResponse +from ._models_py3 import Extension +from ._models_py3 import ExtensionStatus +from ._models_py3 import ExtensionType +from ._models_py3 import ExtensionTypeList +from ._models_py3 import ExtensionVersionList +from ._models_py3 import ExtensionVersionListVersionsItem +from ._models_py3 import ExtensionsList +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import Identity +from ._models_py3 import OperationStatusList +from ._models_py3 import OperationStatusResult +from ._models_py3 import ProxyResource +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Scope +from ._models_py3 import ScopeCluster +from ._models_py3 import ScopeNamespace +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SupportedScopes +from ._models_py3 import SystemData + from ._source_control_configuration_client_enums import ( ClusterTypes, diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/models/_models.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/models/_models.py deleted file mode 100644 index 9a722f97fbb..00000000000 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/models/_models.py +++ /dev/null @@ -1,1056 +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 azure.core.exceptions import HttpResponseError -import msrest.serialization - - -class Resource(msrest.serialization.Model): - """Common fields that are returned in the response for all Azure Resource Manager 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. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - - -class ProxyResource(Resource): - """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ProxyResource, self).__init__(**kwargs) - - -class ClusterScopeSettings(ProxyResource): - """Extension scope settings. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :param allow_multiple_instances: Describes if multiple instances of the extension are allowed. - :type allow_multiple_instances: bool - :param default_release_namespace: Default extension release namespace. - :type default_release_namespace: 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'}, - 'allow_multiple_instances': {'key': 'properties.allowMultipleInstances', 'type': 'bool'}, - 'default_release_namespace': {'key': 'properties.defaultReleaseNamespace', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ClusterScopeSettings, self).__init__(**kwargs) - self.allow_multiple_instances = kwargs.get('allow_multiple_instances', None) - self.default_release_namespace = kwargs.get('default_release_namespace', None) - - -class ComplianceStatus(msrest.serialization.Model): - """Compliance Status details. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar compliance_state: The compliance state of the configuration. Possible values include: - "Pending", "Compliant", "Noncompliant", "Installed", "Failed". - :vartype compliance_state: str or - ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ComplianceStateType - :param last_config_applied: Datetime the configuration was last applied. - :type last_config_applied: ~datetime.datetime - :param message: Message from when the configuration was applied. - :type message: str - :param message_level: Level of the message. Possible values include: "Error", "Warning", - "Information". - :type message_level: str or - ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.MessageLevelType - """ - - _validation = { - 'compliance_state': {'readonly': True}, - } - - _attribute_map = { - 'compliance_state': {'key': 'complianceState', 'type': 'str'}, - 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, - 'message': {'key': 'message', 'type': 'str'}, - 'message_level': {'key': 'messageLevel', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ComplianceStatus, self).__init__(**kwargs) - self.compliance_state = None - self.last_config_applied = kwargs.get('last_config_applied', None) - self.message = kwargs.get('message', None) - self.message_level = kwargs.get('message_level', None) - - -class ErrorAdditionalInfo(msrest.serialization.Model): - """The resource management error additional info. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar type: The additional info type. - :vartype type: str - :ivar info: The additional info. - :vartype info: any - """ - - _validation = { - 'type': {'readonly': True}, - 'info': {'readonly': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'info': {'key': 'info', 'type': 'object'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorAdditionalInfo, self).__init__(**kwargs) - self.type = None - self.info = None - - -class ErrorDetail(msrest.serialization.Model): - """The error detail. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar code: The error code. - :vartype code: str - :ivar message: The error message. - :vartype message: str - :ivar target: The error target. - :vartype target: str - :ivar details: The error details. - :vartype details: - list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorDetail] - :ivar additional_info: The error additional info. - :vartype additional_info: - list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorAdditionalInfo] - """ - - _validation = { - 'code': {'readonly': True}, - 'message': {'readonly': True}, - 'target': {'readonly': True}, - 'details': {'readonly': True}, - 'additional_info': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ErrorDetail]'}, - 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorDetail, self).__init__(**kwargs) - self.code = None - self.message = None - self.target = None - self.details = None - self.additional_info = None - - -class ErrorResponse(msrest.serialization.Model): - """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). - - :param error: The error object. - :type error: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorDetail - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDetail'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorResponse, self).__init__(**kwargs) - self.error = kwargs.get('error', None) - - -class Extension(ProxyResource): - """The Extension object. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :param identity: Identity of the Extension resource. - :type identity: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Identity - :ivar system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SystemData - :param extension_type: Type of the Extension, of which this resource is an instance of. It - must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the - Extension publisher. - :type extension_type: str - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade - of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific - version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param scope: Scope at which the extension is installed. - :type scope: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Scope - :param configuration_settings: Configuration settings, as name-value pairs for configuring this - extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as - name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] - :ivar provisioning_state: Status of installation of this extension. Possible values include: - "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". - :vartype provisioning_state: str or - ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ProvisioningState - :param statuses: Status from this extension. - :type statuses: - list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionStatus] - :ivar error_info: Error information from the Agent - e.g. errors during installation. - :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorDetail - :ivar custom_location_settings: Custom Location settings properties. - :vartype custom_location_settings: dict[str, str] - :ivar package_uri: Uri of the Helm package. - :vartype package_uri: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'error_info': {'readonly': True}, - 'custom_location_settings': {'readonly': True}, - 'package_uri': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'Identity'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, - 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, - 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'scope': {'key': 'properties.scope', 'type': 'Scope'}, - 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'statuses': {'key': 'properties.statuses', 'type': '[ExtensionStatus]'}, - 'error_info': {'key': 'properties.errorInfo', 'type': 'ErrorDetail'}, - 'custom_location_settings': {'key': 'properties.customLocationSettings', 'type': '{str}'}, - 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Extension, self).__init__(**kwargs) - self.identity = kwargs.get('identity', None) - self.system_data = None - self.extension_type = kwargs.get('extension_type', None) - self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', True) - self.release_train = kwargs.get('release_train', "Stable") - self.version = kwargs.get('version', None) - self.scope = kwargs.get('scope', None) - self.configuration_settings = kwargs.get('configuration_settings', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - self.provisioning_state = None - self.statuses = kwargs.get('statuses', None) - self.error_info = None - self.custom_location_settings = None - self.package_uri = None - - -class ExtensionsList(msrest.serialization.Model): - """Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Extensions within a Kubernetes cluster. - :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension] - :ivar next_link: URL to get the next set of extension objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Extension]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionsList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class ExtensionStatus(msrest.serialization.Model): - """Status from the extension. - - :param code: Status code provided by the Extension. - :type code: str - :param display_status: Short description of status of the extension. - :type display_status: str - :param level: Level of the status. Possible values include: "Error", "Warning", "Information". - Default value: "Information". - :type level: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.LevelType - :param message: Detailed message of the status from the Extension. - :type message: str - :param time: DateLiteral (per ISO8601) noting the time of installation status. - :type time: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'display_status': {'key': 'displayStatus', 'type': 'str'}, - 'level': {'key': 'level', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'time': {'key': 'time', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionStatus, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.display_status = kwargs.get('display_status', None) - self.level = kwargs.get('level', "Information") - self.message = kwargs.get('message', None) - self.time = kwargs.get('time', None) - - -class ExtensionType(msrest.serialization.Model): - """Represents an Extension Type. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar system_data: Metadata pertaining to creation and last modification of the resource. - :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SystemData - :ivar release_trains: Extension release train: preview or stable. - :vartype release_trains: list[str] - :ivar cluster_types: Cluster types. Possible values include: "connectedClusters", - "managedClusters". - :vartype cluster_types: str or - ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ClusterTypes - :ivar supported_scopes: Extension scopes. - :vartype supported_scopes: - ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SupportedScopes - """ - - _validation = { - 'system_data': {'readonly': True}, - 'release_trains': {'readonly': True}, - 'cluster_types': {'readonly': True}, - 'supported_scopes': {'readonly': True}, - } - - _attribute_map = { - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'release_trains': {'key': 'properties.releaseTrains', 'type': '[str]'}, - 'cluster_types': {'key': 'properties.clusterTypes', 'type': 'str'}, - 'supported_scopes': {'key': 'properties.supportedScopes', 'type': 'SupportedScopes'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionType, self).__init__(**kwargs) - self.system_data = None - self.release_trains = None - self.cluster_types = None - self.supported_scopes = None - - -class ExtensionTypeList(msrest.serialization.Model): - """List Extension Types. - - :param value: The list of Extension Types. - :type value: list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionType] - :param next_link: The link to fetch the next page of Extension Types. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExtensionType]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionTypeList, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) - - -class ExtensionVersionList(msrest.serialization.Model): - """List versions for an Extension. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param versions: Versions available for this Extension Type. - :type versions: - list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionVersionListVersionsItem] - :param next_link: The link to fetch the next page of Extension Types. - :type next_link: str - :ivar system_data: Metadata pertaining to creation and last modification of the resource. - :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SystemData - """ - - _validation = { - 'system_data': {'readonly': True}, - } - - _attribute_map = { - 'versions': {'key': 'versions', 'type': '[ExtensionVersionListVersionsItem]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionVersionList, self).__init__(**kwargs) - self.versions = kwargs.get('versions', None) - self.next_link = kwargs.get('next_link', None) - self.system_data = None - - -class ExtensionVersionListVersionsItem(msrest.serialization.Model): - """ExtensionVersionListVersionsItem. - - :param release_train: The release train for this Extension Type. - :type release_train: str - :param versions: Versions available for this Extension Type and release train. - :type versions: list[str] - """ - - _attribute_map = { - 'release_train': {'key': 'releaseTrain', 'type': 'str'}, - 'versions': {'key': 'versions', 'type': '[str]'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionVersionListVersionsItem, self).__init__(**kwargs) - self.release_train = kwargs.get('release_train', None) - self.versions = kwargs.get('versions', None) - - -class HelmOperatorProperties(msrest.serialization.Model): - """Properties for Helm operator. - - :param chart_version: Version of the operator Helm chart. - :type chart_version: str - :param chart_values: Values override for the operator Helm chart. - :type chart_values: str - """ - - _attribute_map = { - 'chart_version': {'key': 'chartVersion', 'type': 'str'}, - 'chart_values': {'key': 'chartValues', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(HelmOperatorProperties, self).__init__(**kwargs) - self.chart_version = kwargs.get('chart_version', None) - self.chart_values = kwargs.get('chart_values', None) - - -class Identity(msrest.serialization.Model): - """Identity for the resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar principal_id: The principal ID of resource identity. - :vartype principal_id: str - :ivar tenant_id: The tenant ID of resource. - :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and - "SystemAssigned". The default value is None. - :type type: str - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Identity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = kwargs.get('type', None) - - -class OperationStatusList(msrest.serialization.Model): - """The async operations in progress, in the cluster. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of async operations in progress, in the cluster. - :vartype value: - list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperationStatusResult] - :ivar next_link: URL to get the next set of Operation Result objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[OperationStatusResult]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationStatusList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class OperationStatusResult(msrest.serialization.Model): - """The current status of an async operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Fully qualified ID for the async operation. - :type id: str - :param name: Name of the async operation. - :type name: str - :param status: Required. Operation status. - :type status: str - :param properties: Additional information, if available. - :type properties: dict[str, str] - :ivar error: If present, details of the operation error. - :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorDetail - """ - - _validation = { - 'status': {'required': True}, - 'error': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': '{str}'}, - 'error': {'key': 'error', 'type': 'ErrorDetail'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationStatusResult, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = kwargs.get('name', None) - self.status = kwargs['status'] - self.properties = kwargs.get('properties', None) - self.error = None - - -class ResourceProviderOperation(msrest.serialization.Model): - """Supported operation of this resource provider. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param name: Operation name, in format of {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: - ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperationDisplay - :param origin: The intended executor of the operation;governs the display of the operation in - the RBAC UX and the audit logs UX. - :type origin: str - :ivar is_data_action: The flag that indicates whether the operation applies to data plane. - :vartype is_data_action: bool - """ - - _validation = { - 'is_data_action': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, - 'origin': {'key': 'origin', 'type': 'str'}, - 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceProviderOperation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display = kwargs.get('display', None) - self.origin = kwargs.get('origin', None) - self.is_data_action = None - - -class ResourceProviderOperationDisplay(msrest.serialization.Model): - """Display metadata associated with the operation. - - :param provider: Resource provider: Microsoft KubernetesConfiguration. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :param description: Description of this 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) - - -class ResourceProviderOperationList(msrest.serialization.Model): - """Result of the request to list operations. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: List of operations supported by this resource provider. - :type value: - list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperation] - :ivar next_link: URL to the next set of results, if any. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceProviderOperationList, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class Scope(msrest.serialization.Model): - """Scope of the extension. It can be either Cluster or Namespace; but not both. - - :param cluster: Specifies that the scope of the extension is Cluster. - :type cluster: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ScopeCluster - :param namespace: Specifies that the scope of the extension is Namespace. - :type namespace: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ScopeNamespace - """ - - _attribute_map = { - 'cluster': {'key': 'cluster', 'type': 'ScopeCluster'}, - 'namespace': {'key': 'namespace', 'type': 'ScopeNamespace'}, - } - - def __init__( - self, - **kwargs - ): - super(Scope, self).__init__(**kwargs) - self.cluster = kwargs.get('cluster', None) - self.namespace = kwargs.get('namespace', None) - - -class ScopeCluster(msrest.serialization.Model): - """Specifies that the scope of the extension is Cluster. - - :param release_namespace: Namespace where the extension Release must be placed, for a Cluster - scoped extension. If this namespace does not exist, it will be created. - :type release_namespace: str - """ - - _attribute_map = { - 'release_namespace': {'key': 'releaseNamespace', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ScopeCluster, self).__init__(**kwargs) - self.release_namespace = kwargs.get('release_namespace', None) - - -class ScopeNamespace(msrest.serialization.Model): - """Specifies that the scope of the extension is Namespace. - - :param target_namespace: Namespace where the extension will be created for an Namespace scoped - extension. If this namespace does not exist, it will be created. - :type target_namespace: str - """ - - _attribute_map = { - 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ScopeNamespace, self).__init__(**kwargs) - self.target_namespace = kwargs.get('target_namespace', None) - - -class SourceControlConfiguration(ProxyResource): - """The SourceControl Configuration object returned in Get & Put response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SystemData - :param repository_url: Url of the SourceControl Repository. - :type repository_url: str - :param operator_namespace: The namespace to which this operator is installed to. Maximum of 253 - lower case alphanumeric characters, hyphen and period only. - :type operator_namespace: str - :param operator_instance_name: Instance name of the operator - identifying the specific - configuration. - :type operator_instance_name: str - :param operator_type: Type of the operator. Possible values include: "Flux". - :type operator_type: str or - ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperatorType - :param operator_params: Any Parameters for the Operator instance in string format. - :type operator_params: str - :param configuration_protected_settings: Name-value pairs of protected configuration settings - for the configuration. - :type configuration_protected_settings: dict[str, str] - :param operator_scope: Scope at which the operator will be installed. Possible values include: - "cluster", "namespace". Default value: "cluster". - :type operator_scope: str or - ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperatorScopeType - :ivar repository_public_key: Public Key associated with this SourceControl configuration - (either generated within the cluster or provided by the user). - :vartype repository_public_key: str - :param ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys - required to access private Git instances. - :type ssh_known_hosts_contents: str - :param enable_helm_operator: Option to enable Helm Operator for this git configuration. - :type enable_helm_operator: bool - :param helm_operator_properties: Properties for Helm operator. - :type helm_operator_properties: - ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.HelmOperatorProperties - :ivar provisioning_state: The provisioning state of the resource provider. Possible values - include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ProvisioningStateType - :ivar compliance_status: Compliance Status of the Configuration. - :vartype compliance_status: - ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ComplianceStatus - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - 'repository_public_key': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'compliance_status': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, - 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, - 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, - 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, - 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, - 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, - 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, - 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, - 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, - } - - def __init__( - self, - **kwargs - ): - super(SourceControlConfiguration, self).__init__(**kwargs) - self.system_data = None - self.repository_url = kwargs.get('repository_url', None) - self.operator_namespace = kwargs.get('operator_namespace', "default") - self.operator_instance_name = kwargs.get('operator_instance_name', None) - self.operator_type = kwargs.get('operator_type', None) - self.operator_params = kwargs.get('operator_params', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - self.operator_scope = kwargs.get('operator_scope', "cluster") - self.repository_public_key = None - self.ssh_known_hosts_contents = kwargs.get('ssh_known_hosts_contents', None) - self.enable_helm_operator = kwargs.get('enable_helm_operator', None) - self.helm_operator_properties = kwargs.get('helm_operator_properties', None) - self.provisioning_state = None - self.compliance_status = None - - -class SourceControlConfigurationList(msrest.serialization.Model): - """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Source Control Configurations within a Kubernetes cluster. - :vartype value: - list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration] - :ivar next_link: URL to get the next set of configuration objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SourceControlConfigurationList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class SupportedScopes(msrest.serialization.Model): - """Extension scopes. - - :param default_scope: Default extension scopes: cluster or namespace. - :type default_scope: str - :param cluster_scope_settings: Scope settings. - :type cluster_scope_settings: - ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ClusterScopeSettings - """ - - _attribute_map = { - 'default_scope': {'key': 'defaultScope', 'type': 'str'}, - 'cluster_scope_settings': {'key': 'clusterScopeSettings', 'type': 'ClusterScopeSettings'}, - } - - def __init__( - self, - **kwargs - ): - super(SupportedScopes, self).__init__(**kwargs) - self.default_scope = kwargs.get('default_scope', None) - self.cluster_scope_settings = kwargs.get('cluster_scope_settings', None) - - -class SystemData(msrest.serialization.Model): - """Metadata pertaining to creation and last modification of the resource. - - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. Possible values - include: "User", "Application", "ManagedIdentity", "Key". - :type created_by_type: str or - ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: ~datetime.datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the resource. Possible - values include: "User", "Application", "ManagedIdentity", "Key". - :type last_modified_by_type: str or - ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime - """ - - _attribute_map = { - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'createdByType', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__( - self, - **kwargs - ): - super(SystemData, self).__init__(**kwargs) - self.created_by = kwargs.get('created_by', None) - self.created_by_type = kwargs.get('created_by_type', None) - self.created_at = kwargs.get('created_at', None) - self.last_modified_by = kwargs.get('last_modified_by', None) - self.last_modified_by_type = kwargs.get('last_modified_by_type', None) - self.last_modified_at = kwargs.get('last_modified_at', None) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/models/_models_py3.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/models/_models_py3.py index 50ef8c899cd..97597606978 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/models/_models_py3.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/models/_models_py3.py @@ -46,6 +46,8 @@ def __init__( self, **kwargs ): + """ + """ super(Resource, self).__init__(**kwargs) self.id = None self.name = None @@ -83,6 +85,8 @@ def __init__( self, **kwargs ): + """ + """ super(ProxyResource, self).__init__(**kwargs) @@ -99,10 +103,10 @@ class ClusterScopeSettings(ProxyResource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :param allow_multiple_instances: Describes if multiple instances of the extension are allowed. - :type allow_multiple_instances: bool - :param default_release_namespace: Default extension release namespace. - :type default_release_namespace: str + :ivar allow_multiple_instances: Describes if multiple instances of the extension are allowed. + :vartype allow_multiple_instances: bool + :ivar default_release_namespace: Default extension release namespace. + :vartype default_release_namespace: str """ _validation = { @@ -126,6 +130,13 @@ def __init__( default_release_namespace: Optional[str] = None, **kwargs ): + """ + :keyword allow_multiple_instances: Describes if multiple instances of the extension are + allowed. + :paramtype allow_multiple_instances: bool + :keyword default_release_namespace: Default extension release namespace. + :paramtype default_release_namespace: str + """ super(ClusterScopeSettings, self).__init__(**kwargs) self.allow_multiple_instances = allow_multiple_instances self.default_release_namespace = default_release_namespace @@ -140,13 +151,13 @@ class ComplianceStatus(msrest.serialization.Model): "Pending", "Compliant", "Noncompliant", "Installed", "Failed". :vartype compliance_state: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ComplianceStateType - :param last_config_applied: Datetime the configuration was last applied. - :type last_config_applied: ~datetime.datetime - :param message: Message from when the configuration was applied. - :type message: str - :param message_level: Level of the message. Possible values include: "Error", "Warning", + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", "Information". - :type message_level: str or + :vartype message_level: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.MessageLevelType """ @@ -169,6 +180,16 @@ def __init__( message_level: Optional[Union[str, "MessageLevelType"]] = None, **kwargs ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.MessageLevelType + """ super(ComplianceStatus, self).__init__(**kwargs) self.compliance_state = None self.last_config_applied = last_config_applied @@ -201,6 +222,8 @@ def __init__( self, **kwargs ): + """ + """ super(ErrorAdditionalInfo, self).__init__(**kwargs) self.type = None self.info = None @@ -245,6 +268,8 @@ def __init__( self, **kwargs ): + """ + """ super(ErrorDetail, self).__init__(**kwargs) self.code = None self.message = None @@ -256,8 +281,8 @@ def __init__( class ErrorResponse(msrest.serialization.Model): """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). - :param error: The error object. - :type error: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorDetail + :ivar error: The error object. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorDetail """ _attribute_map = { @@ -270,6 +295,10 @@ def __init__( error: Optional["ErrorDetail"] = None, **kwargs ): + """ + :keyword error: The error object. + :paramtype error: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorDetail + """ super(ErrorResponse, self).__init__(**kwargs) self.error = error @@ -287,38 +316,38 @@ class Extension(ProxyResource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :param identity: Identity of the Extension resource. - :type identity: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Identity + :ivar identity: Identity of the Extension resource. + :vartype identity: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Identity :ivar system_data: Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SystemData - :param extension_type: Type of the Extension, of which this resource is an instance of. It - must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + :ivar extension_type: Type of the Extension, of which this resource is an instance of. It must + be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher. - :type extension_type: str - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + :vartype extension_type: str + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param scope: Scope at which the extension is installed. - :type scope: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Scope - :param configuration_settings: Configuration settings, as name-value pairs for configuring this + :vartype version: str + :ivar scope: Scope at which the extension is installed. + :vartype scope: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Scope + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] + :vartype configuration_protected_settings: dict[str, str] :ivar provisioning_state: Status of installation of this extension. Possible values include: "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". :vartype provisioning_state: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ProvisioningState - :param statuses: Status from this extension. - :type statuses: + :ivar statuses: Status from this extension. + :vartype statuses: list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionStatus] :ivar error_info: Error information from the Agent - e.g. errors during installation. :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorDetail @@ -373,6 +402,34 @@ def __init__( statuses: Optional[List["ExtensionStatus"]] = None, **kwargs ): + """ + :keyword identity: Identity of the Extension resource. + :paramtype identity: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Identity + :keyword extension_type: Type of the Extension, of which this resource is an instance of. It + must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :paramtype extension_type: str + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword scope: Scope at which the extension is installed. + :paramtype scope: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Scope + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + :keyword statuses: Status from this extension. + :paramtype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionStatus] + """ super(Extension, self).__init__(**kwargs) self.identity = identity self.system_data = None @@ -415,6 +472,8 @@ def __init__( self, **kwargs ): + """ + """ super(ExtensionsList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -423,17 +482,17 @@ def __init__( class ExtensionStatus(msrest.serialization.Model): """Status from the extension. - :param code: Status code provided by the Extension. - :type code: str - :param display_status: Short description of status of the extension. - :type display_status: str - :param level: Level of the status. Possible values include: "Error", "Warning", "Information". + :ivar code: Status code provided by the Extension. + :vartype code: str + :ivar display_status: Short description of status of the extension. + :vartype display_status: str + :ivar level: Level of the status. Possible values include: "Error", "Warning", "Information". Default value: "Information". - :type level: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.LevelType - :param message: Detailed message of the status from the Extension. - :type message: str - :param time: DateLiteral (per ISO8601) noting the time of installation status. - :type time: str + :vartype level: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.LevelType + :ivar message: Detailed message of the status from the Extension. + :vartype message: str + :ivar time: DateLiteral (per ISO8601) noting the time of installation status. + :vartype time: str """ _attribute_map = { @@ -454,6 +513,20 @@ def __init__( time: Optional[str] = None, **kwargs ): + """ + :keyword code: Status code provided by the Extension. + :paramtype code: str + :keyword display_status: Short description of status of the extension. + :paramtype display_status: str + :keyword level: Level of the status. Possible values include: "Error", "Warning", + "Information". Default value: "Information". + :paramtype level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.LevelType + :keyword message: Detailed message of the status from the Extension. + :paramtype message: str + :keyword time: DateLiteral (per ISO8601) noting the time of installation status. + :paramtype time: str + """ super(ExtensionStatus, self).__init__(**kwargs) self.code = code self.display_status = display_status @@ -498,6 +571,8 @@ def __init__( self, **kwargs ): + """ + """ super(ExtensionType, self).__init__(**kwargs) self.system_data = None self.release_trains = None @@ -508,10 +583,11 @@ def __init__( class ExtensionTypeList(msrest.serialization.Model): """List Extension Types. - :param value: The list of Extension Types. - :type value: list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionType] - :param next_link: The link to fetch the next page of Extension Types. - :type next_link: str + :ivar value: The list of Extension Types. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionType] + :ivar next_link: The link to fetch the next page of Extension Types. + :vartype next_link: str """ _attribute_map = { @@ -526,6 +602,13 @@ def __init__( next_link: Optional[str] = None, **kwargs ): + """ + :keyword value: The list of Extension Types. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionType] + :keyword next_link: The link to fetch the next page of Extension Types. + :paramtype next_link: str + """ super(ExtensionTypeList, self).__init__(**kwargs) self.value = value self.next_link = next_link @@ -536,11 +619,11 @@ class ExtensionVersionList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param versions: Versions available for this Extension Type. - :type versions: + :ivar versions: Versions available for this Extension Type. + :vartype versions: list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionVersionListVersionsItem] - :param next_link: The link to fetch the next page of Extension Types. - :type next_link: str + :ivar next_link: The link to fetch the next page of Extension Types. + :vartype next_link: str :ivar system_data: Metadata pertaining to creation and last modification of the resource. :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SystemData """ @@ -562,6 +645,13 @@ def __init__( next_link: Optional[str] = None, **kwargs ): + """ + :keyword versions: Versions available for this Extension Type. + :paramtype versions: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionVersionListVersionsItem] + :keyword next_link: The link to fetch the next page of Extension Types. + :paramtype next_link: str + """ super(ExtensionVersionList, self).__init__(**kwargs) self.versions = versions self.next_link = next_link @@ -571,10 +661,10 @@ def __init__( class ExtensionVersionListVersionsItem(msrest.serialization.Model): """ExtensionVersionListVersionsItem. - :param release_train: The release train for this Extension Type. - :type release_train: str - :param versions: Versions available for this Extension Type and release train. - :type versions: list[str] + :ivar release_train: The release train for this Extension Type. + :vartype release_train: str + :ivar versions: Versions available for this Extension Type and release train. + :vartype versions: list[str] """ _attribute_map = { @@ -589,6 +679,12 @@ def __init__( versions: Optional[List[str]] = None, **kwargs ): + """ + :keyword release_train: The release train for this Extension Type. + :paramtype release_train: str + :keyword versions: Versions available for this Extension Type and release train. + :paramtype versions: list[str] + """ super(ExtensionVersionListVersionsItem, self).__init__(**kwargs) self.release_train = release_train self.versions = versions @@ -597,10 +693,10 @@ def __init__( class HelmOperatorProperties(msrest.serialization.Model): """Properties for Helm operator. - :param chart_version: Version of the operator Helm chart. - :type chart_version: str - :param chart_values: Values override for the operator Helm chart. - :type chart_values: str + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str """ _attribute_map = { @@ -615,6 +711,12 @@ def __init__( chart_values: Optional[str] = None, **kwargs ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ super(HelmOperatorProperties, self).__init__(**kwargs) self.chart_version = chart_version self.chart_values = chart_values @@ -629,9 +731,9 @@ class Identity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant ID of resource. :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and + :ivar type: The identity type. The only acceptable values to pass in are None and "SystemAssigned". The default value is None. - :type type: str + :vartype type: str """ _validation = { @@ -651,6 +753,11 @@ def __init__( type: Optional[str] = None, **kwargs ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ super(Identity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None @@ -683,6 +790,8 @@ def __init__( self, **kwargs ): + """ + """ super(OperationStatusList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -695,14 +804,14 @@ class OperationStatusResult(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Fully qualified ID for the async operation. - :type id: str - :param name: Name of the async operation. - :type name: str - :param status: Required. Operation status. - :type status: str - :param properties: Additional information, if available. - :type properties: dict[str, str] + :ivar id: Fully qualified ID for the async operation. + :vartype id: str + :ivar name: Name of the async operation. + :vartype name: str + :ivar status: Required. Operation status. + :vartype status: str + :ivar properties: Additional information, if available. + :vartype properties: dict[str, str] :ivar error: If present, details of the operation error. :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorDetail """ @@ -729,6 +838,16 @@ def __init__( properties: Optional[Dict[str, str]] = None, **kwargs ): + """ + :keyword id: Fully qualified ID for the async operation. + :paramtype id: str + :keyword name: Name of the async operation. + :paramtype name: str + :keyword status: Required. Operation status. + :paramtype status: str + :keyword properties: Additional information, if available. + :paramtype properties: dict[str, str] + """ super(OperationStatusResult, self).__init__(**kwargs) self.id = id self.name = name @@ -742,14 +861,14 @@ class ResourceProviderOperation(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param name: Operation name, in format of {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperationDisplay - :param origin: The intended executor of the operation;governs the display of the operation in + :ivar origin: The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX. - :type origin: str + :vartype origin: str :ivar is_data_action: The flag that indicates whether the operation applies to data plane. :vartype is_data_action: bool """ @@ -773,6 +892,16 @@ def __init__( origin: Optional[str] = None, **kwargs ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperationDisplay + :keyword origin: The intended executor of the operation;governs the display of the operation in + the RBAC UX and the audit logs UX. + :paramtype origin: str + """ super(ResourceProviderOperation, self).__init__(**kwargs) self.name = name self.display = display @@ -783,14 +912,14 @@ def __init__( class ResourceProviderOperationDisplay(msrest.serialization.Model): """Display metadata associated with the operation. - :param provider: Resource provider: Microsoft KubernetesConfiguration. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :param description: Description of this operation. - :type description: str + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype description: str """ _attribute_map = { @@ -809,6 +938,16 @@ def __init__( description: Optional[str] = None, **kwargs ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ super(ResourceProviderOperationDisplay, self).__init__(**kwargs) self.provider = provider self.resource = resource @@ -821,8 +960,8 @@ class ResourceProviderOperationList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param value: List of operations supported by this resource provider. - :type value: + :ivar value: List of operations supported by this resource provider. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperation] :ivar next_link: URL to the next set of results, if any. :vartype next_link: str @@ -843,6 +982,11 @@ def __init__( value: Optional[List["ResourceProviderOperation"]] = None, **kwargs ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperation] + """ super(ResourceProviderOperationList, self).__init__(**kwargs) self.value = value self.next_link = None @@ -851,10 +995,11 @@ def __init__( class Scope(msrest.serialization.Model): """Scope of the extension. It can be either Cluster or Namespace; but not both. - :param cluster: Specifies that the scope of the extension is Cluster. - :type cluster: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ScopeCluster - :param namespace: Specifies that the scope of the extension is Namespace. - :type namespace: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ScopeNamespace + :ivar cluster: Specifies that the scope of the extension is Cluster. + :vartype cluster: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ScopeCluster + :ivar namespace: Specifies that the scope of the extension is Namespace. + :vartype namespace: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ScopeNamespace """ _attribute_map = { @@ -869,6 +1014,13 @@ def __init__( namespace: Optional["ScopeNamespace"] = None, **kwargs ): + """ + :keyword cluster: Specifies that the scope of the extension is Cluster. + :paramtype cluster: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ScopeCluster + :keyword namespace: Specifies that the scope of the extension is Namespace. + :paramtype namespace: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ScopeNamespace + """ super(Scope, self).__init__(**kwargs) self.cluster = cluster self.namespace = namespace @@ -877,9 +1029,9 @@ def __init__( class ScopeCluster(msrest.serialization.Model): """Specifies that the scope of the extension is Cluster. - :param release_namespace: Namespace where the extension Release must be placed, for a Cluster + :ivar release_namespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this namespace does not exist, it will be created. - :type release_namespace: str + :vartype release_namespace: str """ _attribute_map = { @@ -892,6 +1044,11 @@ def __init__( release_namespace: Optional[str] = None, **kwargs ): + """ + :keyword release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :paramtype release_namespace: str + """ super(ScopeCluster, self).__init__(**kwargs) self.release_namespace = release_namespace @@ -899,9 +1056,9 @@ def __init__( class ScopeNamespace(msrest.serialization.Model): """Specifies that the scope of the extension is Namespace. - :param target_namespace: Namespace where the extension will be created for an Namespace scoped + :ivar target_namespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace does not exist, it will be created. - :type target_namespace: str + :vartype target_namespace: str """ _attribute_map = { @@ -914,6 +1071,11 @@ def __init__( target_namespace: Optional[str] = None, **kwargs ): + """ + :keyword target_namespace: Namespace where the extension will be created for an Namespace + scoped extension. If this namespace does not exist, it will be created. + :paramtype target_namespace: str + """ super(ScopeNamespace, self).__init__(**kwargs) self.target_namespace = target_namespace @@ -934,36 +1096,36 @@ class SourceControlConfiguration(ProxyResource): :ivar system_data: Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SystemData - :param repository_url: Url of the SourceControl Repository. - :type repository_url: str - :param operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only. - :type operator_namespace: str - :param operator_instance_name: Instance name of the operator - identifying the specific + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific configuration. - :type operator_instance_name: str - :param operator_type: Type of the operator. Possible values include: "Flux". - :type operator_type: str or + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperatorType - :param operator_params: Any Parameters for the Operator instance in string format. - :type operator_params: str - :param configuration_protected_settings: Name-value pairs of protected configuration settings + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings for the configuration. - :type configuration_protected_settings: dict[str, str] - :param operator_scope: Scope at which the operator will be installed. Possible values include: + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: "cluster", "namespace". Default value: "cluster". - :type operator_scope: str or + :vartype operator_scope: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperatorScopeType :ivar repository_public_key: Public Key associated with this SourceControl configuration (either generated within the cluster or provided by the user). :vartype repository_public_key: str - :param ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys required to access private Git instances. - :type ssh_known_hosts_contents: str - :param enable_helm_operator: Option to enable Helm Operator for this git configuration. - :type enable_helm_operator: bool - :param helm_operator_properties: Properties for Helm operator. - :type helm_operator_properties: + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.HelmOperatorProperties :ivar provisioning_state: The provisioning state of the resource provider. Possible values include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". @@ -1019,6 +1181,36 @@ def __init__( helm_operator_properties: Optional["HelmOperatorProperties"] = None, **kwargs ): + """ + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.HelmOperatorProperties + """ super(SourceControlConfiguration, self).__init__(**kwargs) self.system_data = None self.repository_url = repository_url @@ -1062,6 +1254,8 @@ def __init__( self, **kwargs ): + """ + """ super(SourceControlConfigurationList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -1070,10 +1264,10 @@ def __init__( class SupportedScopes(msrest.serialization.Model): """Extension scopes. - :param default_scope: Default extension scopes: cluster or namespace. - :type default_scope: str - :param cluster_scope_settings: Scope settings. - :type cluster_scope_settings: + :ivar default_scope: Default extension scopes: cluster or namespace. + :vartype default_scope: str + :ivar cluster_scope_settings: Scope settings. + :vartype cluster_scope_settings: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ClusterScopeSettings """ @@ -1089,6 +1283,13 @@ def __init__( cluster_scope_settings: Optional["ClusterScopeSettings"] = None, **kwargs ): + """ + :keyword default_scope: Default extension scopes: cluster or namespace. + :paramtype default_scope: str + :keyword cluster_scope_settings: Scope settings. + :paramtype cluster_scope_settings: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ClusterScopeSettings + """ super(SupportedScopes, self).__init__(**kwargs) self.default_scope = default_scope self.cluster_scope_settings = cluster_scope_settings @@ -1097,22 +1298,22 @@ def __init__( class SystemData(msrest.serialization.Model): """Metadata pertaining to creation and last modification of the resource. - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. Possible values - include: "User", "Application", "ManagedIdentity", "Key". - :type created_by_type: str or + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: ~datetime.datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the resource. Possible + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Possible values include: "User", "Application", "ManagedIdentity", "Key". - :type last_modified_by_type: str or + :vartype last_modified_by_type: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime """ _attribute_map = { @@ -1135,6 +1336,24 @@ def __init__( last_modified_at: Optional[datetime.datetime] = None, **kwargs ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ super(SystemData, self).__init__(**kwargs) self.created_by = created_by self.created_by_type = created_by_type diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/models/_source_control_configuration_client_enums.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/models/_source_control_configuration_client_enums.py index d25cb04abdc..bd58c28c279 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/models/_source_control_configuration_client_enums.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/models/_source_control_configuration_client_enums.py @@ -6,34 +6,19 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from enum import Enum, EnumMeta +from enum import Enum from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta -class _CaseInsensitiveEnumMeta(EnumMeta): - def __getitem__(self, name): - return super().__getitem__(name.upper()) - def __getattr__(cls, name): - """Return the enum member matching `name` - We use __getattr__ instead of descriptors or inserting into the enum - class' __dict__ in order to support `name` and `value` being both - properties for enum members (which live in the class' __dict__) and - enum members themselves. - """ - try: - return cls._member_map_[name.upper()] - except KeyError: - raise AttributeError(name) - - -class ClusterTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ClusterTypes(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Cluster types """ CONNECTED_CLUSTERS = "connectedClusters" MANAGED_CLUSTERS = "managedClusters" -class ComplianceStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The compliance state of the configuration. """ @@ -43,7 +28,7 @@ class ComplianceStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): INSTALLED = "Installed" FAILED = "Failed" -class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class CreatedByType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The type of identity that created the resource. """ @@ -52,22 +37,22 @@ class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): MANAGED_IDENTITY = "ManagedIdentity" KEY = "Key" -class Enum0(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Enum0(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" -class Enum1(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Enum1(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): MANAGED_CLUSTERS = "managedClusters" CONNECTED_CLUSTERS = "connectedClusters" -class Enum5(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Enum5(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): MANAGED_CLUSTERS = "managedClusters" CONNECTED_CLUSTERS = "connectedClusters" -class LevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class LevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Level of the status. """ @@ -75,7 +60,7 @@ class LevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): WARNING = "Warning" INFORMATION = "Information" -class MessageLevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Level of the message. """ @@ -83,20 +68,20 @@ class MessageLevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): WARNING = "Warning" INFORMATION = "Information" -class OperatorScopeType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Scope at which the operator will be installed. """ CLUSTER = "cluster" NAMESPACE = "namespace" -class OperatorType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Type of the operator """ FLUX = "Flux" -class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The provisioning state of the extension resource. """ @@ -107,7 +92,7 @@ class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): UPDATING = "Updating" DELETING = "Deleting" -class ProvisioningStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The provisioning state of the resource provider. """ diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_type_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_type_operations.py index f845b5d719a..a9e523f7ed1 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_type_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_type_operations.py @@ -5,22 +5,65 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_type: Union[str, "_models.Enum5"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterType}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterType": _SERIALIZER.url("cluster_type", cluster_type, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionTypeName": _SERIALIZER.url("extension_type_name", extension_type_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class ClusterExtensionTypeOperations(object): """ClusterExtensionTypeOperations operations. @@ -44,16 +87,16 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_type, # type: Union[str, "_models.Enum5"] - cluster_name, # type: str - extension_type_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ExtensionType" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_type: Union[str, "_models.Enum5"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any + ) -> "_models.ExtensionType": """Get Extension Type details. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -78,36 +121,26 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterType': self._serialize.url("cluster_type", cluster_type, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionTypeName': self._serialize.url("extension_type_name", extension_type_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_type=cluster_type, + cluster_name=cluster_name, + extension_type_name=extension_type_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ExtensionType', pipeline_response) @@ -116,4 +149,6 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterType}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore + diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_types_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_types_operations.py index 2991257b530..210d4945423 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_types_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_types_operations.py @@ -5,23 +5,62 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/connectedClusters/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class ClusterExtensionTypesOperations(object): """ClusterExtensionTypesOperations operations. @@ -45,14 +84,14 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ExtensionTypeList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionTypeList"]: """Get Extension Types. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -64,7 +103,8 @@ def list( :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] @@ -72,37 +112,35 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionTypeList', pipeline_response) + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -115,12 +153,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_extension_type_versions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_extension_type_versions_operations.py index bca368e1670..c978497cf58 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_extension_type_versions_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_extension_type_versions_operations.py @@ -5,23 +5,60 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + extension_type_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "extensionTypeName": _SERIALIZER.url("extension_type_name", extension_type_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class ExtensionTypeVersionsOperations(object): """ExtensionTypeVersionsOperations operations. @@ -45,13 +82,13 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - location, # type: str - extension_type_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ExtensionVersionList"] + location: str, + extension_type_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionVersionList"]: """List available versions for an Extension Type. :param location: extension location. @@ -59,8 +96,10 @@ def list( :param extension_type_name: Extension type name. :type extension_type_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ExtensionVersionList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionVersionList] + :return: An iterator like instance of either ExtensionVersionList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionVersionList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionVersionList"] @@ -68,36 +107,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'location': self._serialize.url("location", location, 'str'), - 'extensionTypeName': self._serialize.url("extension_type_name", extension_type_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionVersionList', pipeline_response) + deserialized = self._deserialize("ExtensionVersionList", pipeline_response) list_of_elem = deserialized.versions if cls: list_of_elem = cls(list_of_elem) @@ -110,12 +146,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_extensions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_extensions_operations.py index 580a564a7cb..36fca482e88 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_extensions_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_extensions_operations.py @@ -5,25 +5,203 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class ExtensionsOperations(object): """ExtensionsOperations operations. @@ -49,56 +227,44 @@ def __init__(self, client, config, serializer, deserializer): def _create_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - extension, # type: "_models.Extension" - **kwargs # type: Any - ): - # type: (...) -> "_models.Extension" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(extension, 'Extension') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize('Extension', pipeline_response) @@ -110,19 +276,21 @@ def _create_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace def begin_create( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - extension, # type: "_models.Extension" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.Extension"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: """Create a new Kubernetes Cluster Extension. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -132,7 +300,8 @@ def begin_create( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -141,15 +310,19 @@ def begin_create( :type extension: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of LROPoller that returns either Extension or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension] - :raises ~azure.core.exceptions.HttpResponseError: + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] lro_delay = kwargs.pop( 'polling_interval', @@ -164,30 +337,21 @@ def begin_create( cluster_name=cluster_name, extension_name=extension_name, extension=extension, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('Extension', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -199,18 +363,19 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.Extension" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": """Gets Kubernetes Cluster Extension. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -220,7 +385,8 @@ def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -235,36 +401,26 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Extension', pipeline_response) @@ -273,74 +429,64 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + def _delete_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - force_delete=None, # type: Optional[bool] - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: cls = kwargs.pop('cls', None) # type: ClsType[None] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if force_delete is not None: - query_parameters['forceDelete'] = self._serialize.query("force_delete", force_delete, 'bool') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace def begin_delete( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - force_delete=None, # type: Optional[bool] - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster. @@ -351,7 +497,8 @@ def begin_delete( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -361,15 +508,17 @@ def begin_delete( :type force_delete: bool :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of LROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -387,24 +536,14 @@ def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -416,17 +555,18 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ExtensionsList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionsList"]: """List all Extensions in the cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -436,12 +576,14 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionsList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionsList] + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionsList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] @@ -449,38 +591,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionsList', pipeline_response) + deserialized = self._deserialize("ExtensionsList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -493,12 +634,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_location_extension_types_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_location_extension_types_operations.py index 15282cd28e0..5a8c204da5e 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_location_extension_types_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_location_extension_types_operations.py @@ -5,23 +5,58 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class LocationExtensionTypesOperations(object): """LocationExtensionTypesOperations operations. @@ -45,19 +80,20 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - location, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ExtensionTypeList"] + location: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionTypeList"]: """List all Extension Types. :param location: extension location. :type location: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] @@ -65,35 +101,31 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'location': self._serialize.url("location", location, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionTypeList', pipeline_response) + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -106,12 +138,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_operation_status_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_operation_status_operations.py index 46f3330b729..c1cdf65ac6d 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_operation_status_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_operation_status_operations.py @@ -5,23 +5,107 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class OperationStatusOperations(object): """OperationStatusOperations operations. @@ -45,15 +129,15 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.OperationStatusList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.OperationStatusList"]: """List Async Operations, currently in progress, in a cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -63,12 +147,14 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationStatusList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperationStatusList] + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperationStatusList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] @@ -76,38 +162,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('OperationStatusList', pipeline_response) + deserialized = self._deserialize("OperationStatusList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -120,28 +205,29 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - operation_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.OperationStatusResult" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": """Get Async Operation status. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -151,7 +237,8 @@ def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -168,37 +255,27 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - 'operationId': self._serialize.url("operation_id", operation_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('OperationStatusResult', pipeline_response) @@ -207,4 +284,6 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_operations.py index 147a262ef47..6fd3ea82cea 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_operations.py @@ -5,23 +5,50 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class Operations(object): """Operations operations. @@ -45,16 +72,18 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ResourceProviderOperationList"] + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: """List all the available operations the KubernetesConfiguration resource provider supports. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperationList] + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] @@ -62,30 +91,27 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ResourceProviderOperationList', pipeline_response) + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -98,12 +124,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_source_control_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_source_control_configurations_operations.py index 0a71453758b..f79edc22996 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_source_control_configurations_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_05_01_preview/operations/_source_control_configurations_operations.py @@ -5,25 +5,199 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class SourceControlConfigurationsOperations(object): """SourceControlConfigurationsOperations operations. @@ -47,16 +221,16 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.SourceControlConfiguration" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": """Gets details of the Source Control Configuration. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -66,14 +240,16 @@ def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -81,36 +257,26 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) @@ -119,19 +285,21 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace def create_or_update( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - source_control_configuration, # type: "_models.SourceControlConfiguration" - **kwargs # type: Any - ): - # type: (...) -> "_models.SourceControlConfiguration" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": """Create a new Kubernetes Source Control Configuration. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -141,16 +309,19 @@ def create_or_update( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. - :type source_control_configuration: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -158,41 +329,31 @@ def create_or_update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.create_or_update.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -205,70 +366,61 @@ def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + def _delete_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: cls = kwargs.pop('cls', None) # type: ClsType[None] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace def begin_delete( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: """This will delete the YAML file used to set up the Source control configuration, thus stopping future sync from the source repo. @@ -279,22 +431,25 @@ def begin_delete( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of LROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -311,24 +466,14 @@ def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -340,17 +485,18 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.SourceControlConfigurationList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: """List all Source Control Configurations. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -360,12 +506,15 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SourceControlConfigurationList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfigurationList] + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfigurationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] @@ -373,38 +522,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('SourceControlConfigurationList', pipeline_response) + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -417,12 +565,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/__init__.py index f13062376d7..e9096303633 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/__init__.py @@ -12,8 +12,7 @@ __version__ = VERSION __all__ = ['SourceControlConfigurationClient'] -try: - from ._patch import patch_sdk # type: ignore - patch_sdk() -except ImportError: - pass +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/_configuration.py index abc45d20646..b83d2cdd71b 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/_configuration.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/_configuration.py @@ -6,18 +6,16 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +from typing import Any, TYPE_CHECKING from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy from ._version import VERSION if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any - from azure.core.credentials import TokenCredential @@ -35,16 +33,15 @@ class SourceControlConfigurationClientConfiguration(Configuration): def __init__( self, - credential, # type: "TokenCredential" - subscription_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id @@ -68,4 +65,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/_patch.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/_source_control_configuration_client.py index c53deb2d4cd..537f5bba325 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/_source_control_configuration_client.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/_source_control_configuration_client.py @@ -6,84 +6,86 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING +from azure.core.rest import HttpRequest, HttpResponse from azure.mgmt.core import ARMPipelineClient from msrest import Deserializer, Serializer +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ExtensionsOperations, OperationStatusOperations, Operations + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Optional - from azure.core.credentials import TokenCredential - from azure.core.pipeline.transport import HttpRequest, HttpResponse - -from ._configuration import SourceControlConfigurationClientConfiguration -from .operations import ExtensionsOperations -from .operations import OperationStatusOperations -from .operations import Operations -from . import models - -class SourceControlConfigurationClient(object): +class SourceControlConfigurationClient: """KubernetesConfiguration Client. :ivar extensions: ExtensionsOperations operations - :vartype extensions: azure.mgmt.kubernetesconfiguration.v2021_09_01.operations.ExtensionsOperations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2021_09_01.operations.ExtensionsOperations :ivar operation_status: OperationStatusOperations operations - :vartype operation_status: azure.mgmt.kubernetesconfiguration.v2021_09_01.operations.OperationStatusOperations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2021_09_01.operations.OperationStatusOperations :ivar operations: Operations operations :vartype operations: azure.mgmt.kubernetesconfiguration.v2021_09_01.operations.Operations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The ID of the target subscription. :type subscription_id: str - :param str base_url: Service URL - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. """ def __init__( self, - credential, # type: "TokenCredential" - subscription_id, # type: str - base_url=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> None - if not base_url: - base_url = 'https://management.azure.com' - self._config = SourceControlConfigurationClientConfiguration(credential, subscription_id, **kwargs) + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) - self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) - self.extensions = ExtensionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operation_status = OperationStatusOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - def _send_request(self, http_request, **kwargs): - # type: (HttpRequest, Any) -> HttpResponse + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: """Runs the network request through the client's chained policies. - :param http_request: The network request you want to make. Required. - :type http_request: ~azure.core.pipeline.transport.HttpRequest - :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. :return: The response of your network call. Does not do error handling on your response. - :rtype: ~azure.core.pipeline.transport.HttpResponse + :rtype: ~azure.core.rest.HttpResponse """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - http_request.url = self._client.format_url(http_request.url, **path_format_arguments) - stream = kwargs.pop("stream", True) - pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) def close(self): # type: () -> None diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/_vendor.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/_vendor.py @@ -0,0 +1,27 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/__init__.py index ba52c91a7ba..5f583276b4e 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/__init__.py @@ -8,3 +8,8 @@ from ._source_control_configuration_client import SourceControlConfigurationClient __all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/_configuration.py index 3f22841a050..710846e073d 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/_configuration.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/_configuration.py @@ -10,7 +10,7 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy from .._version import VERSION @@ -37,11 +37,11 @@ def __init__( subscription_id: str, **kwargs: Any ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id @@ -64,4 +64,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/_patch.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/_source_control_configuration_client.py index 4b520f9c48c..96bdeb10bc7 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/_source_control_configuration_client.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/_source_control_configuration_client.py @@ -6,80 +6,86 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, Optional, TYPE_CHECKING +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.rest import AsyncHttpResponse, HttpRequest from azure.mgmt.core import AsyncARMPipelineClient from msrest import Deserializer, Serializer +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ExtensionsOperations, OperationStatusOperations, Operations + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential -from ._configuration import SourceControlConfigurationClientConfiguration -from .operations import ExtensionsOperations -from .operations import OperationStatusOperations -from .operations import Operations -from .. import models - - -class SourceControlConfigurationClient(object): +class SourceControlConfigurationClient: """KubernetesConfiguration Client. :ivar extensions: ExtensionsOperations operations - :vartype extensions: azure.mgmt.kubernetesconfiguration.v2021_09_01.aio.operations.ExtensionsOperations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2021_09_01.aio.operations.ExtensionsOperations :ivar operation_status: OperationStatusOperations operations - :vartype operation_status: azure.mgmt.kubernetesconfiguration.v2021_09_01.aio.operations.OperationStatusOperations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2021_09_01.aio.operations.OperationStatusOperations :ivar operations: Operations operations :vartype operations: azure.mgmt.kubernetesconfiguration.v2021_09_01.aio.operations.Operations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials_async.AsyncTokenCredential :param subscription_id: The ID of the target subscription. :type subscription_id: str - :param str base_url: Service URL - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. """ def __init__( self, credential: "AsyncTokenCredential", subscription_id: str, - base_url: Optional[str] = None, + base_url: str = "https://management.azure.com", **kwargs: Any ) -> None: - if not base_url: - base_url = 'https://management.azure.com' - self._config = SourceControlConfigurationClientConfiguration(credential, subscription_id, **kwargs) + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) - self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) - self.extensions = ExtensionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operation_status = OperationStatusOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. - :param http_request: The network request you want to make. Required. - :type http_request: ~azure.core.pipeline.transport.HttpRequest - :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. :return: The response of your network call. Does not do error handling on your response. - :rtype: ~azure.core.pipeline.transport.AsyncHttpResponse + :rtype: ~azure.core.rest.AsyncHttpResponse """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - http_request.url = self._client.format_url(http_request.url, **path_format_arguments) - stream = kwargs.pop("stream", True) - pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) async def close(self) -> None: await self._client.close() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/operations/_extensions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/operations/_extensions_operations.py index c6c3c4f9d16..46475d98ddf 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/operations/_extensions_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/operations/_extensions_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._extensions_operations import build_create_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -58,42 +63,31 @@ async def _create_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(extension, 'Extension') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize('Extension', pipeline_response) @@ -105,8 +99,11 @@ async def _create_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async async def begin_create( self, resource_group_name: str, @@ -126,7 +123,8 @@ async def begin_create( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -135,15 +133,20 @@ async def begin_create( :type extension: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either Extension or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension] - :raises ~azure.core.exceptions.HttpResponseError: + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] lro_delay = kwargs.pop( 'polling_interval', @@ -158,30 +161,21 @@ async def begin_create( cluster_name=cluster_name, extension_name=extension_name, extension=extension, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('Extension', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -193,8 +187,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -213,7 +209,8 @@ async def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -228,36 +225,26 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Extension', pipeline_response) @@ -266,8 +253,10 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + async def _delete_initial( self, resource_group_name: str, @@ -283,45 +272,35 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if force_delete is not None: - query_parameters['forceDelete'] = self._serialize.query("force_delete", force_delete, 'bool') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, @@ -342,7 +321,8 @@ async def begin_delete( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -352,15 +332,17 @@ async def begin_delete( :type force_delete: bool :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -378,24 +360,14 @@ async def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -407,6 +379,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore async def _update_initial( @@ -421,47 +394,34 @@ async def _update_initial( ) -> "_models.Extension": cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] error_map = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: lambda response: ResourceExistsError(response=response, model=self._deserialize(_models.ErrorResponse, response), error_format=ARMErrorFormat), + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(patch_extension, 'PatchExtension') - body_content_kwargs['content'] = body_content - request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) deserialized = self._deserialize('Extension', pipeline_response) @@ -469,8 +429,11 @@ async def _update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async async def begin_update( self, resource_group_name: str, @@ -490,7 +453,8 @@ async def begin_update( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -499,15 +463,20 @@ async def begin_update( :type patch_extension: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.PatchExtension :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either Extension or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension] - :raises ~azure.core.exceptions.HttpResponseError: + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] lro_delay = kwargs.pop( 'polling_interval', @@ -522,30 +491,21 @@ async def begin_update( cluster_name=cluster_name, extension_name=extension_name, patch_extension=patch_extension, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('Extension', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -557,8 +517,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + @distributed_trace def list( self, resource_group_name: str, @@ -576,12 +538,14 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionsList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionsList] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionsList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] @@ -589,38 +553,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionsList', pipeline_response) + deserialized = self._deserialize("ExtensionsList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -633,12 +596,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/operations/_operation_status_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/operations/_operation_status_operations.py index 61fca2984db..0d2cb035b00 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/operations/_operation_status_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/operations/_operation_status_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._operation_status_operations import build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, @@ -58,12 +64,14 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationStatusList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.OperationStatusList] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.OperationStatusList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] @@ -71,38 +79,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('OperationStatusList', pipeline_response) + deserialized = self._deserialize("OperationStatusList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -115,17 +122,19 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -145,7 +154,8 @@ async def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -162,37 +172,27 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - 'operationId': self._serialize.url("operation_id", operation_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('OperationStatusResult', pipeline_response) @@ -201,4 +201,6 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/operations/_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/operations/_operations.py index 103c895ff59..2113e3798fe 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/operations/_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/aio/operations/_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, **kwargs: Any @@ -49,8 +55,10 @@ def list( this api-version. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperationList] + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] @@ -58,30 +66,27 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ResourceProviderOperationList', pipeline_response) + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -94,12 +99,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/models/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/models/__init__.py index 2bcf3a10bde..01a45e76c93 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/models/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/models/__init__.py @@ -6,48 +6,27 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -try: - from ._models_py3 import ErrorAdditionalInfo - from ._models_py3 import ErrorDetail - from ._models_py3 import ErrorResponse - from ._models_py3 import Extension - from ._models_py3 import ExtensionPropertiesAksAssignedIdentity - from ._models_py3 import ExtensionStatus - from ._models_py3 import ExtensionsList - from ._models_py3 import Identity - from ._models_py3 import OperationStatusList - from ._models_py3 import OperationStatusResult - from ._models_py3 import PatchExtension - from ._models_py3 import ProxyResource - from ._models_py3 import Resource - from ._models_py3 import ResourceProviderOperation - from ._models_py3 import ResourceProviderOperationDisplay - from ._models_py3 import ResourceProviderOperationList - from ._models_py3 import Scope - from ._models_py3 import ScopeCluster - from ._models_py3 import ScopeNamespace - from ._models_py3 import SystemData -except (SyntaxError, ImportError): - from ._models import ErrorAdditionalInfo # type: ignore - from ._models import ErrorDetail # type: ignore - from ._models import ErrorResponse # type: ignore - from ._models import Extension # type: ignore - from ._models import ExtensionPropertiesAksAssignedIdentity # type: ignore - from ._models import ExtensionStatus # type: ignore - from ._models import ExtensionsList # type: ignore - from ._models import Identity # type: ignore - from ._models import OperationStatusList # type: ignore - from ._models import OperationStatusResult # type: ignore - from ._models import PatchExtension # type: ignore - from ._models import ProxyResource # type: ignore - from ._models import Resource # type: ignore - from ._models import ResourceProviderOperation # type: ignore - from ._models import ResourceProviderOperationDisplay # type: ignore - from ._models import ResourceProviderOperationList # type: ignore - from ._models import Scope # type: ignore - from ._models import ScopeCluster # type: ignore - from ._models import ScopeNamespace # type: ignore - from ._models import SystemData # type: ignore +from ._models_py3 import ErrorAdditionalInfo +from ._models_py3 import ErrorDetail +from ._models_py3 import ErrorResponse +from ._models_py3 import Extension +from ._models_py3 import ExtensionPropertiesAksAssignedIdentity +from ._models_py3 import ExtensionStatus +from ._models_py3 import ExtensionsList +from ._models_py3 import Identity +from ._models_py3 import OperationStatusList +from ._models_py3 import OperationStatusResult +from ._models_py3 import PatchExtension +from ._models_py3 import ProxyResource +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Scope +from ._models_py3 import ScopeCluster +from ._models_py3 import ScopeNamespace +from ._models_py3 import SystemData + from ._source_control_configuration_client_enums import ( CreatedByType, diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/models/_models.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/models/_models.py deleted file mode 100644 index 82ac361f3a2..00000000000 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/models/_models.py +++ /dev/null @@ -1,739 +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 azure.core.exceptions import HttpResponseError -import msrest.serialization - - -class ErrorAdditionalInfo(msrest.serialization.Model): - """The resource management error additional info. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar type: The additional info type. - :vartype type: str - :ivar info: The additional info. - :vartype info: any - """ - - _validation = { - 'type': {'readonly': True}, - 'info': {'readonly': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'info': {'key': 'info', 'type': 'object'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorAdditionalInfo, self).__init__(**kwargs) - self.type = None - self.info = None - - -class ErrorDetail(msrest.serialization.Model): - """The error detail. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar code: The error code. - :vartype code: str - :ivar message: The error message. - :vartype message: str - :ivar target: The error target. - :vartype target: str - :ivar details: The error details. - :vartype details: list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail] - :ivar additional_info: The error additional info. - :vartype additional_info: - list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorAdditionalInfo] - """ - - _validation = { - 'code': {'readonly': True}, - 'message': {'readonly': True}, - 'target': {'readonly': True}, - 'details': {'readonly': True}, - 'additional_info': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ErrorDetail]'}, - 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorDetail, self).__init__(**kwargs) - self.code = None - self.message = None - self.target = None - self.details = None - self.additional_info = None - - -class ErrorResponse(msrest.serialization.Model): - """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). - - :param error: The error object. - :type error: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDetail'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorResponse, self).__init__(**kwargs) - self.error = kwargs.get('error', None) - - -class Resource(msrest.serialization.Model): - """Common fields that are returned in the response for all Azure Resource Manager 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. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - - -class ProxyResource(Resource): - """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ProxyResource, self).__init__(**kwargs) - - -class Extension(ProxyResource): - """The Extension object. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :param identity: Identity of the Extension resource. - :type identity: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Identity - :ivar system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.SystemData - :param extension_type: Type of the Extension, of which this resource is an instance of. It - must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the - Extension publisher. - :type extension_type: str - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade - of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific - version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param scope: Scope at which the extension is installed. - :type scope: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Scope - :param configuration_settings: Configuration settings, as name-value pairs for configuring this - extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as - name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] - :ivar provisioning_state: The provisioning state of the extension resource. Possible values - include: "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". - :vartype provisioning_state: str or - ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ProvisioningState - :param statuses: Status from this extension. - :type statuses: list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionStatus] - :param error_info: The error detail. - :type error_info: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail - :ivar custom_location_settings: Custom Location settings properties. - :vartype custom_location_settings: dict[str, str] - :ivar package_uri: Uri of the Helm package. - :vartype package_uri: str - :param aks_assigned_identity: Identity of the Extension resource in an AKS cluster. - :type aks_assigned_identity: - ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionPropertiesAksAssignedIdentity - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'custom_location_settings': {'readonly': True}, - 'package_uri': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'Identity'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, - 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, - 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'scope': {'key': 'properties.scope', 'type': 'Scope'}, - 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'statuses': {'key': 'properties.statuses', 'type': '[ExtensionStatus]'}, - 'error_info': {'key': 'properties.errorInfo', 'type': 'ErrorDetail'}, - 'custom_location_settings': {'key': 'properties.customLocationSettings', 'type': '{str}'}, - 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, - 'aks_assigned_identity': {'key': 'properties.aksAssignedIdentity', 'type': 'ExtensionPropertiesAksAssignedIdentity'}, - } - - def __init__( - self, - **kwargs - ): - super(Extension, self).__init__(**kwargs) - self.identity = kwargs.get('identity', None) - self.system_data = None - self.extension_type = kwargs.get('extension_type', None) - self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', True) - self.release_train = kwargs.get('release_train', "Stable") - self.version = kwargs.get('version', None) - self.scope = kwargs.get('scope', None) - self.configuration_settings = kwargs.get('configuration_settings', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - self.provisioning_state = None - self.statuses = kwargs.get('statuses', None) - self.error_info = kwargs.get('error_info', None) - self.custom_location_settings = None - self.package_uri = None - self.aks_assigned_identity = kwargs.get('aks_assigned_identity', None) - - -class ExtensionPropertiesAksAssignedIdentity(msrest.serialization.Model): - """Identity of the Extension resource in an AKS cluster. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar principal_id: The principal ID of resource identity. - :vartype principal_id: str - :ivar tenant_id: The tenant ID of resource. - :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and - "SystemAssigned". The default value is None. - :type type: str - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionPropertiesAksAssignedIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = kwargs.get('type', None) - - -class ExtensionsList(msrest.serialization.Model): - """Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Extensions within a Kubernetes cluster. - :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension] - :ivar next_link: URL to get the next set of extension objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Extension]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionsList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class ExtensionStatus(msrest.serialization.Model): - """Status from the extension. - - :param code: Status code provided by the Extension. - :type code: str - :param display_status: Short description of status of the extension. - :type display_status: str - :param level: Level of the status. Possible values include: "Error", "Warning", "Information". - Default value: "Information". - :type level: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.LevelType - :param message: Detailed message of the status from the Extension. - :type message: str - :param time: DateLiteral (per ISO8601) noting the time of installation status. - :type time: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'display_status': {'key': 'displayStatus', 'type': 'str'}, - 'level': {'key': 'level', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'time': {'key': 'time', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionStatus, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.display_status = kwargs.get('display_status', None) - self.level = kwargs.get('level', "Information") - self.message = kwargs.get('message', None) - self.time = kwargs.get('time', None) - - -class Identity(msrest.serialization.Model): - """Identity for the resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar principal_id: The principal ID of resource identity. - :vartype principal_id: str - :ivar tenant_id: The tenant ID of resource. - :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and - "SystemAssigned". The default value is None. - :type type: str - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Identity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = kwargs.get('type', None) - - -class OperationStatusList(msrest.serialization.Model): - """The async operations in progress, in the cluster. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of async operations in progress, in the cluster. - :vartype value: - list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.OperationStatusResult] - :ivar next_link: URL to get the next set of Operation Result objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[OperationStatusResult]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationStatusList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class OperationStatusResult(msrest.serialization.Model): - """The current status of an async operation. - - All required parameters must be populated in order to send to Azure. - - :param id: Fully qualified ID for the async operation. - :type id: str - :param name: Name of the async operation. - :type name: str - :param status: Required. Operation status. - :type status: str - :param properties: Additional information, if available. - :type properties: dict[str, str] - :param error: The error detail. - :type error: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail - """ - - _validation = { - 'status': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': '{str}'}, - 'error': {'key': 'error', 'type': 'ErrorDetail'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationStatusResult, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = kwargs.get('name', None) - self.status = kwargs['status'] - self.properties = kwargs.get('properties', None) - self.error = kwargs.get('error', None) - - -class PatchExtension(msrest.serialization.Model): - """The Extension Patch Request object. - - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade - of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific - version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param configuration_settings: Configuration settings, as name-value pairs for configuring this - extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as - name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] - """ - - _attribute_map = { - 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, - 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - } - - def __init__( - self, - **kwargs - ): - super(PatchExtension, self).__init__(**kwargs) - self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', True) - self.release_train = kwargs.get('release_train', "Stable") - self.version = kwargs.get('version', None) - self.configuration_settings = kwargs.get('configuration_settings', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - - -class ResourceProviderOperation(msrest.serialization.Model): - """Supported operation of this resource provider. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param name: Operation name, in format of {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: - ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperationDisplay - :ivar is_data_action: The flag that indicates whether the operation applies to data plane. - :vartype is_data_action: bool - :ivar origin: Origin of the operation. - :vartype origin: str - """ - - _validation = { - 'is_data_action': {'readonly': True}, - 'origin': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, - 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, - 'origin': {'key': 'origin', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceProviderOperation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display = kwargs.get('display', None) - self.is_data_action = None - self.origin = None - - -class ResourceProviderOperationDisplay(msrest.serialization.Model): - """Display metadata associated with the operation. - - :param provider: Resource provider: Microsoft KubernetesConfiguration. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :param description: Description of this 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) - - -class ResourceProviderOperationList(msrest.serialization.Model): - """Result of the request to list operations. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: List of operations supported by this resource provider. - :type value: - list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperation] - :ivar next_link: URL to the next set of results, if any. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceProviderOperationList, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class Scope(msrest.serialization.Model): - """Scope of the extension. It can be either Cluster or Namespace; but not both. - - :param cluster: Specifies that the scope of the extension is Cluster. - :type cluster: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ScopeCluster - :param namespace: Specifies that the scope of the extension is Namespace. - :type namespace: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ScopeNamespace - """ - - _attribute_map = { - 'cluster': {'key': 'cluster', 'type': 'ScopeCluster'}, - 'namespace': {'key': 'namespace', 'type': 'ScopeNamespace'}, - } - - def __init__( - self, - **kwargs - ): - super(Scope, self).__init__(**kwargs) - self.cluster = kwargs.get('cluster', None) - self.namespace = kwargs.get('namespace', None) - - -class ScopeCluster(msrest.serialization.Model): - """Specifies that the scope of the extension is Cluster. - - :param release_namespace: Namespace where the extension Release must be placed, for a Cluster - scoped extension. If this namespace does not exist, it will be created. - :type release_namespace: str - """ - - _attribute_map = { - 'release_namespace': {'key': 'releaseNamespace', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ScopeCluster, self).__init__(**kwargs) - self.release_namespace = kwargs.get('release_namespace', None) - - -class ScopeNamespace(msrest.serialization.Model): - """Specifies that the scope of the extension is Namespace. - - :param target_namespace: Namespace where the extension will be created for an Namespace scoped - extension. If this namespace does not exist, it will be created. - :type target_namespace: str - """ - - _attribute_map = { - 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ScopeNamespace, self).__init__(**kwargs) - self.target_namespace = kwargs.get('target_namespace', None) - - -class SystemData(msrest.serialization.Model): - """Metadata pertaining to creation and last modification of the resource. - - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. Possible values - include: "User", "Application", "ManagedIdentity", "Key". - :type created_by_type: str or - ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: ~datetime.datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the resource. Possible - values include: "User", "Application", "ManagedIdentity", "Key". - :type last_modified_by_type: str or - ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime - """ - - _attribute_map = { - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'createdByType', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__( - self, - **kwargs - ): - super(SystemData, self).__init__(**kwargs) - self.created_by = kwargs.get('created_by', None) - self.created_by_type = kwargs.get('created_by_type', None) - self.created_at = kwargs.get('created_at', None) - self.last_modified_by = kwargs.get('last_modified_by', None) - self.last_modified_by_type = kwargs.get('last_modified_by_type', None) - self.last_modified_at = kwargs.get('last_modified_at', None) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/models/_models_py3.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/models/_models_py3.py index dfc2c01aab6..e60feb17869 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/models/_models_py3.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/models/_models_py3.py @@ -40,6 +40,8 @@ def __init__( self, **kwargs ): + """ + """ super(ErrorAdditionalInfo, self).__init__(**kwargs) self.type = None self.info = None @@ -83,6 +85,8 @@ def __init__( self, **kwargs ): + """ + """ super(ErrorDetail, self).__init__(**kwargs) self.code = None self.message = None @@ -94,8 +98,8 @@ def __init__( class ErrorResponse(msrest.serialization.Model): """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). - :param error: The error object. - :type error: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail + :ivar error: The error object. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail """ _attribute_map = { @@ -108,6 +112,10 @@ def __init__( error: Optional["ErrorDetail"] = None, **kwargs ): + """ + :keyword error: The error object. + :paramtype error: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail + """ super(ErrorResponse, self).__init__(**kwargs) self.error = error @@ -143,6 +151,8 @@ def __init__( self, **kwargs ): + """ + """ super(Resource, self).__init__(**kwargs) self.id = None self.name = None @@ -180,6 +190,8 @@ def __init__( self, **kwargs ): + """ + """ super(ProxyResource, self).__init__(**kwargs) @@ -196,46 +208,46 @@ class Extension(ProxyResource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :param identity: Identity of the Extension resource. - :type identity: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Identity + :ivar identity: Identity of the Extension resource. + :vartype identity: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Identity :ivar system_data: Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.SystemData - :param extension_type: Type of the Extension, of which this resource is an instance of. It - must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + :ivar extension_type: Type of the Extension, of which this resource is an instance of. It must + be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher. - :type extension_type: str - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + :vartype extension_type: str + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param scope: Scope at which the extension is installed. - :type scope: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Scope - :param configuration_settings: Configuration settings, as name-value pairs for configuring this + :vartype version: str + :ivar scope: Scope at which the extension is installed. + :vartype scope: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Scope + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] + :vartype configuration_protected_settings: dict[str, str] :ivar provisioning_state: The provisioning state of the extension resource. Possible values include: "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". :vartype provisioning_state: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ProvisioningState - :param statuses: Status from this extension. - :type statuses: list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionStatus] - :param error_info: The error detail. - :type error_info: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail + :ivar statuses: Status from this extension. + :vartype statuses: list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionStatus] + :ivar error_info: The error detail. + :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail :ivar custom_location_settings: Custom Location settings properties. :vartype custom_location_settings: dict[str, str] :ivar package_uri: Uri of the Helm package. :vartype package_uri: str - :param aks_assigned_identity: Identity of the Extension resource in an AKS cluster. - :type aks_assigned_identity: + :ivar aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :vartype aks_assigned_identity: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionPropertiesAksAssignedIdentity """ @@ -286,6 +298,39 @@ def __init__( aks_assigned_identity: Optional["ExtensionPropertiesAksAssignedIdentity"] = None, **kwargs ): + """ + :keyword identity: Identity of the Extension resource. + :paramtype identity: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Identity + :keyword extension_type: Type of the Extension, of which this resource is an instance of. It + must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :paramtype extension_type: str + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword scope: Scope at which the extension is installed. + :paramtype scope: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Scope + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + :keyword statuses: Status from this extension. + :paramtype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionStatus] + :keyword error_info: The error detail. + :paramtype error_info: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail + :keyword aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :paramtype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionPropertiesAksAssignedIdentity + """ super(Extension, self).__init__(**kwargs) self.identity = identity self.system_data = None @@ -313,9 +358,9 @@ class ExtensionPropertiesAksAssignedIdentity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant ID of resource. :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and + :ivar type: The identity type. The only acceptable values to pass in are None and "SystemAssigned". The default value is None. - :type type: str + :vartype type: str """ _validation = { @@ -335,6 +380,11 @@ def __init__( type: Optional[str] = None, **kwargs ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ super(ExtensionPropertiesAksAssignedIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None @@ -366,6 +416,8 @@ def __init__( self, **kwargs ): + """ + """ super(ExtensionsList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -374,17 +426,17 @@ def __init__( class ExtensionStatus(msrest.serialization.Model): """Status from the extension. - :param code: Status code provided by the Extension. - :type code: str - :param display_status: Short description of status of the extension. - :type display_status: str - :param level: Level of the status. Possible values include: "Error", "Warning", "Information". + :ivar code: Status code provided by the Extension. + :vartype code: str + :ivar display_status: Short description of status of the extension. + :vartype display_status: str + :ivar level: Level of the status. Possible values include: "Error", "Warning", "Information". Default value: "Information". - :type level: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.LevelType - :param message: Detailed message of the status from the Extension. - :type message: str - :param time: DateLiteral (per ISO8601) noting the time of installation status. - :type time: str + :vartype level: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.LevelType + :ivar message: Detailed message of the status from the Extension. + :vartype message: str + :ivar time: DateLiteral (per ISO8601) noting the time of installation status. + :vartype time: str """ _attribute_map = { @@ -405,6 +457,19 @@ def __init__( time: Optional[str] = None, **kwargs ): + """ + :keyword code: Status code provided by the Extension. + :paramtype code: str + :keyword display_status: Short description of status of the extension. + :paramtype display_status: str + :keyword level: Level of the status. Possible values include: "Error", "Warning", + "Information". Default value: "Information". + :paramtype level: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.LevelType + :keyword message: Detailed message of the status from the Extension. + :paramtype message: str + :keyword time: DateLiteral (per ISO8601) noting the time of installation status. + :paramtype time: str + """ super(ExtensionStatus, self).__init__(**kwargs) self.code = code self.display_status = display_status @@ -422,9 +487,9 @@ class Identity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant ID of resource. :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and + :ivar type: The identity type. The only acceptable values to pass in are None and "SystemAssigned". The default value is None. - :type type: str + :vartype type: str """ _validation = { @@ -444,6 +509,11 @@ def __init__( type: Optional[str] = None, **kwargs ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ super(Identity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None @@ -476,6 +546,8 @@ def __init__( self, **kwargs ): + """ + """ super(OperationStatusList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -486,16 +558,16 @@ class OperationStatusResult(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Fully qualified ID for the async operation. - :type id: str - :param name: Name of the async operation. - :type name: str - :param status: Required. Operation status. - :type status: str - :param properties: Additional information, if available. - :type properties: dict[str, str] - :param error: The error detail. - :type error: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail + :ivar id: Fully qualified ID for the async operation. + :vartype id: str + :ivar name: Name of the async operation. + :vartype name: str + :ivar status: Required. Operation status. + :vartype status: str + :ivar properties: Additional information, if available. + :vartype properties: dict[str, str] + :ivar error: The error detail. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail """ _validation = { @@ -520,6 +592,18 @@ def __init__( error: Optional["ErrorDetail"] = None, **kwargs ): + """ + :keyword id: Fully qualified ID for the async operation. + :paramtype id: str + :keyword name: Name of the async operation. + :paramtype name: str + :keyword status: Required. Operation status. + :paramtype status: str + :keyword properties: Additional information, if available. + :paramtype properties: dict[str, str] + :keyword error: The error detail. + :paramtype error: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail + """ super(OperationStatusResult, self).__init__(**kwargs) self.id = id self.name = name @@ -531,21 +615,21 @@ def __init__( class PatchExtension(msrest.serialization.Model): """The Extension Patch Request object. - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param configuration_settings: Configuration settings, as name-value pairs for configuring this + :vartype version: str + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] + :vartype configuration_protected_settings: dict[str, str] """ _attribute_map = { @@ -566,6 +650,23 @@ def __init__( configuration_protected_settings: Optional[Dict[str, str]] = None, **kwargs ): + """ + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + """ super(PatchExtension, self).__init__(**kwargs) self.auto_upgrade_minor_version = auto_upgrade_minor_version self.release_train = release_train @@ -579,10 +680,10 @@ class ResourceProviderOperation(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param name: Operation name, in format of {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperationDisplay :ivar is_data_action: The flag that indicates whether the operation applies to data plane. :vartype is_data_action: bool @@ -609,6 +710,13 @@ def __init__( display: Optional["ResourceProviderOperationDisplay"] = None, **kwargs ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperationDisplay + """ super(ResourceProviderOperation, self).__init__(**kwargs) self.name = name self.display = display @@ -619,14 +727,14 @@ def __init__( class ResourceProviderOperationDisplay(msrest.serialization.Model): """Display metadata associated with the operation. - :param provider: Resource provider: Microsoft KubernetesConfiguration. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :param description: Description of this operation. - :type description: str + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype description: str """ _attribute_map = { @@ -645,6 +753,16 @@ def __init__( description: Optional[str] = None, **kwargs ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ super(ResourceProviderOperationDisplay, self).__init__(**kwargs) self.provider = provider self.resource = resource @@ -657,8 +775,8 @@ class ResourceProviderOperationList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param value: List of operations supported by this resource provider. - :type value: + :ivar value: List of operations supported by this resource provider. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperation] :ivar next_link: URL to the next set of results, if any. :vartype next_link: str @@ -679,6 +797,11 @@ def __init__( value: Optional[List["ResourceProviderOperation"]] = None, **kwargs ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperation] + """ super(ResourceProviderOperationList, self).__init__(**kwargs) self.value = value self.next_link = None @@ -687,10 +810,10 @@ def __init__( class Scope(msrest.serialization.Model): """Scope of the extension. It can be either Cluster or Namespace; but not both. - :param cluster: Specifies that the scope of the extension is Cluster. - :type cluster: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ScopeCluster - :param namespace: Specifies that the scope of the extension is Namespace. - :type namespace: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ScopeNamespace + :ivar cluster: Specifies that the scope of the extension is Cluster. + :vartype cluster: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ScopeCluster + :ivar namespace: Specifies that the scope of the extension is Namespace. + :vartype namespace: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ScopeNamespace """ _attribute_map = { @@ -705,6 +828,12 @@ def __init__( namespace: Optional["ScopeNamespace"] = None, **kwargs ): + """ + :keyword cluster: Specifies that the scope of the extension is Cluster. + :paramtype cluster: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ScopeCluster + :keyword namespace: Specifies that the scope of the extension is Namespace. + :paramtype namespace: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ScopeNamespace + """ super(Scope, self).__init__(**kwargs) self.cluster = cluster self.namespace = namespace @@ -713,9 +842,9 @@ def __init__( class ScopeCluster(msrest.serialization.Model): """Specifies that the scope of the extension is Cluster. - :param release_namespace: Namespace where the extension Release must be placed, for a Cluster + :ivar release_namespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this namespace does not exist, it will be created. - :type release_namespace: str + :vartype release_namespace: str """ _attribute_map = { @@ -728,6 +857,11 @@ def __init__( release_namespace: Optional[str] = None, **kwargs ): + """ + :keyword release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :paramtype release_namespace: str + """ super(ScopeCluster, self).__init__(**kwargs) self.release_namespace = release_namespace @@ -735,9 +869,9 @@ def __init__( class ScopeNamespace(msrest.serialization.Model): """Specifies that the scope of the extension is Namespace. - :param target_namespace: Namespace where the extension will be created for an Namespace scoped + :ivar target_namespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace does not exist, it will be created. - :type target_namespace: str + :vartype target_namespace: str """ _attribute_map = { @@ -750,6 +884,11 @@ def __init__( target_namespace: Optional[str] = None, **kwargs ): + """ + :keyword target_namespace: Namespace where the extension will be created for an Namespace + scoped extension. If this namespace does not exist, it will be created. + :paramtype target_namespace: str + """ super(ScopeNamespace, self).__init__(**kwargs) self.target_namespace = target_namespace @@ -757,22 +896,22 @@ def __init__( class SystemData(msrest.serialization.Model): """Metadata pertaining to creation and last modification of the resource. - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. Possible values - include: "User", "Application", "ManagedIdentity", "Key". - :type created_by_type: str or + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: ~datetime.datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the resource. Possible + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Possible values include: "User", "Application", "ManagedIdentity", "Key". - :type last_modified_by_type: str or + :vartype last_modified_by_type: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime """ _attribute_map = { @@ -795,6 +934,24 @@ def __init__( last_modified_at: Optional[datetime.datetime] = None, **kwargs ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ super(SystemData, self).__init__(**kwargs) self.created_by = created_by self.created_by_type = created_by_type diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/models/_source_control_configuration_client_enums.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/models/_source_control_configuration_client_enums.py index 19b127e8cd4..48f19c25f2c 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/models/_source_control_configuration_client_enums.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/models/_source_control_configuration_client_enums.py @@ -6,27 +6,12 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from enum import Enum, EnumMeta +from enum import Enum from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta -class _CaseInsensitiveEnumMeta(EnumMeta): - def __getitem__(self, name): - return super().__getitem__(name.upper()) - def __getattr__(cls, name): - """Return the enum member matching `name` - We use __getattr__ instead of descriptors or inserting into the enum - class' __dict__ in order to support `name` and `value` being both - properties for enum members (which live in the class' __dict__) and - enum members themselves. - """ - try: - return cls._member_map_[name.upper()] - except KeyError: - raise AttributeError(name) - - -class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class CreatedByType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The type of identity that created the resource. """ @@ -35,17 +20,17 @@ class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): MANAGED_IDENTITY = "ManagedIdentity" KEY = "Key" -class Enum0(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Enum0(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" -class Enum1(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Enum1(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): MANAGED_CLUSTERS = "managedClusters" CONNECTED_CLUSTERS = "connectedClusters" -class LevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class LevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Level of the status. """ @@ -53,7 +38,7 @@ class LevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): WARNING = "Warning" INFORMATION = "Information" -class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The provisioning state of the extension resource. """ diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/operations/_extensions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/operations/_extensions_operations.py index 7517bdd8cd2..4e718b52671 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/operations/_extensions_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/operations/_extensions_operations.py @@ -5,25 +5,253 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class ExtensionsOperations(object): """ExtensionsOperations operations. @@ -49,56 +277,44 @@ def __init__(self, client, config, serializer, deserializer): def _create_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - extension, # type: "_models.Extension" - **kwargs # type: Any - ): - # type: (...) -> "_models.Extension" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(extension, 'Extension') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize('Extension', pipeline_response) @@ -110,19 +326,21 @@ def _create_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace def begin_create( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - extension, # type: "_models.Extension" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.Extension"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: """Create a new Kubernetes Cluster Extension. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -132,7 +350,8 @@ def begin_create( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -141,15 +360,19 @@ def begin_create( :type extension: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of LROPoller that returns either Extension or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension] - :raises ~azure.core.exceptions.HttpResponseError: + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] lro_delay = kwargs.pop( 'polling_interval', @@ -164,30 +387,21 @@ def begin_create( cluster_name=cluster_name, extension_name=extension_name, extension=extension, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('Extension', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -199,18 +413,19 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.Extension" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": """Gets Kubernetes Cluster Extension. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -220,7 +435,8 @@ def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -235,36 +451,26 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Extension', pipeline_response) @@ -273,74 +479,64 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + def _delete_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - force_delete=None, # type: Optional[bool] - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: cls = kwargs.pop('cls', None) # type: ClsType[None] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if force_delete is not None: - query_parameters['forceDelete'] = self._serialize.query("force_delete", force_delete, 'bool') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace def begin_delete( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - force_delete=None, # type: Optional[bool] - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster. @@ -351,7 +547,8 @@ def begin_delete( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -361,15 +558,17 @@ def begin_delete( :type force_delete: bool :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of LROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -387,24 +586,14 @@ def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -416,62 +605,49 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore def _update_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - patch_extension, # type: "_models.PatchExtension" - **kwargs # type: Any - ): - # type: (...) -> "_models.Extension" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> "_models.Extension": cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] error_map = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: lambda response: ResourceExistsError(response=response, model=self._deserialize(_models.ErrorResponse, response), error_format=ARMErrorFormat), + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(patch_extension, 'PatchExtension') - body_content_kwargs['content'] = body_content - request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) deserialized = self._deserialize('Extension', pipeline_response) @@ -479,19 +655,21 @@ def _update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace def begin_update( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - patch_extension, # type: "_models.PatchExtension" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.Extension"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: """Patch an existing Kubernetes Cluster Extension. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -501,7 +679,8 @@ def begin_update( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -510,15 +689,19 @@ def begin_update( :type patch_extension: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.PatchExtension :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of LROPoller that returns either Extension or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension] - :raises ~azure.core.exceptions.HttpResponseError: + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] lro_delay = kwargs.pop( 'polling_interval', @@ -533,30 +716,21 @@ def begin_update( cluster_name=cluster_name, extension_name=extension_name, patch_extension=patch_extension, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('Extension', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -568,17 +742,18 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ExtensionsList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionsList"]: """List all Extensions in the cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -588,12 +763,14 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionsList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionsList] + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionsList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] @@ -601,38 +778,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionsList', pipeline_response) + deserialized = self._deserialize("ExtensionsList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -645,12 +821,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/operations/_operation_status_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/operations/_operation_status_operations.py index 1343bf36641..c418a705a30 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/operations/_operation_status_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/operations/_operation_status_operations.py @@ -5,23 +5,107 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class OperationStatusOperations(object): """OperationStatusOperations operations. @@ -45,15 +129,15 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.OperationStatusList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.OperationStatusList"]: """List Async Operations, currently in progress, in a cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -63,12 +147,14 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationStatusList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.OperationStatusList] + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.OperationStatusList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] @@ -76,38 +162,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('OperationStatusList', pipeline_response) + deserialized = self._deserialize("OperationStatusList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -120,28 +205,29 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - operation_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.OperationStatusResult" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": """Get Async Operation status. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -151,7 +237,8 @@ def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -168,37 +255,27 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - 'operationId': self._serialize.url("operation_id", operation_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('OperationStatusResult', pipeline_response) @@ -207,4 +284,6 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/operations/_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/operations/_operations.py index 1cb21812c9b..e18d70e2222 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/operations/_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_09_01/operations/_operations.py @@ -5,23 +5,50 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class Operations(object): """Operations operations. @@ -45,17 +72,19 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ResourceProviderOperationList"] + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: """List all the available operations the KubernetesConfiguration resource provider supports, in this api-version. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperationList] + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] @@ -63,30 +92,27 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ResourceProviderOperationList', pipeline_response) + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -99,12 +125,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/__init__.py index f13062376d7..e9096303633 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/__init__.py @@ -12,8 +12,7 @@ __version__ = VERSION __all__ = ['SourceControlConfigurationClient'] -try: - from ._patch import patch_sdk # type: ignore - patch_sdk() -except ImportError: - pass +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/_configuration.py index bfc7dcb3271..b822e7bc318 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/_configuration.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/_configuration.py @@ -6,18 +6,16 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +from typing import Any, TYPE_CHECKING from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy from ._version import VERSION if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any - from azure.core.credentials import TokenCredential @@ -35,16 +33,15 @@ class SourceControlConfigurationClientConfiguration(Configuration): def __init__( self, - credential, # type: "TokenCredential" - subscription_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id @@ -68,4 +65,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/_patch.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/_source_control_configuration_client.py index 83ffa08737e..7a4739e5d02 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/_source_control_configuration_client.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/_source_control_configuration_client.py @@ -6,119 +6,115 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING +from azure.core.rest import HttpRequest, HttpResponse from azure.mgmt.core import ARMPipelineClient from msrest import Deserializer, Serializer +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ClusterExtensionTypeOperations, ClusterExtensionTypesOperations, ExtensionTypeVersionsOperations, ExtensionsOperations, FluxConfigOperationStatusOperations, FluxConfigurationsOperations, LocationExtensionTypesOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Optional - from azure.core.credentials import TokenCredential - from azure.core.pipeline.transport import HttpRequest, HttpResponse - -from ._configuration import SourceControlConfigurationClientConfiguration -from .operations import ExtensionsOperations -from .operations import OperationStatusOperations -from .operations import ClusterExtensionTypeOperations -from .operations import ClusterExtensionTypesOperations -from .operations import ExtensionTypeVersionsOperations -from .operations import LocationExtensionTypesOperations -from .operations import SourceControlConfigurationsOperations -from .operations import FluxConfigurationsOperations -from .operations import FluxConfigOperationStatusOperations -from .operations import Operations -from . import models - -class SourceControlConfigurationClient(object): +class SourceControlConfigurationClient: """KubernetesConfiguration Client. :ivar extensions: ExtensionsOperations operations - :vartype extensions: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.ExtensionsOperations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.ExtensionsOperations :ivar operation_status: OperationStatusOperations operations - :vartype operation_status: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.OperationStatusOperations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.OperationStatusOperations :ivar cluster_extension_type: ClusterExtensionTypeOperations operations - :vartype cluster_extension_type: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.ClusterExtensionTypeOperations + :vartype cluster_extension_type: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.ClusterExtensionTypeOperations :ivar cluster_extension_types: ClusterExtensionTypesOperations operations - :vartype cluster_extension_types: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.ClusterExtensionTypesOperations + :vartype cluster_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.ClusterExtensionTypesOperations :ivar extension_type_versions: ExtensionTypeVersionsOperations operations - :vartype extension_type_versions: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.ExtensionTypeVersionsOperations + :vartype extension_type_versions: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.ExtensionTypeVersionsOperations :ivar location_extension_types: LocationExtensionTypesOperations operations - :vartype location_extension_types: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.LocationExtensionTypesOperations + :vartype location_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.LocationExtensionTypesOperations :ivar source_control_configurations: SourceControlConfigurationsOperations operations - :vartype source_control_configurations: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.SourceControlConfigurationsOperations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.SourceControlConfigurationsOperations :ivar flux_configurations: FluxConfigurationsOperations operations - :vartype flux_configurations: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.FluxConfigurationsOperations + :vartype flux_configurations: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.FluxConfigurationsOperations :ivar flux_config_operation_status: FluxConfigOperationStatusOperations operations - :vartype flux_config_operation_status: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.FluxConfigOperationStatusOperations + :vartype flux_config_operation_status: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.FluxConfigOperationStatusOperations :ivar operations: Operations operations - :vartype operations: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.Operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.Operations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The ID of the target subscription. :type subscription_id: str - :param str base_url: Service URL - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. """ def __init__( self, - credential, # type: "TokenCredential" - subscription_id, # type: str - base_url=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> None - if not base_url: - base_url = 'https://management.azure.com' - self._config = SourceControlConfigurationClientConfiguration(credential, subscription_id, **kwargs) + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) - self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) - - self.extensions = ExtensionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operation_status = OperationStatusOperations( - self._client, self._config, self._serialize, self._deserialize) - self.cluster_extension_type = ClusterExtensionTypeOperations( - self._client, self._config, self._serialize, self._deserialize) - self.cluster_extension_types = ClusterExtensionTypesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.extension_type_versions = ExtensionTypeVersionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.location_extension_types = LocationExtensionTypesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.source_control_configurations = SourceControlConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.flux_configurations = FluxConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.flux_config_operation_status = FluxConfigOperationStatusOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - - def _send_request(self, http_request, **kwargs): - # type: (HttpRequest, Any) -> HttpResponse + self._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_type = ClusterExtensionTypeOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_types = ClusterExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extension_type_versions = ExtensionTypeVersionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.location_extension_types = LocationExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_configurations = FluxConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_config_operation_status = FluxConfigOperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: """Runs the network request through the client's chained policies. - :param http_request: The network request you want to make. Required. - :type http_request: ~azure.core.pipeline.transport.HttpRequest - :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. :return: The response of your network call. Does not do error handling on your response. - :rtype: ~azure.core.pipeline.transport.HttpResponse + :rtype: ~azure.core.rest.HttpResponse """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - http_request.url = self._client.format_url(http_request.url, **path_format_arguments) - stream = kwargs.pop("stream", True) - pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) def close(self): # type: () -> None diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/_vendor.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/_vendor.py @@ -0,0 +1,27 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/__init__.py index ba52c91a7ba..5f583276b4e 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/__init__.py @@ -8,3 +8,8 @@ from ._source_control_configuration_client import SourceControlConfigurationClient __all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/_configuration.py index bce1f6a3c16..b86d839a94e 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/_configuration.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/_configuration.py @@ -10,7 +10,7 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy from .._version import VERSION @@ -37,11 +37,11 @@ def __init__( subscription_id: str, **kwargs: Any ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id @@ -64,4 +64,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/_patch.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/_source_control_configuration_client.py index dbc71d712f5..e46bfe1b885 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/_source_control_configuration_client.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/_source_control_configuration_client.py @@ -6,115 +6,115 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, Optional, TYPE_CHECKING +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.rest import AsyncHttpResponse, HttpRequest from azure.mgmt.core import AsyncARMPipelineClient from msrest import Deserializer, Serializer +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ClusterExtensionTypeOperations, ClusterExtensionTypesOperations, ExtensionTypeVersionsOperations, ExtensionsOperations, FluxConfigOperationStatusOperations, FluxConfigurationsOperations, LocationExtensionTypesOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential -from ._configuration import SourceControlConfigurationClientConfiguration -from .operations import ExtensionsOperations -from .operations import OperationStatusOperations -from .operations import ClusterExtensionTypeOperations -from .operations import ClusterExtensionTypesOperations -from .operations import ExtensionTypeVersionsOperations -from .operations import LocationExtensionTypesOperations -from .operations import SourceControlConfigurationsOperations -from .operations import FluxConfigurationsOperations -from .operations import FluxConfigOperationStatusOperations -from .operations import Operations -from .. import models - - -class SourceControlConfigurationClient(object): +class SourceControlConfigurationClient: """KubernetesConfiguration Client. :ivar extensions: ExtensionsOperations operations - :vartype extensions: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.ExtensionsOperations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.ExtensionsOperations :ivar operation_status: OperationStatusOperations operations - :vartype operation_status: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.OperationStatusOperations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.OperationStatusOperations :ivar cluster_extension_type: ClusterExtensionTypeOperations operations - :vartype cluster_extension_type: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.ClusterExtensionTypeOperations + :vartype cluster_extension_type: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.ClusterExtensionTypeOperations :ivar cluster_extension_types: ClusterExtensionTypesOperations operations - :vartype cluster_extension_types: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.ClusterExtensionTypesOperations + :vartype cluster_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.ClusterExtensionTypesOperations :ivar extension_type_versions: ExtensionTypeVersionsOperations operations - :vartype extension_type_versions: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.ExtensionTypeVersionsOperations + :vartype extension_type_versions: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.ExtensionTypeVersionsOperations :ivar location_extension_types: LocationExtensionTypesOperations operations - :vartype location_extension_types: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.LocationExtensionTypesOperations + :vartype location_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.LocationExtensionTypesOperations :ivar source_control_configurations: SourceControlConfigurationsOperations operations - :vartype source_control_configurations: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.SourceControlConfigurationsOperations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.SourceControlConfigurationsOperations :ivar flux_configurations: FluxConfigurationsOperations operations - :vartype flux_configurations: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.FluxConfigurationsOperations + :vartype flux_configurations: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.FluxConfigurationsOperations :ivar flux_config_operation_status: FluxConfigOperationStatusOperations operations - :vartype flux_config_operation_status: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.FluxConfigOperationStatusOperations + :vartype flux_config_operation_status: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.FluxConfigOperationStatusOperations :ivar operations: Operations operations - :vartype operations: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.Operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.Operations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials_async.AsyncTokenCredential :param subscription_id: The ID of the target subscription. :type subscription_id: str - :param str base_url: Service URL - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. """ def __init__( self, credential: "AsyncTokenCredential", subscription_id: str, - base_url: Optional[str] = None, + base_url: str = "https://management.azure.com", **kwargs: Any ) -> None: - if not base_url: - base_url = 'https://management.azure.com' - self._config = SourceControlConfigurationClientConfiguration(credential, subscription_id, **kwargs) + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) - self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_type = ClusterExtensionTypeOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_types = ClusterExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extension_type_versions = ExtensionTypeVersionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.location_extension_types = LocationExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_configurations = FluxConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_config_operation_status = FluxConfigOperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + - self.extensions = ExtensionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operation_status = OperationStatusOperations( - self._client, self._config, self._serialize, self._deserialize) - self.cluster_extension_type = ClusterExtensionTypeOperations( - self._client, self._config, self._serialize, self._deserialize) - self.cluster_extension_types = ClusterExtensionTypesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.extension_type_versions = ExtensionTypeVersionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.location_extension_types = LocationExtensionTypesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.source_control_configurations = SourceControlConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.flux_configurations = FluxConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.flux_config_operation_status = FluxConfigOperationStatusOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - - async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. - :param http_request: The network request you want to make. Required. - :type http_request: ~azure.core.pipeline.transport.HttpRequest - :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. :return: The response of your network call. Does not do error handling on your response. - :rtype: ~azure.core.pipeline.transport.AsyncHttpResponse + :rtype: ~azure.core.rest.AsyncHttpResponse """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - http_request.url = self._client.format_url(http_request.url, **path_format_arguments) - stream = kwargs.pop("stream", True) - pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) async def close(self) -> None: await self._client.close() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_type_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_type_operations.py index a18843f7071..0f6ebc8b36a 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_type_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_type_operations.py @@ -5,16 +5,20 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._cluster_extension_type_operations import build_get_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -40,6 +44,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, @@ -58,7 +63,8 @@ async def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_type_name: Extension type name. @@ -73,36 +79,26 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionTypeName': self._serialize.url("extension_type_name", extension_type_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_type_name=extension_type_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ExtensionType', pipeline_response) @@ -111,4 +107,6 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore + diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_types_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_types_operations.py index 3c3bf55c4ad..ddeddcf87c6 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_types_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_types_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._cluster_extension_types_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, @@ -58,12 +64,14 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionTypeList] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionTypeList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] @@ -71,38 +79,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionTypeList', pipeline_response) + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -115,12 +122,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_extension_type_versions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_extension_type_versions_operations.py index 851eaef220c..2fb6a487db6 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_extension_type_versions_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_extension_type_versions_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._extension_type_versions_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, location: str, @@ -54,8 +60,10 @@ def list( :param extension_type_name: Extension type name. :type extension_type_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ExtensionVersionList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionVersionList] + :return: An iterator like instance of either ExtensionVersionList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionVersionList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionVersionList"] @@ -63,36 +71,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'location': self._serialize.url("location", location, 'str'), - 'extensionTypeName': self._serialize.url("extension_type_name", extension_type_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionVersionList', pipeline_response) + deserialized = self._deserialize("ExtensionVersionList", pipeline_response) list_of_elem = deserialized.versions if cls: list_of_elem = cls(list_of_elem) @@ -105,12 +110,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_extensions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_extensions_operations.py index c791c42c624..a80a7a43909 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_extensions_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_extensions_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._extensions_operations import build_create_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -58,42 +63,31 @@ async def _create_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(extension, 'Extension') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize('Extension', pipeline_response) @@ -105,8 +99,11 @@ async def _create_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async async def begin_create( self, resource_group_name: str, @@ -126,7 +123,8 @@ async def begin_create( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -135,15 +133,20 @@ async def begin_create( :type extension: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either Extension or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension] - :raises ~azure.core.exceptions.HttpResponseError: + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] lro_delay = kwargs.pop( 'polling_interval', @@ -158,30 +161,21 @@ async def begin_create( cluster_name=cluster_name, extension_name=extension_name, extension=extension, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('Extension', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -193,8 +187,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -213,7 +209,8 @@ async def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -228,36 +225,26 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Extension', pipeline_response) @@ -266,8 +253,10 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + async def _delete_initial( self, resource_group_name: str, @@ -283,45 +272,35 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if force_delete is not None: - query_parameters['forceDelete'] = self._serialize.query("force_delete", force_delete, 'bool') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, @@ -342,7 +321,8 @@ async def begin_delete( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -352,15 +332,17 @@ async def begin_delete( :type force_delete: bool :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -378,24 +360,14 @@ async def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -407,6 +379,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore async def _update_initial( @@ -421,47 +394,34 @@ async def _update_initial( ) -> "_models.Extension": cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] error_map = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: lambda response: ResourceExistsError(response=response, model=self._deserialize(_models.ErrorResponse, response), error_format=ARMErrorFormat), + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(patch_extension, 'PatchExtension') - body_content_kwargs['content'] = body_content - request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) deserialized = self._deserialize('Extension', pipeline_response) @@ -469,8 +429,11 @@ async def _update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async async def begin_update( self, resource_group_name: str, @@ -490,24 +453,31 @@ async def begin_update( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. :type extension_name: str :param patch_extension: Properties to Patch in an existing Extension. - :type patch_extension: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.PatchExtension + :type patch_extension: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.PatchExtension :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either Extension or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension] - :raises ~azure.core.exceptions.HttpResponseError: + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] lro_delay = kwargs.pop( 'polling_interval', @@ -522,30 +492,21 @@ async def begin_update( cluster_name=cluster_name, extension_name=extension_name, patch_extension=patch_extension, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('Extension', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -557,8 +518,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + @distributed_trace def list( self, resource_group_name: str, @@ -576,12 +539,14 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionsList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionsList] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionsList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] @@ -589,38 +554,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionsList', pipeline_response) + deserialized = self._deserialize("ExtensionsList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -633,12 +597,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_config_operation_status_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_config_operation_status_operations.py index bc1c6c9bc76..278055cbaf8 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_config_operation_status_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_config_operation_status_operations.py @@ -5,16 +5,20 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._flux_config_operation_status_operations import build_get_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -40,6 +44,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, @@ -59,7 +64,8 @@ async def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param flux_configuration_name: Name of the Flux Configuration. @@ -76,37 +82,27 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - 'operationId': self._serialize.url("operation_id", operation_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('OperationStatusResult', pipeline_response) @@ -115,4 +111,6 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_configurations_operations.py index 73134513fb3..75827d96b95 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_configurations_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_configurations_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._flux_configurations_operations import build_create_or_update_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -43,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, @@ -61,7 +67,8 @@ async def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param flux_configuration_name: Name of the Flux Configuration. @@ -76,36 +83,26 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('FluxConfiguration', pipeline_response) @@ -114,8 +111,10 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + async def _create_or_update_initial( self, resource_group_name: str, @@ -128,47 +127,34 @@ async def _create_or_update_initial( ) -> "_models.FluxConfiguration": cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] error_map = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: lambda response: ResourceExistsError(response=response, model=self._deserialize(_models.ErrorResponse, response), error_format=ARMErrorFormat), + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_or_update_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration, 'FluxConfiguration') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(flux_configuration, 'FluxConfiguration') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize('FluxConfiguration', pipeline_response) @@ -180,8 +166,11 @@ async def _create_or_update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace_async async def begin_create_or_update( self, resource_group_name: str, @@ -201,24 +190,31 @@ async def begin_create_or_update( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param flux_configuration_name: Name of the Flux Configuration. :type flux_configuration_name: str :param flux_configuration: Properties necessary to Create a FluxConfiguration. - :type flux_configuration: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration + :type flux_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either FluxConfiguration or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration] - :raises ~azure.core.exceptions.HttpResponseError: + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] lro_delay = kwargs.pop( 'polling_interval', @@ -233,30 +229,21 @@ async def begin_create_or_update( cluster_name=cluster_name, flux_configuration_name=flux_configuration_name, flux_configuration=flux_configuration, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('FluxConfiguration', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -268,6 +255,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore async def _update_initial( @@ -282,47 +270,34 @@ async def _update_initial( ) -> "_models.FluxConfiguration": cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] error_map = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: lambda response: ResourceExistsError(response=response, model=self._deserialize(_models.ErrorResponse, response), error_format=ARMErrorFormat), + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + _json = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') - body_content_kwargs['content'] = body_content - request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) deserialized = self._deserialize('FluxConfiguration', pipeline_response) @@ -330,8 +305,11 @@ async def _update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace_async async def begin_update( self, resource_group_name: str, @@ -351,24 +329,31 @@ async def begin_update( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param flux_configuration_name: Name of the Flux Configuration. :type flux_configuration_name: str :param flux_configuration_patch: Properties to Patch in an existing Flux Configuration. - :type flux_configuration_patch: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfigurationPatch + :type flux_configuration_patch: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfigurationPatch :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either FluxConfiguration or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration] - :raises ~azure.core.exceptions.HttpResponseError: + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] lro_delay = kwargs.pop( 'polling_interval', @@ -383,30 +368,21 @@ async def begin_update( cluster_name=cluster_name, flux_configuration_name=flux_configuration_name, flux_configuration_patch=flux_configuration_patch, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('FluxConfiguration', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -418,6 +394,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore async def _delete_initial( @@ -435,45 +412,35 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if force_delete is not None: - query_parameters['forceDelete'] = self._serialize.query("force_delete", force_delete, 'bool') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, @@ -494,7 +461,8 @@ async def begin_delete( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param flux_configuration_name: Name of the Flux Configuration. @@ -504,15 +472,17 @@ async def begin_delete( :type force_delete: bool :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -530,24 +500,14 @@ async def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -559,8 +519,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + @distributed_trace def list( self, resource_group_name: str, @@ -578,12 +540,15 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either FluxConfigurationsList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfigurationsList] + :return: An iterator like instance of either FluxConfigurationsList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfigurationsList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfigurationsList"] @@ -591,38 +556,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('FluxConfigurationsList', pipeline_response) + deserialized = self._deserialize("FluxConfigurationsList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -635,12 +599,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_location_extension_types_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_location_extension_types_operations.py index a77c4936e7b..4dfb3b692cd 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_location_extension_types_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_location_extension_types_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._location_extension_types_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, location: str, @@ -52,7 +58,8 @@ def list( :type location: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionTypeList] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionTypeList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] @@ -60,35 +67,31 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'location': self._serialize.url("location", location, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionTypeList', pipeline_response) + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -101,12 +104,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_operation_status_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_operation_status_operations.py index 4369806defa..ca83ab69e8d 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_operation_status_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_operation_status_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._operation_status_operations import build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, @@ -60,7 +66,8 @@ async def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -77,37 +84,27 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - 'operationId': self._serialize.url("operation_id", operation_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('OperationStatusResult', pipeline_response) @@ -116,8 +113,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + + @distributed_trace def list( self, resource_group_name: str, @@ -135,12 +135,14 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationStatusList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperationStatusList] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperationStatusList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] @@ -148,38 +150,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('OperationStatusList', pipeline_response) + deserialized = self._deserialize("OperationStatusList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -192,12 +193,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_operations.py index a56f63e2787..bff33128e43 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, **kwargs: Any @@ -48,8 +54,10 @@ def list( """List all the available operations the KubernetesConfiguration resource provider supports. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperationList] + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] @@ -57,30 +65,27 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ResourceProviderOperationList', pipeline_response) + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -93,12 +98,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_source_control_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_source_control_configurations_operations.py index faf725104df..9e25d1d3796 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_source_control_configurations_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/aio/operations/_source_control_configurations_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -43,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, @@ -61,14 +67,16 @@ async def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -76,36 +84,26 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) @@ -114,8 +112,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, @@ -135,16 +136,19 @@ async def create_or_update( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. - :type source_control_configuration: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -152,41 +156,31 @@ async def create_or_update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.create_or_update.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -199,8 +193,10 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + async def _delete_initial( self, resource_group_name: str, @@ -215,43 +211,34 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, @@ -271,22 +258,25 @@ async def begin_delete( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -303,24 +293,14 @@ async def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -332,8 +312,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + @distributed_trace def list( self, resource_group_name: str, @@ -351,12 +333,15 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SourceControlConfigurationList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfigurationList] + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfigurationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] @@ -364,38 +349,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('SourceControlConfigurationList', pipeline_response) + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -408,12 +392,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/__init__.py index f69d190854a..b83d70226f0 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/__init__.py @@ -6,90 +6,48 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -try: - from ._models_py3 import ClusterScopeSettings - from ._models_py3 import ComplianceStatus - from ._models_py3 import DependsOnDefinition - from ._models_py3 import ErrorAdditionalInfo - from ._models_py3 import ErrorDetail - from ._models_py3 import ErrorResponse - from ._models_py3 import Extension - from ._models_py3 import ExtensionPropertiesAksAssignedIdentity - from ._models_py3 import ExtensionStatus - from ._models_py3 import ExtensionType - from ._models_py3 import ExtensionTypeList - from ._models_py3 import ExtensionVersionList - from ._models_py3 import ExtensionVersionListVersionsItem - from ._models_py3 import ExtensionsList - from ._models_py3 import FluxConfiguration - from ._models_py3 import FluxConfigurationPatch - from ._models_py3 import FluxConfigurationsList - from ._models_py3 import GitRepositoryDefinition - from ._models_py3 import HelmOperatorProperties - from ._models_py3 import HelmReleasePropertiesDefinition - from ._models_py3 import Identity - from ._models_py3 import KustomizationDefinition - from ._models_py3 import ObjectReferenceDefinition - from ._models_py3 import ObjectStatusConditionDefinition - from ._models_py3 import ObjectStatusDefinition - from ._models_py3 import OperationStatusList - from ._models_py3 import OperationStatusResult - from ._models_py3 import PatchExtension - from ._models_py3 import ProxyResource - from ._models_py3 import RepositoryRefDefinition - from ._models_py3 import Resource - from ._models_py3 import ResourceProviderOperation - from ._models_py3 import ResourceProviderOperationDisplay - from ._models_py3 import ResourceProviderOperationList - from ._models_py3 import Scope - from ._models_py3 import ScopeCluster - from ._models_py3 import ScopeNamespace - from ._models_py3 import SourceControlConfiguration - from ._models_py3 import SourceControlConfigurationList - from ._models_py3 import SupportedScopes - from ._models_py3 import SystemData -except (SyntaxError, ImportError): - from ._models import ClusterScopeSettings # type: ignore - from ._models import ComplianceStatus # type: ignore - from ._models import DependsOnDefinition # type: ignore - from ._models import ErrorAdditionalInfo # type: ignore - from ._models import ErrorDetail # type: ignore - from ._models import ErrorResponse # type: ignore - from ._models import Extension # type: ignore - from ._models import ExtensionPropertiesAksAssignedIdentity # type: ignore - from ._models import ExtensionStatus # type: ignore - from ._models import ExtensionType # type: ignore - from ._models import ExtensionTypeList # type: ignore - from ._models import ExtensionVersionList # type: ignore - from ._models import ExtensionVersionListVersionsItem # type: ignore - from ._models import ExtensionsList # type: ignore - from ._models import FluxConfiguration # type: ignore - from ._models import FluxConfigurationPatch # type: ignore - from ._models import FluxConfigurationsList # type: ignore - from ._models import GitRepositoryDefinition # type: ignore - from ._models import HelmOperatorProperties # type: ignore - from ._models import HelmReleasePropertiesDefinition # type: ignore - from ._models import Identity # type: ignore - from ._models import KustomizationDefinition # type: ignore - from ._models import ObjectReferenceDefinition # type: ignore - from ._models import ObjectStatusConditionDefinition # type: ignore - from ._models import ObjectStatusDefinition # type: ignore - from ._models import OperationStatusList # type: ignore - from ._models import OperationStatusResult # type: ignore - from ._models import PatchExtension # type: ignore - from ._models import ProxyResource # type: ignore - from ._models import RepositoryRefDefinition # type: ignore - from ._models import Resource # type: ignore - from ._models import ResourceProviderOperation # type: ignore - from ._models import ResourceProviderOperationDisplay # type: ignore - from ._models import ResourceProviderOperationList # type: ignore - from ._models import Scope # type: ignore - from ._models import ScopeCluster # type: ignore - from ._models import ScopeNamespace # type: ignore - from ._models import SourceControlConfiguration # type: ignore - from ._models import SourceControlConfigurationList # type: ignore - from ._models import SupportedScopes # type: ignore - from ._models import SystemData # type: ignore +from ._models_py3 import ClusterScopeSettings +from ._models_py3 import ComplianceStatus +from ._models_py3 import DependsOnDefinition +from ._models_py3 import ErrorAdditionalInfo +from ._models_py3 import ErrorDetail +from ._models_py3 import ErrorResponse +from ._models_py3 import Extension +from ._models_py3 import ExtensionPropertiesAksAssignedIdentity +from ._models_py3 import ExtensionStatus +from ._models_py3 import ExtensionType +from ._models_py3 import ExtensionTypeList +from ._models_py3 import ExtensionVersionList +from ._models_py3 import ExtensionVersionListVersionsItem +from ._models_py3 import ExtensionsList +from ._models_py3 import FluxConfiguration +from ._models_py3 import FluxConfigurationPatch +from ._models_py3 import FluxConfigurationsList +from ._models_py3 import GitRepositoryDefinition +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import HelmReleasePropertiesDefinition +from ._models_py3 import Identity +from ._models_py3 import KustomizationDefinition +from ._models_py3 import ObjectReferenceDefinition +from ._models_py3 import ObjectStatusConditionDefinition +from ._models_py3 import ObjectStatusDefinition +from ._models_py3 import OperationStatusList +from ._models_py3 import OperationStatusResult +from ._models_py3 import PatchExtension +from ._models_py3 import ProxyResource +from ._models_py3 import RepositoryRefDefinition +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Scope +from ._models_py3 import ScopeCluster +from ._models_py3 import ScopeNamespace +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SupportedScopes +from ._models_py3 import SystemData + from ._source_control_configuration_client_enums import ( ClusterTypes, diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/_models.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/_models.py deleted file mode 100644 index c47ff7c1cde..00000000000 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/_models.py +++ /dev/null @@ -1,1639 +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 azure.core.exceptions import HttpResponseError -import msrest.serialization - - -class Resource(msrest.serialization.Model): - """Common fields that are returned in the response for all Azure Resource Manager 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. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - - -class ProxyResource(Resource): - """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ProxyResource, self).__init__(**kwargs) - - -class ClusterScopeSettings(ProxyResource): - """Extension scope settings. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :param allow_multiple_instances: Describes if multiple instances of the extension are allowed. - :type allow_multiple_instances: bool - :param default_release_namespace: Default extension release namespace. - :type default_release_namespace: 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'}, - 'allow_multiple_instances': {'key': 'properties.allowMultipleInstances', 'type': 'bool'}, - 'default_release_namespace': {'key': 'properties.defaultReleaseNamespace', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ClusterScopeSettings, self).__init__(**kwargs) - self.allow_multiple_instances = kwargs.get('allow_multiple_instances', None) - self.default_release_namespace = kwargs.get('default_release_namespace', None) - - -class ComplianceStatus(msrest.serialization.Model): - """Compliance Status details. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar compliance_state: The compliance state of the configuration. Possible values include: - "Pending", "Compliant", "Noncompliant", "Installed", "Failed". - :vartype compliance_state: str or - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ComplianceStateType - :param last_config_applied: Datetime the configuration was last applied. - :type last_config_applied: ~datetime.datetime - :param message: Message from when the configuration was applied. - :type message: str - :param message_level: Level of the message. Possible values include: "Error", "Warning", - "Information". - :type message_level: str or - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.MessageLevelType - """ - - _validation = { - 'compliance_state': {'readonly': True}, - } - - _attribute_map = { - 'compliance_state': {'key': 'complianceState', 'type': 'str'}, - 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, - 'message': {'key': 'message', 'type': 'str'}, - 'message_level': {'key': 'messageLevel', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ComplianceStatus, self).__init__(**kwargs) - self.compliance_state = None - self.last_config_applied = kwargs.get('last_config_applied', None) - self.message = kwargs.get('message', None) - self.message_level = kwargs.get('message_level', None) - - -class DependsOnDefinition(msrest.serialization.Model): - """Specify which kustomizations must succeed reconciliation on the cluster prior to reconciling this kustomization. - - :param kustomization_name: Name of the kustomization to claim dependency on. - :type kustomization_name: str - """ - - _attribute_map = { - 'kustomization_name': {'key': 'kustomizationName', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(DependsOnDefinition, self).__init__(**kwargs) - self.kustomization_name = kwargs.get('kustomization_name', None) - - -class ErrorAdditionalInfo(msrest.serialization.Model): - """The resource management error additional info. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar type: The additional info type. - :vartype type: str - :ivar info: The additional info. - :vartype info: any - """ - - _validation = { - 'type': {'readonly': True}, - 'info': {'readonly': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'info': {'key': 'info', 'type': 'object'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorAdditionalInfo, self).__init__(**kwargs) - self.type = None - self.info = None - - -class ErrorDetail(msrest.serialization.Model): - """The error detail. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar code: The error code. - :vartype code: str - :ivar message: The error message. - :vartype message: str - :ivar target: The error target. - :vartype target: str - :ivar details: The error details. - :vartype details: - list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorDetail] - :ivar additional_info: The error additional info. - :vartype additional_info: - list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorAdditionalInfo] - """ - - _validation = { - 'code': {'readonly': True}, - 'message': {'readonly': True}, - 'target': {'readonly': True}, - 'details': {'readonly': True}, - 'additional_info': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ErrorDetail]'}, - 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorDetail, self).__init__(**kwargs) - self.code = None - self.message = None - self.target = None - self.details = None - self.additional_info = None - - -class ErrorResponse(msrest.serialization.Model): - """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). - - :param error: The error object. - :type error: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorDetail - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDetail'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorResponse, self).__init__(**kwargs) - self.error = kwargs.get('error', None) - - -class Extension(ProxyResource): - """The Extension object. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :param identity: Identity of the Extension resource. - :type identity: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Identity - :ivar system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SystemData - :param extension_type: Type of the Extension, of which this resource is an instance of. It - must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the - Extension publisher. - :type extension_type: str - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade - of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific - version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param scope: Scope at which the extension is installed. - :type scope: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Scope - :param configuration_settings: Configuration settings, as name-value pairs for configuring this - extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as - name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] - :ivar provisioning_state: Status of installation of this extension. Possible values include: - "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". - :vartype provisioning_state: str or - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ProvisioningState - :param statuses: Status from this extension. - :type statuses: - list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionStatus] - :ivar error_info: Error information from the Agent - e.g. errors during installation. - :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorDetail - :ivar custom_location_settings: Custom Location settings properties. - :vartype custom_location_settings: dict[str, str] - :ivar package_uri: Uri of the Helm package. - :vartype package_uri: str - :param aks_assigned_identity: Identity of the Extension resource in an AKS cluster. - :type aks_assigned_identity: - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionPropertiesAksAssignedIdentity - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'error_info': {'readonly': True}, - 'custom_location_settings': {'readonly': True}, - 'package_uri': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'Identity'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, - 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, - 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'scope': {'key': 'properties.scope', 'type': 'Scope'}, - 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'statuses': {'key': 'properties.statuses', 'type': '[ExtensionStatus]'}, - 'error_info': {'key': 'properties.errorInfo', 'type': 'ErrorDetail'}, - 'custom_location_settings': {'key': 'properties.customLocationSettings', 'type': '{str}'}, - 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, - 'aks_assigned_identity': {'key': 'properties.aksAssignedIdentity', 'type': 'ExtensionPropertiesAksAssignedIdentity'}, - } - - def __init__( - self, - **kwargs - ): - super(Extension, self).__init__(**kwargs) - self.identity = kwargs.get('identity', None) - self.system_data = None - self.extension_type = kwargs.get('extension_type', None) - self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', True) - self.release_train = kwargs.get('release_train', "Stable") - self.version = kwargs.get('version', None) - self.scope = kwargs.get('scope', None) - self.configuration_settings = kwargs.get('configuration_settings', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - self.provisioning_state = None - self.statuses = kwargs.get('statuses', None) - self.error_info = None - self.custom_location_settings = None - self.package_uri = None - self.aks_assigned_identity = kwargs.get('aks_assigned_identity', None) - - -class ExtensionPropertiesAksAssignedIdentity(msrest.serialization.Model): - """Identity of the Extension resource in an AKS cluster. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar principal_id: The principal ID of resource identity. - :vartype principal_id: str - :ivar tenant_id: The tenant ID of resource. - :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and - "SystemAssigned". The default value is None. - :type type: str - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionPropertiesAksAssignedIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = kwargs.get('type', None) - - -class ExtensionsList(msrest.serialization.Model): - """Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Extensions within a Kubernetes cluster. - :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension] - :ivar next_link: URL to get the next set of extension objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Extension]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionsList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class ExtensionStatus(msrest.serialization.Model): - """Status from the extension. - - :param code: Status code provided by the Extension. - :type code: str - :param display_status: Short description of status of the extension. - :type display_status: str - :param level: Level of the status. Possible values include: "Error", "Warning", "Information". - Default value: "Information". - :type level: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.LevelType - :param message: Detailed message of the status from the Extension. - :type message: str - :param time: DateLiteral (per ISO8601) noting the time of installation status. - :type time: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'display_status': {'key': 'displayStatus', 'type': 'str'}, - 'level': {'key': 'level', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'time': {'key': 'time', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionStatus, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.display_status = kwargs.get('display_status', None) - self.level = kwargs.get('level', "Information") - self.message = kwargs.get('message', None) - self.time = kwargs.get('time', None) - - -class ExtensionType(msrest.serialization.Model): - """Represents an Extension Type. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar system_data: Metadata pertaining to creation and last modification of the resource. - :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SystemData - :ivar release_trains: Extension release train: preview or stable. - :vartype release_trains: list[str] - :ivar cluster_types: Cluster types. Possible values include: "connectedClusters", - "managedClusters". - :vartype cluster_types: str or - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ClusterTypes - :ivar supported_scopes: Extension scopes. - :vartype supported_scopes: - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SupportedScopes - """ - - _validation = { - 'system_data': {'readonly': True}, - 'release_trains': {'readonly': True}, - 'cluster_types': {'readonly': True}, - 'supported_scopes': {'readonly': True}, - } - - _attribute_map = { - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'release_trains': {'key': 'properties.releaseTrains', 'type': '[str]'}, - 'cluster_types': {'key': 'properties.clusterTypes', 'type': 'str'}, - 'supported_scopes': {'key': 'properties.supportedScopes', 'type': 'SupportedScopes'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionType, self).__init__(**kwargs) - self.system_data = None - self.release_trains = None - self.cluster_types = None - self.supported_scopes = None - - -class ExtensionTypeList(msrest.serialization.Model): - """List Extension Types. - - :param value: The list of Extension Types. - :type value: list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionType] - :param next_link: The link to fetch the next page of Extension Types. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExtensionType]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionTypeList, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) - - -class ExtensionVersionList(msrest.serialization.Model): - """List versions for an Extension. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param versions: Versions available for this Extension Type. - :type versions: - list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionVersionListVersionsItem] - :param next_link: The link to fetch the next page of Extension Types. - :type next_link: str - :ivar system_data: Metadata pertaining to creation and last modification of the resource. - :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SystemData - """ - - _validation = { - 'system_data': {'readonly': True}, - } - - _attribute_map = { - 'versions': {'key': 'versions', 'type': '[ExtensionVersionListVersionsItem]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionVersionList, self).__init__(**kwargs) - self.versions = kwargs.get('versions', None) - self.next_link = kwargs.get('next_link', None) - self.system_data = None - - -class ExtensionVersionListVersionsItem(msrest.serialization.Model): - """ExtensionVersionListVersionsItem. - - :param release_train: The release train for this Extension Type. - :type release_train: str - :param versions: Versions available for this Extension Type and release train. - :type versions: list[str] - """ - - _attribute_map = { - 'release_train': {'key': 'releaseTrain', 'type': 'str'}, - 'versions': {'key': 'versions', 'type': '[str]'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionVersionListVersionsItem, self).__init__(**kwargs) - self.release_train = kwargs.get('release_train', None) - self.versions = kwargs.get('versions', None) - - -class FluxConfiguration(ProxyResource): - """The Flux Configuration object returned in Get & Put response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SystemData - :param scope: Scope at which the operator will be installed. Possible values include: - "cluster", "namespace". Default value: "cluster". - :type scope: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeType - :param namespace: The namespace to which this configuration is installed to. Maximum of 253 - lower case alphanumeric characters, hyphen and period only. - :type namespace: str - :param source_kind: Source Kind to pull the configuration data from. Possible values include: - "GitRepository". - :type source_kind: str or - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceKindType - :param suspend: Whether this configuration should suspend its reconciliation of its - kustomizations and sources. - :type suspend: bool - :param git_repository: Parameters to reconcile to the GitRepository source kind type. - :type git_repository: - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.GitRepositoryDefinition - :param kustomizations: Array of kustomizations used to reconcile the artifact pulled by the - source type on the cluster. - :type kustomizations: dict[str, - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationDefinition] - :param configuration_protected_settings: Key-value pairs of protected configuration settings - for the configuration. - :type configuration_protected_settings: dict[str, str] - :ivar statuses: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or - created by the managed objects provisioned by the fluxConfiguration. - :vartype statuses: - list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectStatusDefinition] - :ivar repository_public_key: Public Key associated with this fluxConfiguration (either - generated within the cluster or provided by the user). - :vartype repository_public_key: str - :ivar last_source_synced_commit_id: Branch and SHA of the last source commit synced with the - cluster. - :vartype last_source_synced_commit_id: str - :ivar last_source_synced_at: Datetime the fluxConfiguration last synced its source on the - cluster. - :vartype last_source_synced_at: ~datetime.datetime - :ivar compliance_state: Combined status of the Flux Kubernetes resources created by the - fluxConfiguration or created by the managed objects. Possible values include: "Compliant", - "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". - :vartype compliance_state: str or - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxComplianceState - :ivar provisioning_state: Status of the creation of the fluxConfiguration. Possible values - include: "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". - :vartype provisioning_state: str or - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ProvisioningState - :ivar error_message: Error message returned to the user in the case of provisioning failure. - :vartype error_message: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - 'statuses': {'readonly': True}, - 'repository_public_key': {'readonly': True}, - 'last_source_synced_commit_id': {'readonly': True}, - 'last_source_synced_at': {'readonly': True}, - 'compliance_state': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'error_message': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'scope': {'key': 'properties.scope', 'type': 'str'}, - 'namespace': {'key': 'properties.namespace', 'type': 'str'}, - 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, - 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, - 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryDefinition'}, - 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationDefinition}'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - 'statuses': {'key': 'properties.statuses', 'type': '[ObjectStatusDefinition]'}, - 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, - 'last_source_synced_commit_id': {'key': 'properties.lastSourceSyncedCommitId', 'type': 'str'}, - 'last_source_synced_at': {'key': 'properties.lastSourceSyncedAt', 'type': 'iso-8601'}, - 'compliance_state': {'key': 'properties.complianceState', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(FluxConfiguration, self).__init__(**kwargs) - self.system_data = None - self.scope = kwargs.get('scope', "cluster") - self.namespace = kwargs.get('namespace', "default") - self.source_kind = kwargs.get('source_kind', None) - self.suspend = kwargs.get('suspend', False) - self.git_repository = kwargs.get('git_repository', None) - self.kustomizations = kwargs.get('kustomizations', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - self.statuses = None - self.repository_public_key = None - self.last_source_synced_commit_id = None - self.last_source_synced_at = None - self.compliance_state = None - self.provisioning_state = None - self.error_message = None - - -class FluxConfigurationPatch(msrest.serialization.Model): - """The Flux Configuration Patch Request object. - - :param source_kind: Source Kind to pull the configuration data from. Possible values include: - "GitRepository". - :type source_kind: str or - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceKindType - :param suspend: Whether this configuration should suspend its reconciliation of its - kustomizations and sources. - :type suspend: bool - :param git_repository: Parameters to reconcile to the GitRepository source kind type. - :type git_repository: - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.GitRepositoryDefinition - :param kustomizations: Array of kustomizations used to reconcile the artifact pulled by the - source type on the cluster. - :type kustomizations: dict[str, - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationDefinition] - :param configuration_protected_settings: Key-value pairs of protected configuration settings - for the configuration. - :type configuration_protected_settings: dict[str, str] - """ - - _attribute_map = { - 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, - 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, - 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryDefinition'}, - 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationDefinition}'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - } - - def __init__( - self, - **kwargs - ): - super(FluxConfigurationPatch, self).__init__(**kwargs) - self.source_kind = kwargs.get('source_kind', None) - self.suspend = kwargs.get('suspend', False) - self.git_repository = kwargs.get('git_repository', None) - self.kustomizations = kwargs.get('kustomizations', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - - -class FluxConfigurationsList(msrest.serialization.Model): - """Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Flux Configurations within a Kubernetes cluster. - :vartype value: - list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration] - :ivar next_link: URL to get the next set of configuration objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[FluxConfiguration]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(FluxConfigurationsList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class GitRepositoryDefinition(msrest.serialization.Model): - """Parameters to reconcile to the GitRepository source kind type. - - :param url: The URL to sync for the flux configuration git repository. - :type url: str - :param timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository - source with the remote. - :type timeout_in_seconds: long - :param sync_interval_in_seconds: The interval at which to re-reconcile the cluster git - repository source with the remote. - :type sync_interval_in_seconds: long - :param repository_ref: The source reference for the GitRepository object. - :type repository_ref: - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.RepositoryRefDefinition - :param ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to - access private git repositories over SSH. - :type ssh_known_hosts: str - :param https_user: Base64-encoded HTTPS username used to access private git repositories over - HTTPS. - :type https_user: str - :param https_ca_file: Base64-encoded HTTPS certificate authority contents used to access git - private git repositories over HTTPS. - :type https_ca_file: str - :param local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the - authentication secret rather than the managed or user-provided configuration secrets. - :type local_auth_ref: str - """ - - _attribute_map = { - 'url': {'key': 'url', 'type': 'str'}, - 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, - 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, - 'repository_ref': {'key': 'repositoryRef', 'type': 'RepositoryRefDefinition'}, - 'ssh_known_hosts': {'key': 'sshKnownHosts', 'type': 'str'}, - 'https_user': {'key': 'httpsUser', 'type': 'str'}, - 'https_ca_file': {'key': 'httpsCAFile', 'type': 'str'}, - 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(GitRepositoryDefinition, self).__init__(**kwargs) - self.url = kwargs.get('url', None) - self.timeout_in_seconds = kwargs.get('timeout_in_seconds', 600) - self.sync_interval_in_seconds = kwargs.get('sync_interval_in_seconds', 600) - self.repository_ref = kwargs.get('repository_ref', None) - self.ssh_known_hosts = kwargs.get('ssh_known_hosts', None) - self.https_user = kwargs.get('https_user', None) - self.https_ca_file = kwargs.get('https_ca_file', None) - self.local_auth_ref = kwargs.get('local_auth_ref', None) - - -class HelmOperatorProperties(msrest.serialization.Model): - """Properties for Helm operator. - - :param chart_version: Version of the operator Helm chart. - :type chart_version: str - :param chart_values: Values override for the operator Helm chart. - :type chart_values: str - """ - - _attribute_map = { - 'chart_version': {'key': 'chartVersion', 'type': 'str'}, - 'chart_values': {'key': 'chartValues', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(HelmOperatorProperties, self).__init__(**kwargs) - self.chart_version = kwargs.get('chart_version', None) - self.chart_values = kwargs.get('chart_values', None) - - -class HelmReleasePropertiesDefinition(msrest.serialization.Model): - """HelmReleasePropertiesDefinition. - - :param last_revision_applied: The revision number of the last released object change. - :type last_revision_applied: long - :param helm_chart_ref: The reference to the HelmChart object used as the source to this - HelmRelease. - :type helm_chart_ref: - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectReferenceDefinition - :param failure_count: Total number of times that the HelmRelease failed to install or upgrade. - :type failure_count: long - :param install_failure_count: Number of times that the HelmRelease failed to install. - :type install_failure_count: long - :param upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. - :type upgrade_failure_count: long - """ - - _attribute_map = { - 'last_revision_applied': {'key': 'lastRevisionApplied', 'type': 'long'}, - 'helm_chart_ref': {'key': 'helmChartRef', 'type': 'ObjectReferenceDefinition'}, - 'failure_count': {'key': 'failureCount', 'type': 'long'}, - 'install_failure_count': {'key': 'installFailureCount', 'type': 'long'}, - 'upgrade_failure_count': {'key': 'upgradeFailureCount', 'type': 'long'}, - } - - def __init__( - self, - **kwargs - ): - super(HelmReleasePropertiesDefinition, self).__init__(**kwargs) - self.last_revision_applied = kwargs.get('last_revision_applied', None) - self.helm_chart_ref = kwargs.get('helm_chart_ref', None) - self.failure_count = kwargs.get('failure_count', None) - self.install_failure_count = kwargs.get('install_failure_count', None) - self.upgrade_failure_count = kwargs.get('upgrade_failure_count', None) - - -class Identity(msrest.serialization.Model): - """Identity for the resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar principal_id: The principal ID of resource identity. - :vartype principal_id: str - :ivar tenant_id: The tenant ID of resource. - :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and - "SystemAssigned". The default value is None. - :type type: str - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Identity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = kwargs.get('type', None) - - -class KustomizationDefinition(msrest.serialization.Model): - """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. - - :param path: The path in the source reference to reconcile on the cluster. - :type path: str - :param depends_on: Specifies other Kustomizations that this Kustomization depends on. This - Kustomization will not reconcile until all dependencies have completed their reconciliation. - :type depends_on: - list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.DependsOnDefinition] - :param timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the - cluster. - :type timeout_in_seconds: long - :param sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the - cluster. - :type sync_interval_in_seconds: long - :param retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on - the cluster in the event of failure on reconciliation. - :type retry_interval_in_seconds: long - :param prune: Enable/disable garbage collections of Kubernetes objects created by this - Kustomization. - :type prune: bool - :param validation: Specify whether to validate the Kubernetes objects referenced in the - Kustomization before applying them to the cluster. Possible values include: "none", "client", - "server". Default value: "none". - :type validation: str or - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationValidationType - :param force: Enable/disable re-creating Kubernetes resources on the cluster when patching - fails due to an immutable field change. - :type force: bool - """ - - _attribute_map = { - 'path': {'key': 'path', 'type': 'str'}, - 'depends_on': {'key': 'dependsOn', 'type': '[DependsOnDefinition]'}, - 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, - 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, - 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, - 'prune': {'key': 'prune', 'type': 'bool'}, - 'validation': {'key': 'validation', 'type': 'str'}, - 'force': {'key': 'force', 'type': 'bool'}, - } - - def __init__( - self, - **kwargs - ): - super(KustomizationDefinition, self).__init__(**kwargs) - self.path = kwargs.get('path', "") - self.depends_on = kwargs.get('depends_on', None) - self.timeout_in_seconds = kwargs.get('timeout_in_seconds', 600) - self.sync_interval_in_seconds = kwargs.get('sync_interval_in_seconds', 600) - self.retry_interval_in_seconds = kwargs.get('retry_interval_in_seconds', None) - self.prune = kwargs.get('prune', False) - self.validation = kwargs.get('validation', "none") - self.force = kwargs.get('force', False) - - -class ObjectReferenceDefinition(msrest.serialization.Model): - """Object reference to a Kubernetes object on a cluster. - - :param name: Name of the object. - :type name: str - :param namespace: Namespace of the object. - :type namespace: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'namespace': {'key': 'namespace', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ObjectReferenceDefinition, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.namespace = kwargs.get('namespace', None) - - -class ObjectStatusConditionDefinition(msrest.serialization.Model): - """Status condition of Kubernetes object. - - :param last_transition_time: Last time this status condition has changed. - :type last_transition_time: ~datetime.datetime - :param message: A more verbose description of the object status condition. - :type message: str - :param reason: Reason for the specified status condition type status. - :type reason: str - :param status: Status of the Kubernetes object condition type. - :type status: str - :param type: Object status condition type for this object. - :type type: str - """ - - _attribute_map = { - 'last_transition_time': {'key': 'lastTransitionTime', 'type': 'iso-8601'}, - 'message': {'key': 'message', 'type': 'str'}, - 'reason': {'key': 'reason', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ObjectStatusConditionDefinition, self).__init__(**kwargs) - self.last_transition_time = kwargs.get('last_transition_time', None) - self.message = kwargs.get('message', None) - self.reason = kwargs.get('reason', None) - self.status = kwargs.get('status', None) - self.type = kwargs.get('type', None) - - -class ObjectStatusDefinition(msrest.serialization.Model): - """Statuses of objects deployed by the user-specified kustomizations from the git repository. - - :param name: Name of the applied object. - :type name: str - :param namespace: Namespace of the applied object. - :type namespace: str - :param kind: Kind of the applied object. - :type kind: str - :param compliance_state: Compliance state of the applied object showing whether the applied - object has come into a ready state on the cluster. Possible values include: "Compliant", - "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". - :type compliance_state: str or - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxComplianceState - :param applied_by: Object reference to the Kustomization that applied this object. - :type applied_by: - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectReferenceDefinition - :param status_conditions: List of Kubernetes object status conditions present on the cluster. - :type status_conditions: - list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectStatusConditionDefinition] - :param helm_release_properties: Additional properties that are provided from objects of the - HelmRelease kind. - :type helm_release_properties: - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.HelmReleasePropertiesDefinition - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'namespace': {'key': 'namespace', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'compliance_state': {'key': 'complianceState', 'type': 'str'}, - 'applied_by': {'key': 'appliedBy', 'type': 'ObjectReferenceDefinition'}, - 'status_conditions': {'key': 'statusConditions', 'type': '[ObjectStatusConditionDefinition]'}, - 'helm_release_properties': {'key': 'helmReleaseProperties', 'type': 'HelmReleasePropertiesDefinition'}, - } - - def __init__( - self, - **kwargs - ): - super(ObjectStatusDefinition, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.namespace = kwargs.get('namespace', None) - self.kind = kwargs.get('kind', None) - self.compliance_state = kwargs.get('compliance_state', "Unknown") - self.applied_by = kwargs.get('applied_by', None) - self.status_conditions = kwargs.get('status_conditions', None) - self.helm_release_properties = kwargs.get('helm_release_properties', None) - - -class OperationStatusList(msrest.serialization.Model): - """The async operations in progress, in the cluster. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of async operations in progress, in the cluster. - :vartype value: - list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperationStatusResult] - :ivar next_link: URL to get the next set of Operation Result objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[OperationStatusResult]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationStatusList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class OperationStatusResult(msrest.serialization.Model): - """The current status of an async operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Fully qualified ID for the async operation. - :type id: str - :param name: Name of the async operation. - :type name: str - :param status: Required. Operation status. - :type status: str - :param properties: Additional information, if available. - :type properties: dict[str, str] - :ivar error: If present, details of the operation error. - :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorDetail - """ - - _validation = { - 'status': {'required': True}, - 'error': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': '{str}'}, - 'error': {'key': 'error', 'type': 'ErrorDetail'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationStatusResult, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = kwargs.get('name', None) - self.status = kwargs['status'] - self.properties = kwargs.get('properties', None) - self.error = None - - -class PatchExtension(msrest.serialization.Model): - """The Extension Patch Request object. - - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade - of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific - version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param configuration_settings: Configuration settings, as name-value pairs for configuring this - extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as - name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] - """ - - _attribute_map = { - 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, - 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - } - - def __init__( - self, - **kwargs - ): - super(PatchExtension, self).__init__(**kwargs) - self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', True) - self.release_train = kwargs.get('release_train', "Stable") - self.version = kwargs.get('version', None) - self.configuration_settings = kwargs.get('configuration_settings', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - - -class RepositoryRefDefinition(msrest.serialization.Model): - """The source reference for the GitRepository object. - - :param branch: The git repository branch name to checkout. - :type branch: str - :param tag: The git repository tag name to checkout. This takes precedence over branch. - :type tag: str - :param semver: The semver range used to match against git repository tags. This takes - precedence over tag. - :type semver: str - :param commit: The commit SHA to checkout. This value must be combined with the branch name to - be valid. This takes precedence over semver. - :type commit: str - """ - - _attribute_map = { - 'branch': {'key': 'branch', 'type': 'str'}, - 'tag': {'key': 'tag', 'type': 'str'}, - 'semver': {'key': 'semver', 'type': 'str'}, - 'commit': {'key': 'commit', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(RepositoryRefDefinition, self).__init__(**kwargs) - self.branch = kwargs.get('branch', None) - self.tag = kwargs.get('tag', None) - self.semver = kwargs.get('semver', None) - self.commit = kwargs.get('commit', None) - - -class ResourceProviderOperation(msrest.serialization.Model): - """Supported operation of this resource provider. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param name: Operation name, in format of {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperationDisplay - :ivar is_data_action: The flag that indicates whether the operation applies to data plane. - :vartype is_data_action: bool - :ivar origin: Origin of the operation. - :vartype origin: str - """ - - _validation = { - 'is_data_action': {'readonly': True}, - 'origin': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, - 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, - 'origin': {'key': 'origin', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceProviderOperation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display = kwargs.get('display', None) - self.is_data_action = None - self.origin = None - - -class ResourceProviderOperationDisplay(msrest.serialization.Model): - """Display metadata associated with the operation. - - :param provider: Resource provider: Microsoft KubernetesConfiguration. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :param description: Description of this 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) - - -class ResourceProviderOperationList(msrest.serialization.Model): - """Result of the request to list operations. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: List of operations supported by this resource provider. - :type value: - list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperation] - :ivar next_link: URL to the next set of results, if any. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceProviderOperationList, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class Scope(msrest.serialization.Model): - """Scope of the extension. It can be either Cluster or Namespace; but not both. - - :param cluster: Specifies that the scope of the extension is Cluster. - :type cluster: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeCluster - :param namespace: Specifies that the scope of the extension is Namespace. - :type namespace: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeNamespace - """ - - _attribute_map = { - 'cluster': {'key': 'cluster', 'type': 'ScopeCluster'}, - 'namespace': {'key': 'namespace', 'type': 'ScopeNamespace'}, - } - - def __init__( - self, - **kwargs - ): - super(Scope, self).__init__(**kwargs) - self.cluster = kwargs.get('cluster', None) - self.namespace = kwargs.get('namespace', None) - - -class ScopeCluster(msrest.serialization.Model): - """Specifies that the scope of the extension is Cluster. - - :param release_namespace: Namespace where the extension Release must be placed, for a Cluster - scoped extension. If this namespace does not exist, it will be created. - :type release_namespace: str - """ - - _attribute_map = { - 'release_namespace': {'key': 'releaseNamespace', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ScopeCluster, self).__init__(**kwargs) - self.release_namespace = kwargs.get('release_namespace', None) - - -class ScopeNamespace(msrest.serialization.Model): - """Specifies that the scope of the extension is Namespace. - - :param target_namespace: Namespace where the extension will be created for an Namespace scoped - extension. If this namespace does not exist, it will be created. - :type target_namespace: str - """ - - _attribute_map = { - 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ScopeNamespace, self).__init__(**kwargs) - self.target_namespace = kwargs.get('target_namespace', None) - - -class SourceControlConfiguration(ProxyResource): - """The SourceControl Configuration object returned in Get & Put response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SystemData - :param repository_url: Url of the SourceControl Repository. - :type repository_url: str - :param operator_namespace: The namespace to which this operator is installed to. Maximum of 253 - lower case alphanumeric characters, hyphen and period only. - :type operator_namespace: str - :param operator_instance_name: Instance name of the operator - identifying the specific - configuration. - :type operator_instance_name: str - :param operator_type: Type of the operator. Possible values include: "Flux". - :type operator_type: str or - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperatorType - :param operator_params: Any Parameters for the Operator instance in string format. - :type operator_params: str - :param configuration_protected_settings: Name-value pairs of protected configuration settings - for the configuration. - :type configuration_protected_settings: dict[str, str] - :param operator_scope: Scope at which the operator will be installed. Possible values include: - "cluster", "namespace". Default value: "cluster". - :type operator_scope: str or - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperatorScopeType - :ivar repository_public_key: Public Key associated with this SourceControl configuration - (either generated within the cluster or provided by the user). - :vartype repository_public_key: str - :param ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys - required to access private Git instances. - :type ssh_known_hosts_contents: str - :param enable_helm_operator: Option to enable Helm Operator for this git configuration. - :type enable_helm_operator: bool - :param helm_operator_properties: Properties for Helm operator. - :type helm_operator_properties: - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.HelmOperatorProperties - :ivar provisioning_state: The provisioning state of the resource provider. Possible values - include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ProvisioningStateType - :ivar compliance_status: Compliance Status of the Configuration. - :vartype compliance_status: - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ComplianceStatus - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - 'repository_public_key': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'compliance_status': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, - 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, - 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, - 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, - 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, - 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, - 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, - 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, - 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, - } - - def __init__( - self, - **kwargs - ): - super(SourceControlConfiguration, self).__init__(**kwargs) - self.system_data = None - self.repository_url = kwargs.get('repository_url', None) - self.operator_namespace = kwargs.get('operator_namespace', "default") - self.operator_instance_name = kwargs.get('operator_instance_name', None) - self.operator_type = kwargs.get('operator_type', None) - self.operator_params = kwargs.get('operator_params', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - self.operator_scope = kwargs.get('operator_scope', "cluster") - self.repository_public_key = None - self.ssh_known_hosts_contents = kwargs.get('ssh_known_hosts_contents', None) - self.enable_helm_operator = kwargs.get('enable_helm_operator', None) - self.helm_operator_properties = kwargs.get('helm_operator_properties', None) - self.provisioning_state = None - self.compliance_status = None - - -class SourceControlConfigurationList(msrest.serialization.Model): - """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Source Control Configurations within a Kubernetes cluster. - :vartype value: - list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration] - :ivar next_link: URL to get the next set of configuration objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SourceControlConfigurationList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class SupportedScopes(msrest.serialization.Model): - """Extension scopes. - - :param default_scope: Default extension scopes: cluster or namespace. - :type default_scope: str - :param cluster_scope_settings: Scope settings. - :type cluster_scope_settings: - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ClusterScopeSettings - """ - - _attribute_map = { - 'default_scope': {'key': 'defaultScope', 'type': 'str'}, - 'cluster_scope_settings': {'key': 'clusterScopeSettings', 'type': 'ClusterScopeSettings'}, - } - - def __init__( - self, - **kwargs - ): - super(SupportedScopes, self).__init__(**kwargs) - self.default_scope = kwargs.get('default_scope', None) - self.cluster_scope_settings = kwargs.get('cluster_scope_settings', None) - - -class SystemData(msrest.serialization.Model): - """Metadata pertaining to creation and last modification of the resource. - - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. Possible values - include: "User", "Application", "ManagedIdentity", "Key". - :type created_by_type: str or - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: ~datetime.datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the resource. Possible - values include: "User", "Application", "ManagedIdentity", "Key". - :type last_modified_by_type: str or - ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime - """ - - _attribute_map = { - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'createdByType', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__( - self, - **kwargs - ): - super(SystemData, self).__init__(**kwargs) - self.created_by = kwargs.get('created_by', None) - self.created_by_type = kwargs.get('created_by_type', None) - self.created_at = kwargs.get('created_at', None) - self.last_modified_by = kwargs.get('last_modified_by', None) - self.last_modified_by_type = kwargs.get('last_modified_by_type', None) - self.last_modified_at = kwargs.get('last_modified_at', None) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/_models_py3.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/_models_py3.py index fa18f2b46c9..b7d98fd1b6d 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/_models_py3.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/_models_py3.py @@ -46,6 +46,8 @@ def __init__( self, **kwargs ): + """ + """ super(Resource, self).__init__(**kwargs) self.id = None self.name = None @@ -83,6 +85,8 @@ def __init__( self, **kwargs ): + """ + """ super(ProxyResource, self).__init__(**kwargs) @@ -99,10 +103,10 @@ class ClusterScopeSettings(ProxyResource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :param allow_multiple_instances: Describes if multiple instances of the extension are allowed. - :type allow_multiple_instances: bool - :param default_release_namespace: Default extension release namespace. - :type default_release_namespace: str + :ivar allow_multiple_instances: Describes if multiple instances of the extension are allowed. + :vartype allow_multiple_instances: bool + :ivar default_release_namespace: Default extension release namespace. + :vartype default_release_namespace: str """ _validation = { @@ -126,6 +130,13 @@ def __init__( default_release_namespace: Optional[str] = None, **kwargs ): + """ + :keyword allow_multiple_instances: Describes if multiple instances of the extension are + allowed. + :paramtype allow_multiple_instances: bool + :keyword default_release_namespace: Default extension release namespace. + :paramtype default_release_namespace: str + """ super(ClusterScopeSettings, self).__init__(**kwargs) self.allow_multiple_instances = allow_multiple_instances self.default_release_namespace = default_release_namespace @@ -140,13 +151,13 @@ class ComplianceStatus(msrest.serialization.Model): "Pending", "Compliant", "Noncompliant", "Installed", "Failed". :vartype compliance_state: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ComplianceStateType - :param last_config_applied: Datetime the configuration was last applied. - :type last_config_applied: ~datetime.datetime - :param message: Message from when the configuration was applied. - :type message: str - :param message_level: Level of the message. Possible values include: "Error", "Warning", + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", "Information". - :type message_level: str or + :vartype message_level: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.MessageLevelType """ @@ -169,6 +180,16 @@ def __init__( message_level: Optional[Union[str, "MessageLevelType"]] = None, **kwargs ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.MessageLevelType + """ super(ComplianceStatus, self).__init__(**kwargs) self.compliance_state = None self.last_config_applied = last_config_applied @@ -179,8 +200,8 @@ def __init__( class DependsOnDefinition(msrest.serialization.Model): """Specify which kustomizations must succeed reconciliation on the cluster prior to reconciling this kustomization. - :param kustomization_name: Name of the kustomization to claim dependency on. - :type kustomization_name: str + :ivar kustomization_name: Name of the kustomization to claim dependency on. + :vartype kustomization_name: str """ _attribute_map = { @@ -193,6 +214,10 @@ def __init__( kustomization_name: Optional[str] = None, **kwargs ): + """ + :keyword kustomization_name: Name of the kustomization to claim dependency on. + :paramtype kustomization_name: str + """ super(DependsOnDefinition, self).__init__(**kwargs) self.kustomization_name = kustomization_name @@ -222,6 +247,8 @@ def __init__( self, **kwargs ): + """ + """ super(ErrorAdditionalInfo, self).__init__(**kwargs) self.type = None self.info = None @@ -266,6 +293,8 @@ def __init__( self, **kwargs ): + """ + """ super(ErrorDetail, self).__init__(**kwargs) self.code = None self.message = None @@ -277,8 +306,8 @@ def __init__( class ErrorResponse(msrest.serialization.Model): """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). - :param error: The error object. - :type error: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorDetail + :ivar error: The error object. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorDetail """ _attribute_map = { @@ -291,6 +320,10 @@ def __init__( error: Optional["ErrorDetail"] = None, **kwargs ): + """ + :keyword error: The error object. + :paramtype error: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorDetail + """ super(ErrorResponse, self).__init__(**kwargs) self.error = error @@ -308,38 +341,38 @@ class Extension(ProxyResource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :param identity: Identity of the Extension resource. - :type identity: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Identity + :ivar identity: Identity of the Extension resource. + :vartype identity: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Identity :ivar system_data: Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SystemData - :param extension_type: Type of the Extension, of which this resource is an instance of. It - must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + :ivar extension_type: Type of the Extension, of which this resource is an instance of. It must + be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher. - :type extension_type: str - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + :vartype extension_type: str + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param scope: Scope at which the extension is installed. - :type scope: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Scope - :param configuration_settings: Configuration settings, as name-value pairs for configuring this + :vartype version: str + :ivar scope: Scope at which the extension is installed. + :vartype scope: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Scope + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] + :vartype configuration_protected_settings: dict[str, str] :ivar provisioning_state: Status of installation of this extension. Possible values include: "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". :vartype provisioning_state: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ProvisioningState - :param statuses: Status from this extension. - :type statuses: + :ivar statuses: Status from this extension. + :vartype statuses: list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionStatus] :ivar error_info: Error information from the Agent - e.g. errors during installation. :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorDetail @@ -347,8 +380,8 @@ class Extension(ProxyResource): :vartype custom_location_settings: dict[str, str] :ivar package_uri: Uri of the Helm package. :vartype package_uri: str - :param aks_assigned_identity: Identity of the Extension resource in an AKS cluster. - :type aks_assigned_identity: + :ivar aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :vartype aks_assigned_identity: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionPropertiesAksAssignedIdentity """ @@ -399,6 +432,37 @@ def __init__( aks_assigned_identity: Optional["ExtensionPropertiesAksAssignedIdentity"] = None, **kwargs ): + """ + :keyword identity: Identity of the Extension resource. + :paramtype identity: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Identity + :keyword extension_type: Type of the Extension, of which this resource is an instance of. It + must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :paramtype extension_type: str + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword scope: Scope at which the extension is installed. + :paramtype scope: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Scope + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + :keyword statuses: Status from this extension. + :paramtype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionStatus] + :keyword aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :paramtype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionPropertiesAksAssignedIdentity + """ super(Extension, self).__init__(**kwargs) self.identity = identity self.system_data = None @@ -426,9 +490,9 @@ class ExtensionPropertiesAksAssignedIdentity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant ID of resource. :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and + :ivar type: The identity type. The only acceptable values to pass in are None and "SystemAssigned". The default value is None. - :type type: str + :vartype type: str """ _validation = { @@ -448,6 +512,11 @@ def __init__( type: Optional[str] = None, **kwargs ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ super(ExtensionPropertiesAksAssignedIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None @@ -479,6 +548,8 @@ def __init__( self, **kwargs ): + """ + """ super(ExtensionsList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -487,17 +558,17 @@ def __init__( class ExtensionStatus(msrest.serialization.Model): """Status from the extension. - :param code: Status code provided by the Extension. - :type code: str - :param display_status: Short description of status of the extension. - :type display_status: str - :param level: Level of the status. Possible values include: "Error", "Warning", "Information". + :ivar code: Status code provided by the Extension. + :vartype code: str + :ivar display_status: Short description of status of the extension. + :vartype display_status: str + :ivar level: Level of the status. Possible values include: "Error", "Warning", "Information". Default value: "Information". - :type level: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.LevelType - :param message: Detailed message of the status from the Extension. - :type message: str - :param time: DateLiteral (per ISO8601) noting the time of installation status. - :type time: str + :vartype level: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.LevelType + :ivar message: Detailed message of the status from the Extension. + :vartype message: str + :ivar time: DateLiteral (per ISO8601) noting the time of installation status. + :vartype time: str """ _attribute_map = { @@ -518,6 +589,20 @@ def __init__( time: Optional[str] = None, **kwargs ): + """ + :keyword code: Status code provided by the Extension. + :paramtype code: str + :keyword display_status: Short description of status of the extension. + :paramtype display_status: str + :keyword level: Level of the status. Possible values include: "Error", "Warning", + "Information". Default value: "Information". + :paramtype level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.LevelType + :keyword message: Detailed message of the status from the Extension. + :paramtype message: str + :keyword time: DateLiteral (per ISO8601) noting the time of installation status. + :paramtype time: str + """ super(ExtensionStatus, self).__init__(**kwargs) self.code = code self.display_status = display_status @@ -562,6 +647,8 @@ def __init__( self, **kwargs ): + """ + """ super(ExtensionType, self).__init__(**kwargs) self.system_data = None self.release_trains = None @@ -572,10 +659,11 @@ def __init__( class ExtensionTypeList(msrest.serialization.Model): """List Extension Types. - :param value: The list of Extension Types. - :type value: list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionType] - :param next_link: The link to fetch the next page of Extension Types. - :type next_link: str + :ivar value: The list of Extension Types. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionType] + :ivar next_link: The link to fetch the next page of Extension Types. + :vartype next_link: str """ _attribute_map = { @@ -590,6 +678,13 @@ def __init__( next_link: Optional[str] = None, **kwargs ): + """ + :keyword value: The list of Extension Types. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionType] + :keyword next_link: The link to fetch the next page of Extension Types. + :paramtype next_link: str + """ super(ExtensionTypeList, self).__init__(**kwargs) self.value = value self.next_link = next_link @@ -600,11 +695,11 @@ class ExtensionVersionList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param versions: Versions available for this Extension Type. - :type versions: + :ivar versions: Versions available for this Extension Type. + :vartype versions: list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionVersionListVersionsItem] - :param next_link: The link to fetch the next page of Extension Types. - :type next_link: str + :ivar next_link: The link to fetch the next page of Extension Types. + :vartype next_link: str :ivar system_data: Metadata pertaining to creation and last modification of the resource. :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SystemData """ @@ -626,6 +721,13 @@ def __init__( next_link: Optional[str] = None, **kwargs ): + """ + :keyword versions: Versions available for this Extension Type. + :paramtype versions: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionVersionListVersionsItem] + :keyword next_link: The link to fetch the next page of Extension Types. + :paramtype next_link: str + """ super(ExtensionVersionList, self).__init__(**kwargs) self.versions = versions self.next_link = next_link @@ -635,10 +737,10 @@ def __init__( class ExtensionVersionListVersionsItem(msrest.serialization.Model): """ExtensionVersionListVersionsItem. - :param release_train: The release train for this Extension Type. - :type release_train: str - :param versions: Versions available for this Extension Type and release train. - :type versions: list[str] + :ivar release_train: The release train for this Extension Type. + :vartype release_train: str + :ivar versions: Versions available for this Extension Type and release train. + :vartype versions: list[str] """ _attribute_map = { @@ -653,6 +755,12 @@ def __init__( versions: Optional[List[str]] = None, **kwargs ): + """ + :keyword release_train: The release train for this Extension Type. + :paramtype release_train: str + :keyword versions: Versions available for this Extension Type and release train. + :paramtype versions: list[str] + """ super(ExtensionVersionListVersionsItem, self).__init__(**kwargs) self.release_train = release_train self.versions = versions @@ -674,29 +782,29 @@ class FluxConfiguration(ProxyResource): :ivar system_data: Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SystemData - :param scope: Scope at which the operator will be installed. Possible values include: - "cluster", "namespace". Default value: "cluster". - :type scope: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeType - :param namespace: The namespace to which this configuration is installed to. Maximum of 253 + :ivar scope: Scope at which the operator will be installed. Possible values include: "cluster", + "namespace". Default value: "cluster". + :vartype scope: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeType + :ivar namespace: The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only. - :type namespace: str - :param source_kind: Source Kind to pull the configuration data from. Possible values include: + :vartype namespace: str + :ivar source_kind: Source Kind to pull the configuration data from. Possible values include: "GitRepository". - :type source_kind: str or + :vartype source_kind: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceKindType - :param suspend: Whether this configuration should suspend its reconciliation of its + :ivar suspend: Whether this configuration should suspend its reconciliation of its kustomizations and sources. - :type suspend: bool - :param git_repository: Parameters to reconcile to the GitRepository source kind type. - :type git_repository: + :vartype suspend: bool + :ivar git_repository: Parameters to reconcile to the GitRepository source kind type. + :vartype git_repository: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.GitRepositoryDefinition - :param kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + :ivar kustomizations: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster. - :type kustomizations: dict[str, + :vartype kustomizations: dict[str, ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationDefinition] - :param configuration_protected_settings: Key-value pairs of protected configuration settings - for the configuration. - :type configuration_protected_settings: dict[str, str] + :ivar configuration_protected_settings: Key-value pairs of protected configuration settings for + the configuration. + :vartype configuration_protected_settings: dict[str, str] :ivar statuses: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects provisioned by the fluxConfiguration. :vartype statuses: @@ -770,6 +878,32 @@ def __init__( configuration_protected_settings: Optional[Dict[str, str]] = None, **kwargs ): + """ + :keyword scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :paramtype scope: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeType + :keyword namespace: The namespace to which this configuration is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :paramtype namespace: str + :keyword source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository". + :paramtype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceKindType + :keyword suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :paramtype suspend: bool + :keyword git_repository: Parameters to reconcile to the GitRepository source kind type. + :paramtype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.GitRepositoryDefinition + :keyword kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :paramtype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationDefinition] + :keyword configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + """ super(FluxConfiguration, self).__init__(**kwargs) self.system_data = None self.scope = scope @@ -791,23 +925,23 @@ def __init__( class FluxConfigurationPatch(msrest.serialization.Model): """The Flux Configuration Patch Request object. - :param source_kind: Source Kind to pull the configuration data from. Possible values include: + :ivar source_kind: Source Kind to pull the configuration data from. Possible values include: "GitRepository". - :type source_kind: str or + :vartype source_kind: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceKindType - :param suspend: Whether this configuration should suspend its reconciliation of its + :ivar suspend: Whether this configuration should suspend its reconciliation of its kustomizations and sources. - :type suspend: bool - :param git_repository: Parameters to reconcile to the GitRepository source kind type. - :type git_repository: + :vartype suspend: bool + :ivar git_repository: Parameters to reconcile to the GitRepository source kind type. + :vartype git_repository: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.GitRepositoryDefinition - :param kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + :ivar kustomizations: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster. - :type kustomizations: dict[str, + :vartype kustomizations: dict[str, ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationDefinition] - :param configuration_protected_settings: Key-value pairs of protected configuration settings - for the configuration. - :type configuration_protected_settings: dict[str, str] + :ivar configuration_protected_settings: Key-value pairs of protected configuration settings for + the configuration. + :vartype configuration_protected_settings: dict[str, str] """ _attribute_map = { @@ -828,6 +962,25 @@ def __init__( configuration_protected_settings: Optional[Dict[str, str]] = None, **kwargs ): + """ + :keyword source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository". + :paramtype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceKindType + :keyword suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :paramtype suspend: bool + :keyword git_repository: Parameters to reconcile to the GitRepository source kind type. + :paramtype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.GitRepositoryDefinition + :keyword kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :paramtype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationDefinition] + :keyword configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + """ super(FluxConfigurationPatch, self).__init__(**kwargs) self.source_kind = source_kind self.suspend = suspend @@ -862,6 +1015,8 @@ def __init__( self, **kwargs ): + """ + """ super(FluxConfigurationsList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -870,29 +1025,29 @@ def __init__( class GitRepositoryDefinition(msrest.serialization.Model): """Parameters to reconcile to the GitRepository source kind type. - :param url: The URL to sync for the flux configuration git repository. - :type url: str - :param timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + :ivar url: The URL to sync for the flux configuration git repository. + :vartype url: str + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository source with the remote. - :type timeout_in_seconds: long - :param sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git repository source with the remote. - :type sync_interval_in_seconds: long - :param repository_ref: The source reference for the GitRepository object. - :type repository_ref: + :vartype sync_interval_in_seconds: long + :ivar repository_ref: The source reference for the GitRepository object. + :vartype repository_ref: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.RepositoryRefDefinition - :param ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to + :ivar ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH. - :type ssh_known_hosts: str - :param https_user: Base64-encoded HTTPS username used to access private git repositories over + :vartype ssh_known_hosts: str + :ivar https_user: Base64-encoded HTTPS username used to access private git repositories over HTTPS. - :type https_user: str - :param https_ca_file: Base64-encoded HTTPS certificate authority contents used to access git + :vartype https_user: str + :ivar https_ca_file: Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS. - :type https_ca_file: str - :param local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + :vartype https_ca_file: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. - :type local_auth_ref: str + :vartype local_auth_ref: str """ _attribute_map = { @@ -919,6 +1074,31 @@ def __init__( local_auth_ref: Optional[str] = None, **kwargs ): + """ + :keyword url: The URL to sync for the flux configuration git repository. + :paramtype url: str + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword repository_ref: The source reference for the GitRepository object. + :paramtype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.RepositoryRefDefinition + :keyword ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required + to access private git repositories over SSH. + :paramtype ssh_known_hosts: str + :keyword https_user: Base64-encoded HTTPS username used to access private git repositories over + HTTPS. + :paramtype https_user: str + :keyword https_ca_file: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :paramtype https_ca_file: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ super(GitRepositoryDefinition, self).__init__(**kwargs) self.url = url self.timeout_in_seconds = timeout_in_seconds @@ -933,10 +1113,10 @@ def __init__( class HelmOperatorProperties(msrest.serialization.Model): """Properties for Helm operator. - :param chart_version: Version of the operator Helm chart. - :type chart_version: str - :param chart_values: Values override for the operator Helm chart. - :type chart_values: str + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str """ _attribute_map = { @@ -951,6 +1131,12 @@ def __init__( chart_values: Optional[str] = None, **kwargs ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ super(HelmOperatorProperties, self).__init__(**kwargs) self.chart_version = chart_version self.chart_values = chart_values @@ -959,18 +1145,18 @@ def __init__( class HelmReleasePropertiesDefinition(msrest.serialization.Model): """HelmReleasePropertiesDefinition. - :param last_revision_applied: The revision number of the last released object change. - :type last_revision_applied: long - :param helm_chart_ref: The reference to the HelmChart object used as the source to this + :ivar last_revision_applied: The revision number of the last released object change. + :vartype last_revision_applied: long + :ivar helm_chart_ref: The reference to the HelmChart object used as the source to this HelmRelease. - :type helm_chart_ref: + :vartype helm_chart_ref: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectReferenceDefinition - :param failure_count: Total number of times that the HelmRelease failed to install or upgrade. - :type failure_count: long - :param install_failure_count: Number of times that the HelmRelease failed to install. - :type install_failure_count: long - :param upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. - :type upgrade_failure_count: long + :ivar failure_count: Total number of times that the HelmRelease failed to install or upgrade. + :vartype failure_count: long + :ivar install_failure_count: Number of times that the HelmRelease failed to install. + :vartype install_failure_count: long + :ivar upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. + :vartype upgrade_failure_count: long """ _attribute_map = { @@ -991,6 +1177,21 @@ def __init__( upgrade_failure_count: Optional[int] = None, **kwargs ): + """ + :keyword last_revision_applied: The revision number of the last released object change. + :paramtype last_revision_applied: long + :keyword helm_chart_ref: The reference to the HelmChart object used as the source to this + HelmRelease. + :paramtype helm_chart_ref: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectReferenceDefinition + :keyword failure_count: Total number of times that the HelmRelease failed to install or + upgrade. + :paramtype failure_count: long + :keyword install_failure_count: Number of times that the HelmRelease failed to install. + :paramtype install_failure_count: long + :keyword upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. + :paramtype upgrade_failure_count: long + """ super(HelmReleasePropertiesDefinition, self).__init__(**kwargs) self.last_revision_applied = last_revision_applied self.helm_chart_ref = helm_chart_ref @@ -1008,9 +1209,9 @@ class Identity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant ID of resource. :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and + :ivar type: The identity type. The only acceptable values to pass in are None and "SystemAssigned". The default value is None. - :type type: str + :vartype type: str """ _validation = { @@ -1030,6 +1231,11 @@ def __init__( type: Optional[str] = None, **kwargs ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ super(Identity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None @@ -1039,32 +1245,32 @@ def __init__( class KustomizationDefinition(msrest.serialization.Model): """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. - :param path: The path in the source reference to reconcile on the cluster. - :type path: str - :param depends_on: Specifies other Kustomizations that this Kustomization depends on. This + :ivar path: The path in the source reference to reconcile on the cluster. + :vartype path: str + :ivar depends_on: Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile until all dependencies have completed their reconciliation. - :type depends_on: + :vartype depends_on: list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.DependsOnDefinition] - :param timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the cluster. - :type timeout_in_seconds: long - :param sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the cluster. - :type sync_interval_in_seconds: long - :param retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on - the cluster in the event of failure on reconciliation. - :type retry_interval_in_seconds: long - :param prune: Enable/disable garbage collections of Kubernetes objects created by this + :vartype sync_interval_in_seconds: long + :ivar retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster in the event of failure on reconciliation. + :vartype retry_interval_in_seconds: long + :ivar prune: Enable/disable garbage collections of Kubernetes objects created by this Kustomization. - :type prune: bool - :param validation: Specify whether to validate the Kubernetes objects referenced in the + :vartype prune: bool + :ivar validation: Specify whether to validate the Kubernetes objects referenced in the Kustomization before applying them to the cluster. Possible values include: "none", "client", "server". Default value: "none". - :type validation: str or + :vartype validation: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationValidationType - :param force: Enable/disable re-creating Kubernetes resources on the cluster when patching - fails due to an immutable field change. - :type force: bool + :ivar force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails + due to an immutable field change. + :vartype force: bool """ _attribute_map = { @@ -1091,6 +1297,34 @@ def __init__( force: Optional[bool] = False, **kwargs ): + """ + :keyword path: The path in the source reference to reconcile on the cluster. + :paramtype path: str + :keyword depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :paramtype depends_on: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.DependsOnDefinition] + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster. + :paramtype sync_interval_in_seconds: long + :keyword retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster in the event of failure on reconciliation. + :paramtype retry_interval_in_seconds: long + :keyword prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :paramtype prune: bool + :keyword validation: Specify whether to validate the Kubernetes objects referenced in the + Kustomization before applying them to the cluster. Possible values include: "none", "client", + "server". Default value: "none". + :paramtype validation: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationValidationType + :keyword force: Enable/disable re-creating Kubernetes resources on the cluster when patching + fails due to an immutable field change. + :paramtype force: bool + """ super(KustomizationDefinition, self).__init__(**kwargs) self.path = path self.depends_on = depends_on @@ -1105,10 +1339,10 @@ def __init__( class ObjectReferenceDefinition(msrest.serialization.Model): """Object reference to a Kubernetes object on a cluster. - :param name: Name of the object. - :type name: str - :param namespace: Namespace of the object. - :type namespace: str + :ivar name: Name of the object. + :vartype name: str + :ivar namespace: Namespace of the object. + :vartype namespace: str """ _attribute_map = { @@ -1123,6 +1357,12 @@ def __init__( namespace: Optional[str] = None, **kwargs ): + """ + :keyword name: Name of the object. + :paramtype name: str + :keyword namespace: Namespace of the object. + :paramtype namespace: str + """ super(ObjectReferenceDefinition, self).__init__(**kwargs) self.name = name self.namespace = namespace @@ -1131,16 +1371,16 @@ def __init__( class ObjectStatusConditionDefinition(msrest.serialization.Model): """Status condition of Kubernetes object. - :param last_transition_time: Last time this status condition has changed. - :type last_transition_time: ~datetime.datetime - :param message: A more verbose description of the object status condition. - :type message: str - :param reason: Reason for the specified status condition type status. - :type reason: str - :param status: Status of the Kubernetes object condition type. - :type status: str - :param type: Object status condition type for this object. - :type type: str + :ivar last_transition_time: Last time this status condition has changed. + :vartype last_transition_time: ~datetime.datetime + :ivar message: A more verbose description of the object status condition. + :vartype message: str + :ivar reason: Reason for the specified status condition type status. + :vartype reason: str + :ivar status: Status of the Kubernetes object condition type. + :vartype status: str + :ivar type: Object status condition type for this object. + :vartype type: str """ _attribute_map = { @@ -1161,6 +1401,18 @@ def __init__( type: Optional[str] = None, **kwargs ): + """ + :keyword last_transition_time: Last time this status condition has changed. + :paramtype last_transition_time: ~datetime.datetime + :keyword message: A more verbose description of the object status condition. + :paramtype message: str + :keyword reason: Reason for the specified status condition type status. + :paramtype reason: str + :keyword status: Status of the Kubernetes object condition type. + :paramtype status: str + :keyword type: Object status condition type for this object. + :paramtype type: str + """ super(ObjectStatusConditionDefinition, self).__init__(**kwargs) self.last_transition_time = last_transition_time self.message = message @@ -1172,26 +1424,26 @@ def __init__( class ObjectStatusDefinition(msrest.serialization.Model): """Statuses of objects deployed by the user-specified kustomizations from the git repository. - :param name: Name of the applied object. - :type name: str - :param namespace: Namespace of the applied object. - :type namespace: str - :param kind: Kind of the applied object. - :type kind: str - :param compliance_state: Compliance state of the applied object showing whether the applied + :ivar name: Name of the applied object. + :vartype name: str + :ivar namespace: Namespace of the applied object. + :vartype namespace: str + :ivar kind: Kind of the applied object. + :vartype kind: str + :ivar compliance_state: Compliance state of the applied object showing whether the applied object has come into a ready state on the cluster. Possible values include: "Compliant", "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". - :type compliance_state: str or + :vartype compliance_state: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxComplianceState - :param applied_by: Object reference to the Kustomization that applied this object. - :type applied_by: + :ivar applied_by: Object reference to the Kustomization that applied this object. + :vartype applied_by: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectReferenceDefinition - :param status_conditions: List of Kubernetes object status conditions present on the cluster. - :type status_conditions: + :ivar status_conditions: List of Kubernetes object status conditions present on the cluster. + :vartype status_conditions: list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectStatusConditionDefinition] - :param helm_release_properties: Additional properties that are provided from objects of the + :ivar helm_release_properties: Additional properties that are provided from objects of the HelmRelease kind. - :type helm_release_properties: + :vartype helm_release_properties: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.HelmReleasePropertiesDefinition """ @@ -1217,6 +1469,29 @@ def __init__( helm_release_properties: Optional["HelmReleasePropertiesDefinition"] = None, **kwargs ): + """ + :keyword name: Name of the applied object. + :paramtype name: str + :keyword namespace: Namespace of the applied object. + :paramtype namespace: str + :keyword kind: Kind of the applied object. + :paramtype kind: str + :keyword compliance_state: Compliance state of the applied object showing whether the applied + object has come into a ready state on the cluster. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :paramtype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxComplianceState + :keyword applied_by: Object reference to the Kustomization that applied this object. + :paramtype applied_by: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectReferenceDefinition + :keyword status_conditions: List of Kubernetes object status conditions present on the cluster. + :paramtype status_conditions: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectStatusConditionDefinition] + :keyword helm_release_properties: Additional properties that are provided from objects of the + HelmRelease kind. + :paramtype helm_release_properties: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.HelmReleasePropertiesDefinition + """ super(ObjectStatusDefinition, self).__init__(**kwargs) self.name = name self.namespace = namespace @@ -1253,6 +1528,8 @@ def __init__( self, **kwargs ): + """ + """ super(OperationStatusList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -1265,14 +1542,14 @@ class OperationStatusResult(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Fully qualified ID for the async operation. - :type id: str - :param name: Name of the async operation. - :type name: str - :param status: Required. Operation status. - :type status: str - :param properties: Additional information, if available. - :type properties: dict[str, str] + :ivar id: Fully qualified ID for the async operation. + :vartype id: str + :ivar name: Name of the async operation. + :vartype name: str + :ivar status: Required. Operation status. + :vartype status: str + :ivar properties: Additional information, if available. + :vartype properties: dict[str, str] :ivar error: If present, details of the operation error. :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorDetail """ @@ -1299,6 +1576,16 @@ def __init__( properties: Optional[Dict[str, str]] = None, **kwargs ): + """ + :keyword id: Fully qualified ID for the async operation. + :paramtype id: str + :keyword name: Name of the async operation. + :paramtype name: str + :keyword status: Required. Operation status. + :paramtype status: str + :keyword properties: Additional information, if available. + :paramtype properties: dict[str, str] + """ super(OperationStatusResult, self).__init__(**kwargs) self.id = id self.name = name @@ -1310,21 +1597,21 @@ def __init__( class PatchExtension(msrest.serialization.Model): """The Extension Patch Request object. - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param configuration_settings: Configuration settings, as name-value pairs for configuring this + :vartype version: str + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] + :vartype configuration_protected_settings: dict[str, str] """ _attribute_map = { @@ -1345,6 +1632,23 @@ def __init__( configuration_protected_settings: Optional[Dict[str, str]] = None, **kwargs ): + """ + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + """ super(PatchExtension, self).__init__(**kwargs) self.auto_upgrade_minor_version = auto_upgrade_minor_version self.release_train = release_train @@ -1356,16 +1660,16 @@ def __init__( class RepositoryRefDefinition(msrest.serialization.Model): """The source reference for the GitRepository object. - :param branch: The git repository branch name to checkout. - :type branch: str - :param tag: The git repository tag name to checkout. This takes precedence over branch. - :type tag: str - :param semver: The semver range used to match against git repository tags. This takes - precedence over tag. - :type semver: str - :param commit: The commit SHA to checkout. This value must be combined with the branch name to + :ivar branch: The git repository branch name to checkout. + :vartype branch: str + :ivar tag: The git repository tag name to checkout. This takes precedence over branch. + :vartype tag: str + :ivar semver: The semver range used to match against git repository tags. This takes precedence + over tag. + :vartype semver: str + :ivar commit: The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence over semver. - :type commit: str + :vartype commit: str """ _attribute_map = { @@ -1384,6 +1688,18 @@ def __init__( commit: Optional[str] = None, **kwargs ): + """ + :keyword branch: The git repository branch name to checkout. + :paramtype branch: str + :keyword tag: The git repository tag name to checkout. This takes precedence over branch. + :paramtype tag: str + :keyword semver: The semver range used to match against git repository tags. This takes + precedence over tag. + :paramtype semver: str + :keyword commit: The commit SHA to checkout. This value must be combined with the branch name + to be valid. This takes precedence over semver. + :paramtype commit: str + """ super(RepositoryRefDefinition, self).__init__(**kwargs) self.branch = branch self.tag = tag @@ -1396,10 +1712,10 @@ class ResourceProviderOperation(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param name: Operation name, in format of {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperationDisplay :ivar is_data_action: The flag that indicates whether the operation applies to data plane. :vartype is_data_action: bool @@ -1426,6 +1742,13 @@ def __init__( display: Optional["ResourceProviderOperationDisplay"] = None, **kwargs ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperationDisplay + """ super(ResourceProviderOperation, self).__init__(**kwargs) self.name = name self.display = display @@ -1436,14 +1759,14 @@ def __init__( class ResourceProviderOperationDisplay(msrest.serialization.Model): """Display metadata associated with the operation. - :param provider: Resource provider: Microsoft KubernetesConfiguration. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :param description: Description of this operation. - :type description: str + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype description: str """ _attribute_map = { @@ -1462,6 +1785,16 @@ def __init__( description: Optional[str] = None, **kwargs ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ super(ResourceProviderOperationDisplay, self).__init__(**kwargs) self.provider = provider self.resource = resource @@ -1474,8 +1807,8 @@ class ResourceProviderOperationList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param value: List of operations supported by this resource provider. - :type value: + :ivar value: List of operations supported by this resource provider. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperation] :ivar next_link: URL to the next set of results, if any. :vartype next_link: str @@ -1496,6 +1829,11 @@ def __init__( value: Optional[List["ResourceProviderOperation"]] = None, **kwargs ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperation] + """ super(ResourceProviderOperationList, self).__init__(**kwargs) self.value = value self.next_link = None @@ -1504,10 +1842,11 @@ def __init__( class Scope(msrest.serialization.Model): """Scope of the extension. It can be either Cluster or Namespace; but not both. - :param cluster: Specifies that the scope of the extension is Cluster. - :type cluster: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeCluster - :param namespace: Specifies that the scope of the extension is Namespace. - :type namespace: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeNamespace + :ivar cluster: Specifies that the scope of the extension is Cluster. + :vartype cluster: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeCluster + :ivar namespace: Specifies that the scope of the extension is Namespace. + :vartype namespace: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeNamespace """ _attribute_map = { @@ -1522,6 +1861,13 @@ def __init__( namespace: Optional["ScopeNamespace"] = None, **kwargs ): + """ + :keyword cluster: Specifies that the scope of the extension is Cluster. + :paramtype cluster: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeCluster + :keyword namespace: Specifies that the scope of the extension is Namespace. + :paramtype namespace: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeNamespace + """ super(Scope, self).__init__(**kwargs) self.cluster = cluster self.namespace = namespace @@ -1530,9 +1876,9 @@ def __init__( class ScopeCluster(msrest.serialization.Model): """Specifies that the scope of the extension is Cluster. - :param release_namespace: Namespace where the extension Release must be placed, for a Cluster + :ivar release_namespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this namespace does not exist, it will be created. - :type release_namespace: str + :vartype release_namespace: str """ _attribute_map = { @@ -1545,6 +1891,11 @@ def __init__( release_namespace: Optional[str] = None, **kwargs ): + """ + :keyword release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :paramtype release_namespace: str + """ super(ScopeCluster, self).__init__(**kwargs) self.release_namespace = release_namespace @@ -1552,9 +1903,9 @@ def __init__( class ScopeNamespace(msrest.serialization.Model): """Specifies that the scope of the extension is Namespace. - :param target_namespace: Namespace where the extension will be created for an Namespace scoped + :ivar target_namespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace does not exist, it will be created. - :type target_namespace: str + :vartype target_namespace: str """ _attribute_map = { @@ -1567,6 +1918,11 @@ def __init__( target_namespace: Optional[str] = None, **kwargs ): + """ + :keyword target_namespace: Namespace where the extension will be created for an Namespace + scoped extension. If this namespace does not exist, it will be created. + :paramtype target_namespace: str + """ super(ScopeNamespace, self).__init__(**kwargs) self.target_namespace = target_namespace @@ -1587,36 +1943,36 @@ class SourceControlConfiguration(ProxyResource): :ivar system_data: Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SystemData - :param repository_url: Url of the SourceControl Repository. - :type repository_url: str - :param operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only. - :type operator_namespace: str - :param operator_instance_name: Instance name of the operator - identifying the specific + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific configuration. - :type operator_instance_name: str - :param operator_type: Type of the operator. Possible values include: "Flux". - :type operator_type: str or + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperatorType - :param operator_params: Any Parameters for the Operator instance in string format. - :type operator_params: str - :param configuration_protected_settings: Name-value pairs of protected configuration settings + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings for the configuration. - :type configuration_protected_settings: dict[str, str] - :param operator_scope: Scope at which the operator will be installed. Possible values include: + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: "cluster", "namespace". Default value: "cluster". - :type operator_scope: str or + :vartype operator_scope: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperatorScopeType :ivar repository_public_key: Public Key associated with this SourceControl configuration (either generated within the cluster or provided by the user). :vartype repository_public_key: str - :param ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys required to access private Git instances. - :type ssh_known_hosts_contents: str - :param enable_helm_operator: Option to enable Helm Operator for this git configuration. - :type enable_helm_operator: bool - :param helm_operator_properties: Properties for Helm operator. - :type helm_operator_properties: + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.HelmOperatorProperties :ivar provisioning_state: The provisioning state of the resource provider. Possible values include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". @@ -1672,6 +2028,36 @@ def __init__( helm_operator_properties: Optional["HelmOperatorProperties"] = None, **kwargs ): + """ + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.HelmOperatorProperties + """ super(SourceControlConfiguration, self).__init__(**kwargs) self.system_data = None self.repository_url = repository_url @@ -1715,6 +2101,8 @@ def __init__( self, **kwargs ): + """ + """ super(SourceControlConfigurationList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -1723,10 +2111,10 @@ def __init__( class SupportedScopes(msrest.serialization.Model): """Extension scopes. - :param default_scope: Default extension scopes: cluster or namespace. - :type default_scope: str - :param cluster_scope_settings: Scope settings. - :type cluster_scope_settings: + :ivar default_scope: Default extension scopes: cluster or namespace. + :vartype default_scope: str + :ivar cluster_scope_settings: Scope settings. + :vartype cluster_scope_settings: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ClusterScopeSettings """ @@ -1742,6 +2130,13 @@ def __init__( cluster_scope_settings: Optional["ClusterScopeSettings"] = None, **kwargs ): + """ + :keyword default_scope: Default extension scopes: cluster or namespace. + :paramtype default_scope: str + :keyword cluster_scope_settings: Scope settings. + :paramtype cluster_scope_settings: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ClusterScopeSettings + """ super(SupportedScopes, self).__init__(**kwargs) self.default_scope = default_scope self.cluster_scope_settings = cluster_scope_settings @@ -1750,22 +2145,22 @@ def __init__( class SystemData(msrest.serialization.Model): """Metadata pertaining to creation and last modification of the resource. - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. Possible values - include: "User", "Application", "ManagedIdentity", "Key". - :type created_by_type: str or + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: ~datetime.datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the resource. Possible + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Possible values include: "User", "Application", "ManagedIdentity", "Key". - :type last_modified_by_type: str or + :vartype last_modified_by_type: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime """ _attribute_map = { @@ -1788,6 +2183,24 @@ def __init__( last_modified_at: Optional[datetime.datetime] = None, **kwargs ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ super(SystemData, self).__init__(**kwargs) self.created_by = created_by self.created_by_type = created_by_type diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/_source_control_configuration_client_enums.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/_source_control_configuration_client_enums.py index 7b724fe947b..544b13b91c2 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/_source_control_configuration_client_enums.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/_source_control_configuration_client_enums.py @@ -6,34 +6,19 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from enum import Enum, EnumMeta +from enum import Enum from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta -class _CaseInsensitiveEnumMeta(EnumMeta): - def __getitem__(self, name): - return super().__getitem__(name.upper()) - def __getattr__(cls, name): - """Return the enum member matching `name` - We use __getattr__ instead of descriptors or inserting into the enum - class' __dict__ in order to support `name` and `value` being both - properties for enum members (which live in the class' __dict__) and - enum members themselves. - """ - try: - return cls._member_map_[name.upper()] - except KeyError: - raise AttributeError(name) - - -class ClusterTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ClusterTypes(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Cluster types """ CONNECTED_CLUSTERS = "connectedClusters" MANAGED_CLUSTERS = "managedClusters" -class ComplianceStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The compliance state of the configuration. """ @@ -43,7 +28,7 @@ class ComplianceStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): INSTALLED = "Installed" FAILED = "Failed" -class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class CreatedByType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The type of identity that created the resource. """ @@ -52,17 +37,17 @@ class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): MANAGED_IDENTITY = "ManagedIdentity" KEY = "Key" -class Enum0(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Enum0(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" -class Enum1(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Enum1(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): MANAGED_CLUSTERS = "managedClusters" CONNECTED_CLUSTERS = "connectedClusters" -class FluxComplianceState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class FluxComplianceState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Compliance state of the cluster object. """ @@ -72,7 +57,7 @@ class FluxComplianceState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): SUSPENDED = "Suspended" UNKNOWN = "Unknown" -class KustomizationValidationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class KustomizationValidationType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Specify whether to validate the Kubernetes objects referenced in the Kustomization before applying them to the cluster. """ @@ -81,7 +66,7 @@ class KustomizationValidationType(with_metaclass(_CaseInsensitiveEnumMeta, str, CLIENT = "client" SERVER = "server" -class LevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class LevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Level of the status. """ @@ -89,7 +74,7 @@ class LevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): WARNING = "Warning" INFORMATION = "Information" -class MessageLevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Level of the message. """ @@ -97,20 +82,20 @@ class MessageLevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): WARNING = "Warning" INFORMATION = "Information" -class OperatorScopeType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Scope at which the operator will be installed. """ CLUSTER = "cluster" NAMESPACE = "namespace" -class OperatorType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Type of the operator """ FLUX = "Flux" -class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The provisioning state of the resource. """ @@ -121,7 +106,7 @@ class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): UPDATING = "Updating" DELETING = "Deleting" -class ProvisioningStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The provisioning state of the resource provider. """ @@ -131,14 +116,14 @@ class ProvisioningStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)) SUCCEEDED = "Succeeded" FAILED = "Failed" -class ScopeType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Scope at which the configuration will be installed. """ CLUSTER = "cluster" NAMESPACE = "namespace" -class SourceKindType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class SourceKindType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Source Kind to pull the configuration data from. """ diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_type_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_type_operations.py index 116d991666f..3521f8a7573 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_type_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_type_operations.py @@ -5,22 +5,65 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionTypeName": _SERIALIZER.url("extension_type_name", extension_type_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class ClusterExtensionTypeOperations(object): """ClusterExtensionTypeOperations operations. @@ -44,16 +87,16 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_type_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ExtensionType" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any + ) -> "_models.ExtensionType": """Get Extension Type details. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -63,7 +106,8 @@ def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_type_name: Extension type name. @@ -78,36 +122,26 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionTypeName': self._serialize.url("extension_type_name", extension_type_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_type_name=extension_type_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ExtensionType', pipeline_response) @@ -116,4 +150,6 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore + diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_types_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_types_operations.py index 9a59fe9f602..7d7e58989f9 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_types_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_types_operations.py @@ -5,23 +5,64 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class ClusterExtensionTypesOperations(object): """ClusterExtensionTypesOperations operations. @@ -45,15 +86,15 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ExtensionTypeList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionTypeList"]: """Get Extension Types. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -63,12 +104,14 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionTypeList] + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionTypeList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] @@ -76,38 +119,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionTypeList', pipeline_response) + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -120,12 +162,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_extension_type_versions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_extension_type_versions_operations.py index a9db32fce8b..b9e4fd842ee 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_extension_type_versions_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_extension_type_versions_operations.py @@ -5,23 +5,60 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + extension_type_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "extensionTypeName": _SERIALIZER.url("extension_type_name", extension_type_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class ExtensionTypeVersionsOperations(object): """ExtensionTypeVersionsOperations operations. @@ -45,13 +82,13 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - location, # type: str - extension_type_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ExtensionVersionList"] + location: str, + extension_type_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionVersionList"]: """List available versions for an Extension Type. :param location: extension location. @@ -59,8 +96,10 @@ def list( :param extension_type_name: Extension type name. :type extension_type_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ExtensionVersionList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionVersionList] + :return: An iterator like instance of either ExtensionVersionList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionVersionList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionVersionList"] @@ -68,36 +107,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'location': self._serialize.url("location", location, 'str'), - 'extensionTypeName': self._serialize.url("extension_type_name", extension_type_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionVersionList', pipeline_response) + deserialized = self._deserialize("ExtensionVersionList", pipeline_response) list_of_elem = deserialized.versions if cls: list_of_elem = cls(list_of_elem) @@ -110,12 +146,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_extensions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_extensions_operations.py index b9a4aa6a917..0531c000385 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_extensions_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_extensions_operations.py @@ -5,25 +5,253 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class ExtensionsOperations(object): """ExtensionsOperations operations. @@ -49,56 +277,44 @@ def __init__(self, client, config, serializer, deserializer): def _create_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - extension, # type: "_models.Extension" - **kwargs # type: Any - ): - # type: (...) -> "_models.Extension" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(extension, 'Extension') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize('Extension', pipeline_response) @@ -110,19 +326,21 @@ def _create_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace def begin_create( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - extension, # type: "_models.Extension" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.Extension"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: """Create a new Kubernetes Cluster Extension. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -132,7 +350,8 @@ def begin_create( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -141,15 +360,19 @@ def begin_create( :type extension: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of LROPoller that returns either Extension or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension] - :raises ~azure.core.exceptions.HttpResponseError: + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] lro_delay = kwargs.pop( 'polling_interval', @@ -164,30 +387,21 @@ def begin_create( cluster_name=cluster_name, extension_name=extension_name, extension=extension, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('Extension', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -199,18 +413,19 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.Extension" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": """Gets Kubernetes Cluster Extension. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -220,7 +435,8 @@ def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -235,36 +451,26 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Extension', pipeline_response) @@ -273,74 +479,64 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + def _delete_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - force_delete=None, # type: Optional[bool] - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: cls = kwargs.pop('cls', None) # type: ClsType[None] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if force_delete is not None: - query_parameters['forceDelete'] = self._serialize.query("force_delete", force_delete, 'bool') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace def begin_delete( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - force_delete=None, # type: Optional[bool] - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster. @@ -351,7 +547,8 @@ def begin_delete( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -361,15 +558,17 @@ def begin_delete( :type force_delete: bool :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of LROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -387,24 +586,14 @@ def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -416,62 +605,49 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore def _update_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - patch_extension, # type: "_models.PatchExtension" - **kwargs # type: Any - ): - # type: (...) -> "_models.Extension" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> "_models.Extension": cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] error_map = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: lambda response: ResourceExistsError(response=response, model=self._deserialize(_models.ErrorResponse, response), error_format=ARMErrorFormat), + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(patch_extension, 'PatchExtension') - body_content_kwargs['content'] = body_content - request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) deserialized = self._deserialize('Extension', pipeline_response) @@ -479,19 +655,21 @@ def _update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace def begin_update( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - patch_extension, # type: "_models.PatchExtension" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.Extension"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: """Patch an existing Kubernetes Cluster Extension. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -501,24 +679,30 @@ def begin_update( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. :type extension_name: str :param patch_extension: Properties to Patch in an existing Extension. - :type patch_extension: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.PatchExtension + :type patch_extension: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.PatchExtension :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of LROPoller that returns either Extension or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension] - :raises ~azure.core.exceptions.HttpResponseError: + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] lro_delay = kwargs.pop( 'polling_interval', @@ -533,30 +717,21 @@ def begin_update( cluster_name=cluster_name, extension_name=extension_name, patch_extension=patch_extension, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('Extension', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -568,17 +743,18 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ExtensionsList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionsList"]: """List all Extensions in the cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -588,12 +764,14 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionsList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionsList] + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionsList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] @@ -601,38 +779,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionsList', pipeline_response) + deserialized = self._deserialize("ExtensionsList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -645,12 +822,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_flux_config_operation_status_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_flux_config_operation_status_operations.py index 4bd346a003f..dea63e7dac3 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_flux_config_operation_status_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_flux_config_operation_status_operations.py @@ -5,22 +5,67 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class FluxConfigOperationStatusOperations(object): """FluxConfigOperationStatusOperations operations. @@ -44,17 +89,17 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - flux_configuration_name, # type: str - operation_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.OperationStatusResult" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": """Get Async Operation status. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -64,7 +109,8 @@ def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param flux_configuration_name: Name of the Flux Configuration. @@ -81,37 +127,27 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - 'operationId': self._serialize.url("operation_id", operation_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('OperationStatusResult', pipeline_response) @@ -120,4 +156,6 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_flux_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_flux_configurations_operations.py index 0b8e72b4573..c3d3cf613ba 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_flux_configurations_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_flux_configurations_operations.py @@ -5,25 +5,253 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class FluxConfigurationsOperations(object): """FluxConfigurationsOperations operations. @@ -47,16 +275,16 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - flux_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.FluxConfiguration" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any + ) -> "_models.FluxConfiguration": """Gets details of the Flux Configuration. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -66,7 +294,8 @@ def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param flux_configuration_name: Name of the Flux Configuration. @@ -81,36 +310,26 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('FluxConfiguration', pipeline_response) @@ -119,62 +338,50 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + def _create_or_update_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - flux_configuration_name, # type: str - flux_configuration, # type: "_models.FluxConfiguration" - **kwargs # type: Any - ): - # type: (...) -> "_models.FluxConfiguration" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> "_models.FluxConfiguration": cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] error_map = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: lambda response: ResourceExistsError(response=response, model=self._deserialize(_models.ErrorResponse, response), error_format=ARMErrorFormat), + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_or_update_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + _json = self._serialize.body(flux_configuration, 'FluxConfiguration') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(flux_configuration, 'FluxConfiguration') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize('FluxConfiguration', pipeline_response) @@ -186,19 +393,21 @@ def _create_or_update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace def begin_create_or_update( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - flux_configuration_name, # type: str - flux_configuration, # type: "_models.FluxConfiguration" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.FluxConfiguration"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> LROPoller["_models.FluxConfiguration"]: """Create a new Kubernetes Flux Configuration. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -208,24 +417,31 @@ def begin_create_or_update( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param flux_configuration_name: Name of the Flux Configuration. :type flux_configuration_name: str :param flux_configuration: Properties necessary to Create a FluxConfiguration. - :type flux_configuration: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration + :type flux_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either FluxConfiguration or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration] - :raises ~azure.core.exceptions.HttpResponseError: + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] lro_delay = kwargs.pop( 'polling_interval', @@ -240,30 +456,21 @@ def begin_create_or_update( cluster_name=cluster_name, flux_configuration_name=flux_configuration_name, flux_configuration=flux_configuration, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('FluxConfiguration', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -275,62 +482,49 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore def _update_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - flux_configuration_name, # type: str - flux_configuration_patch, # type: "_models.FluxConfigurationPatch" - **kwargs # type: Any - ): - # type: (...) -> "_models.FluxConfiguration" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> "_models.FluxConfiguration": cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] error_map = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: lambda response: ResourceExistsError(response=response, model=self._deserialize(_models.ErrorResponse, response), error_format=ARMErrorFormat), + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') - body_content_kwargs['content'] = body_content - request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) deserialized = self._deserialize('FluxConfiguration', pipeline_response) @@ -338,19 +532,21 @@ def _update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace def begin_update( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - flux_configuration_name, # type: str - flux_configuration_patch, # type: "_models.FluxConfigurationPatch" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.FluxConfiguration"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> LROPoller["_models.FluxConfiguration"]: """Update an existing Kubernetes Flux Configuration. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -360,24 +556,31 @@ def begin_update( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param flux_configuration_name: Name of the Flux Configuration. :type flux_configuration_name: str :param flux_configuration_patch: Properties to Patch in an existing Flux Configuration. - :type flux_configuration_patch: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfigurationPatch + :type flux_configuration_patch: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfigurationPatch :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either FluxConfiguration or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration] - :raises ~azure.core.exceptions.HttpResponseError: + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] lro_delay = kwargs.pop( 'polling_interval', @@ -392,30 +595,21 @@ def begin_update( cluster_name=cluster_name, flux_configuration_name=flux_configuration_name, flux_configuration_patch=flux_configuration_patch, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('FluxConfiguration', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -427,74 +621,63 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore def _delete_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - flux_configuration_name, # type: str - force_delete=None, # type: Optional[bool] - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: cls = kwargs.pop('cls', None) # type: ClsType[None] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if force_delete is not None: - query_parameters['forceDelete'] = self._serialize.query("force_delete", force_delete, 'bool') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace def begin_delete( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - flux_configuration_name, # type: str - force_delete=None, # type: Optional[bool] - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: """This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync from the source repo. @@ -505,7 +688,8 @@ def begin_delete( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param flux_configuration_name: Name of the Flux Configuration. @@ -515,15 +699,17 @@ def begin_delete( :type force_delete: bool :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of LROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -541,24 +727,14 @@ def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -570,17 +746,18 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.FluxConfigurationsList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.FluxConfigurationsList"]: """List all Flux Configurations. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -590,12 +767,15 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either FluxConfigurationsList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfigurationsList] + :return: An iterator like instance of either FluxConfigurationsList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfigurationsList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfigurationsList"] @@ -603,38 +783,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('FluxConfigurationsList', pipeline_response) + deserialized = self._deserialize("FluxConfigurationsList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -647,12 +826,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_location_extension_types_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_location_extension_types_operations.py index 7e4e5eb165e..6e8be79c061 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_location_extension_types_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_location_extension_types_operations.py @@ -5,23 +5,58 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class LocationExtensionTypesOperations(object): """LocationExtensionTypesOperations operations. @@ -45,19 +80,20 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - location, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ExtensionTypeList"] + location: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionTypeList"]: """List all Extension Types. :param location: extension location. :type location: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionTypeList] + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionTypeList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] @@ -65,35 +101,31 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'location': self._serialize.url("location", location, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionTypeList', pipeline_response) + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -106,12 +138,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_operation_status_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_operation_status_operations.py index 9cd277b30f3..99b73b72038 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_operation_status_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_operation_status_operations.py @@ -5,23 +5,107 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class OperationStatusOperations(object): """OperationStatusOperations operations. @@ -45,17 +129,17 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - operation_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.OperationStatusResult" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": """Get Async Operation status. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -65,7 +149,8 @@ def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -82,37 +167,27 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - 'operationId': self._serialize.url("operation_id", operation_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('OperationStatusResult', pipeline_response) @@ -121,17 +196,19 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.OperationStatusList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.OperationStatusList"]: """List Async Operations, currently in progress, in a cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -141,12 +218,14 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationStatusList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperationStatusList] + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperationStatusList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] @@ -154,38 +233,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('OperationStatusList', pipeline_response) + deserialized = self._deserialize("OperationStatusList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -198,12 +276,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_operations.py index 35394f50809..c047a8d76ca 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_operations.py @@ -5,23 +5,50 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class Operations(object): """Operations operations. @@ -45,16 +72,18 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ResourceProviderOperationList"] + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: """List all the available operations the KubernetesConfiguration resource provider supports. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperationList] + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] @@ -62,30 +91,27 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ResourceProviderOperationList', pipeline_response) + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -98,12 +124,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_source_control_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_source_control_configurations_operations.py index 3233f416ca0..4fe01af8220 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_source_control_configurations_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/operations/_source_control_configurations_operations.py @@ -5,25 +5,199 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class SourceControlConfigurationsOperations(object): """SourceControlConfigurationsOperations operations. @@ -47,16 +221,16 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.SourceControlConfiguration" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": """Gets details of the Source Control Configuration. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -66,14 +240,16 @@ def get( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -81,36 +257,26 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) @@ -119,19 +285,21 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace def create_or_update( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - source_control_configuration, # type: "_models.SourceControlConfiguration" - **kwargs # type: Any - ): - # type: (...) -> "_models.SourceControlConfiguration" + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": """Create a new Kubernetes Source Control Configuration. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -141,16 +309,19 @@ def create_or_update( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. - :type source_control_configuration: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -158,41 +329,31 @@ def create_or_update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.create_or_update.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -205,70 +366,61 @@ def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + def _delete_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: cls = kwargs.pop('cls', None) # type: ClsType[None] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace def begin_delete( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: """This will delete the YAML file used to set up the Source control configuration, thus stopping future sync from the source repo. @@ -279,22 +431,25 @@ def begin_delete( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of LROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -311,24 +466,14 @@ def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -340,17 +485,18 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.SourceControlConfigurationList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: """List all Source Control Configurations. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -360,12 +506,15 @@ def list( :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SourceControlConfigurationList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfigurationList] + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfigurationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] @@ -373,38 +522,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-11-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('SourceControlConfigurationList', pipeline_response) + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -417,12 +565,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/__init__.py index f13062376d7..e9096303633 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/__init__.py @@ -12,8 +12,7 @@ __version__ = VERSION __all__ = ['SourceControlConfigurationClient'] -try: - from ._patch import patch_sdk # type: ignore - patch_sdk() -except ImportError: - pass +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_configuration.py index b75a1084ebc..79ca1e2de57 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_configuration.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_configuration.py @@ -6,18 +6,16 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +from typing import Any, TYPE_CHECKING from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy from ._version import VERSION if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any - from azure.core.credentials import TokenCredential @@ -35,16 +33,15 @@ class SourceControlConfigurationClientConfiguration(Configuration): def __init__( self, - credential, # type: "TokenCredential" - subscription_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id @@ -68,4 +65,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_patch.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_source_control_configuration_client.py index 4fd5d4958ff..7a271a30691 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_source_control_configuration_client.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_source_control_configuration_client.py @@ -6,119 +6,115 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING +from azure.core.rest import HttpRequest, HttpResponse from azure.mgmt.core import ARMPipelineClient from msrest import Deserializer, Serializer +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ClusterExtensionTypeOperations, ClusterExtensionTypesOperations, ExtensionTypeVersionsOperations, ExtensionsOperations, FluxConfigOperationStatusOperations, FluxConfigurationsOperations, LocationExtensionTypesOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Optional - from azure.core.credentials import TokenCredential - from azure.core.pipeline.transport import HttpRequest, HttpResponse - -from ._configuration import SourceControlConfigurationClientConfiguration -from .operations import ClusterExtensionTypeOperations -from .operations import ClusterExtensionTypesOperations -from .operations import ExtensionTypeVersionsOperations -from .operations import LocationExtensionTypesOperations -from .operations import ExtensionsOperations -from .operations import OperationStatusOperations -from .operations import FluxConfigurationsOperations -from .operations import FluxConfigOperationStatusOperations -from .operations import SourceControlConfigurationsOperations -from .operations import Operations -from . import models - -class SourceControlConfigurationClient(object): +class SourceControlConfigurationClient: """KubernetesConfiguration Client. :ivar cluster_extension_type: ClusterExtensionTypeOperations operations - :vartype cluster_extension_type: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.ClusterExtensionTypeOperations + :vartype cluster_extension_type: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.ClusterExtensionTypeOperations :ivar cluster_extension_types: ClusterExtensionTypesOperations operations - :vartype cluster_extension_types: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.ClusterExtensionTypesOperations + :vartype cluster_extension_types: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.ClusterExtensionTypesOperations :ivar extension_type_versions: ExtensionTypeVersionsOperations operations - :vartype extension_type_versions: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.ExtensionTypeVersionsOperations + :vartype extension_type_versions: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.ExtensionTypeVersionsOperations :ivar location_extension_types: LocationExtensionTypesOperations operations - :vartype location_extension_types: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.LocationExtensionTypesOperations + :vartype location_extension_types: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.LocationExtensionTypesOperations :ivar extensions: ExtensionsOperations operations - :vartype extensions: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.ExtensionsOperations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.ExtensionsOperations :ivar operation_status: OperationStatusOperations operations - :vartype operation_status: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.OperationStatusOperations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.OperationStatusOperations :ivar flux_configurations: FluxConfigurationsOperations operations - :vartype flux_configurations: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.FluxConfigurationsOperations + :vartype flux_configurations: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.FluxConfigurationsOperations :ivar flux_config_operation_status: FluxConfigOperationStatusOperations operations - :vartype flux_config_operation_status: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.FluxConfigOperationStatusOperations + :vartype flux_config_operation_status: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.FluxConfigOperationStatusOperations :ivar source_control_configurations: SourceControlConfigurationsOperations operations - :vartype source_control_configurations: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.SourceControlConfigurationsOperations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.SourceControlConfigurationsOperations :ivar operations: Operations operations - :vartype operations: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.Operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.Operations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The ID of the target subscription. :type subscription_id: str - :param str base_url: Service URL - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. """ def __init__( self, - credential, # type: "TokenCredential" - subscription_id, # type: str - base_url=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> None - if not base_url: - base_url = 'https://management.azure.com' - self._config = SourceControlConfigurationClientConfiguration(credential, subscription_id, **kwargs) + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) - self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) - - self.cluster_extension_type = ClusterExtensionTypeOperations( - self._client, self._config, self._serialize, self._deserialize) - self.cluster_extension_types = ClusterExtensionTypesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.extension_type_versions = ExtensionTypeVersionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.location_extension_types = LocationExtensionTypesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.extensions = ExtensionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operation_status = OperationStatusOperations( - self._client, self._config, self._serialize, self._deserialize) - self.flux_configurations = FluxConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.flux_config_operation_status = FluxConfigOperationStatusOperations( - self._client, self._config, self._serialize, self._deserialize) - self.source_control_configurations = SourceControlConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - - def _send_request(self, http_request, **kwargs): - # type: (HttpRequest, Any) -> HttpResponse + self._serialize.client_side_validation = False + self.cluster_extension_type = ClusterExtensionTypeOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_types = ClusterExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extension_type_versions = ExtensionTypeVersionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.location_extension_types = LocationExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_configurations = FluxConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_config_operation_status = FluxConfigOperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: """Runs the network request through the client's chained policies. - :param http_request: The network request you want to make. Required. - :type http_request: ~azure.core.pipeline.transport.HttpRequest - :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. :return: The response of your network call. Does not do error handling on your response. - :rtype: ~azure.core.pipeline.transport.HttpResponse + :rtype: ~azure.core.rest.HttpResponse """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - http_request.url = self._client.format_url(http_request.url, **path_format_arguments) - stream = kwargs.pop("stream", True) - pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) def close(self): # type: () -> None diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_vendor.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_vendor.py @@ -0,0 +1,27 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/__init__.py index ba52c91a7ba..5f583276b4e 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/__init__.py @@ -8,3 +8,8 @@ from ._source_control_configuration_client import SourceControlConfigurationClient __all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/_configuration.py index fc051b59148..c39cb2de0a3 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/_configuration.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/_configuration.py @@ -10,7 +10,7 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy from .._version import VERSION @@ -37,11 +37,11 @@ def __init__( subscription_id: str, **kwargs: Any ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id @@ -64,4 +64,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/_patch.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/_source_control_configuration_client.py index 502030b5568..d2a714a6378 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/_source_control_configuration_client.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/_source_control_configuration_client.py @@ -6,115 +6,115 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, Optional, TYPE_CHECKING +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.rest import AsyncHttpResponse, HttpRequest from azure.mgmt.core import AsyncARMPipelineClient from msrest import Deserializer, Serializer +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ClusterExtensionTypeOperations, ClusterExtensionTypesOperations, ExtensionTypeVersionsOperations, ExtensionsOperations, FluxConfigOperationStatusOperations, FluxConfigurationsOperations, LocationExtensionTypesOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential -from ._configuration import SourceControlConfigurationClientConfiguration -from .operations import ClusterExtensionTypeOperations -from .operations import ClusterExtensionTypesOperations -from .operations import ExtensionTypeVersionsOperations -from .operations import LocationExtensionTypesOperations -from .operations import ExtensionsOperations -from .operations import OperationStatusOperations -from .operations import FluxConfigurationsOperations -from .operations import FluxConfigOperationStatusOperations -from .operations import SourceControlConfigurationsOperations -from .operations import Operations -from .. import models - - -class SourceControlConfigurationClient(object): +class SourceControlConfigurationClient: """KubernetesConfiguration Client. :ivar cluster_extension_type: ClusterExtensionTypeOperations operations - :vartype cluster_extension_type: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.ClusterExtensionTypeOperations + :vartype cluster_extension_type: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.ClusterExtensionTypeOperations :ivar cluster_extension_types: ClusterExtensionTypesOperations operations - :vartype cluster_extension_types: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.ClusterExtensionTypesOperations + :vartype cluster_extension_types: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.ClusterExtensionTypesOperations :ivar extension_type_versions: ExtensionTypeVersionsOperations operations - :vartype extension_type_versions: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.ExtensionTypeVersionsOperations + :vartype extension_type_versions: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.ExtensionTypeVersionsOperations :ivar location_extension_types: LocationExtensionTypesOperations operations - :vartype location_extension_types: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.LocationExtensionTypesOperations + :vartype location_extension_types: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.LocationExtensionTypesOperations :ivar extensions: ExtensionsOperations operations - :vartype extensions: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.ExtensionsOperations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.ExtensionsOperations :ivar operation_status: OperationStatusOperations operations - :vartype operation_status: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.OperationStatusOperations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.OperationStatusOperations :ivar flux_configurations: FluxConfigurationsOperations operations - :vartype flux_configurations: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.FluxConfigurationsOperations + :vartype flux_configurations: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.FluxConfigurationsOperations :ivar flux_config_operation_status: FluxConfigOperationStatusOperations operations - :vartype flux_config_operation_status: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.FluxConfigOperationStatusOperations + :vartype flux_config_operation_status: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.FluxConfigOperationStatusOperations :ivar source_control_configurations: SourceControlConfigurationsOperations operations - :vartype source_control_configurations: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.SourceControlConfigurationsOperations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.SourceControlConfigurationsOperations :ivar operations: Operations operations - :vartype operations: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.Operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.Operations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials_async.AsyncTokenCredential :param subscription_id: The ID of the target subscription. :type subscription_id: str - :param str base_url: Service URL - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. """ def __init__( self, credential: "AsyncTokenCredential", subscription_id: str, - base_url: Optional[str] = None, + base_url: str = "https://management.azure.com", **kwargs: Any ) -> None: - if not base_url: - base_url = 'https://management.azure.com' - self._config = SourceControlConfigurationClientConfiguration(credential, subscription_id, **kwargs) + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) - self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.cluster_extension_type = ClusterExtensionTypeOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_types = ClusterExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extension_type_versions = ExtensionTypeVersionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.location_extension_types = LocationExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_configurations = FluxConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_config_operation_status = FluxConfigOperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + - self.cluster_extension_type = ClusterExtensionTypeOperations( - self._client, self._config, self._serialize, self._deserialize) - self.cluster_extension_types = ClusterExtensionTypesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.extension_type_versions = ExtensionTypeVersionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.location_extension_types = LocationExtensionTypesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.extensions = ExtensionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operation_status = OperationStatusOperations( - self._client, self._config, self._serialize, self._deserialize) - self.flux_configurations = FluxConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.flux_config_operation_status = FluxConfigOperationStatusOperations( - self._client, self._config, self._serialize, self._deserialize) - self.source_control_configurations = SourceControlConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - - async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. - :param http_request: The network request you want to make. Required. - :type http_request: ~azure.core.pipeline.transport.HttpRequest - :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. :return: The response of your network call. Does not do error handling on your response. - :rtype: ~azure.core.pipeline.transport.AsyncHttpResponse + :rtype: ~azure.core.rest.AsyncHttpResponse """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - http_request.url = self._client.format_url(http_request.url, **path_format_arguments) - stream = kwargs.pop("stream", True) - pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) async def close(self) -> None: await self._client.close() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_type_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_type_operations.py index 5ad38f9c1db..ef07f9a9e3c 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_type_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_type_operations.py @@ -5,16 +5,20 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._cluster_extension_type_operations import build_get_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -40,11 +44,12 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, extension_type_name: str, **kwargs: Any @@ -55,10 +60,12 @@ async def get( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_type_name: Extension type name. @@ -73,36 +80,26 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionTypeName': self._serialize.url("extension_type_name", extension_type_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_type_name=extension_type_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ExtensionType', pipeline_response) @@ -111,4 +108,6 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore + diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_types_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_types_operations.py index 271b9752354..4cb9726a017 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_types_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_types_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._cluster_extension_types_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,11 +46,12 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, **kwargs: Any ) -> AsyncIterable["_models.ExtensionTypeList"]: @@ -55,15 +61,18 @@ def list( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionTypeList] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionTypeList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] @@ -71,38 +80,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionTypeList', pipeline_response) + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -115,12 +123,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_extension_type_versions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_extension_type_versions_operations.py index 67d9ef02043..8c3770819b1 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_extension_type_versions_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_extension_type_versions_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._extension_type_versions_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, location: str, @@ -54,8 +60,10 @@ def list( :param extension_type_name: Extension type name. :type extension_type_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ExtensionVersionList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionVersionList] + :return: An iterator like instance of either ExtensionVersionList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionVersionList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionVersionList"] @@ -63,36 +71,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'location': self._serialize.url("location", location, 'str'), - 'extensionTypeName': self._serialize.url("extension_type_name", extension_type_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionVersionList', pipeline_response) + deserialized = self._deserialize("ExtensionVersionList", pipeline_response) list_of_elem = deserialized.versions if cls: list_of_elem = cls(list_of_elem) @@ -105,12 +110,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_extensions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_extensions_operations.py index abfa18fde51..12f782fcec9 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_extensions_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_extensions_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._extensions_operations import build_create_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -46,8 +51,8 @@ def __init__(self, client, config, serializer, deserializer) -> None: async def _create_initial( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, extension_name: str, extension: "_models.Extension", @@ -58,42 +63,31 @@ async def _create_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(extension, 'Extension') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize('Extension', pipeline_response) @@ -105,13 +99,16 @@ async def _create_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async async def begin_create( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, extension_name: str, extension: "_models.Extension", @@ -123,10 +120,12 @@ async def begin_create( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -135,15 +134,20 @@ async def begin_create( :type extension: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either Extension or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] - :raises ~azure.core.exceptions.HttpResponseError: + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] lro_delay = kwargs.pop( 'polling_interval', @@ -158,30 +162,21 @@ async def begin_create( cluster_name=cluster_name, extension_name=extension_name, extension=extension, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('Extension', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -193,13 +188,15 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, extension_name: str, **kwargs: Any @@ -210,10 +207,12 @@ async def get( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -228,36 +227,26 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Extension', pipeline_response) @@ -266,13 +255,15 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + async def _delete_initial( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, extension_name: str, force_delete: Optional[bool] = None, @@ -283,50 +274,40 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if force_delete is not None: - query_parameters['forceDelete'] = self._serialize.query("force_delete", force_delete, 'bool') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, extension_name: str, force_delete: Optional[bool] = None, @@ -339,10 +320,12 @@ async def begin_delete( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -352,15 +335,17 @@ async def begin_delete( :type force_delete: bool :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -378,24 +363,14 @@ async def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -407,13 +382,14 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore async def _update_initial( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, extension_name: str, patch_extension: "_models.PatchExtension", @@ -424,42 +400,31 @@ async def _update_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + _json = self._serialize.body(patch_extension, 'PatchExtension') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(patch_extension, 'PatchExtension') - body_content_kwargs['content'] = body_content - request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) deserialized = self._deserialize('Extension', pipeline_response) @@ -467,13 +432,16 @@ async def _update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async async def begin_update( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, extension_name: str, patch_extension: "_models.PatchExtension", @@ -485,27 +453,35 @@ async def begin_update( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. :type extension_name: str :param patch_extension: Properties to Patch in an existing Extension. - :type patch_extension: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.PatchExtension + :type patch_extension: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.PatchExtension :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either Extension or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] - :raises ~azure.core.exceptions.HttpResponseError: + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] lro_delay = kwargs.pop( 'polling_interval', @@ -520,30 +496,21 @@ async def begin_update( cluster_name=cluster_name, extension_name=extension_name, patch_extension=patch_extension, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('Extension', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -555,13 +522,15 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + @distributed_trace def list( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, **kwargs: Any ) -> AsyncIterable["_models.ExtensionsList"]: @@ -571,15 +540,18 @@ def list( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionsList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsList] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] @@ -587,38 +559,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionsList', pipeline_response) + deserialized = self._deserialize("ExtensionsList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -631,12 +602,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_config_operation_status_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_config_operation_status_operations.py index 22b61526ac8..e1cd85a2f49 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_config_operation_status_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_config_operation_status_operations.py @@ -5,16 +5,20 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._flux_config_operation_status_operations import build_get_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -40,11 +44,12 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, flux_configuration_name: str, operation_id: str, @@ -56,10 +61,12 @@ async def get( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param flux_configuration_name: Name of the Flux Configuration. @@ -76,37 +83,27 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - 'operationId': self._serialize.url("operation_id", operation_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('OperationStatusResult', pipeline_response) @@ -115,4 +112,6 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_configurations_operations.py index 175b59e0bed..92088a6cd74 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_configurations_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_configurations_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._flux_configurations_operations import build_create_or_update_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -43,11 +48,12 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, flux_configuration_name: str, **kwargs: Any @@ -58,10 +64,12 @@ async def get( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param flux_configuration_name: Name of the Flux Configuration. @@ -76,36 +84,26 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('FluxConfiguration', pipeline_response) @@ -114,13 +112,15 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + async def _create_or_update_initial( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, flux_configuration_name: str, flux_configuration: "_models.FluxConfiguration", @@ -131,42 +131,31 @@ async def _create_or_update_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_or_update_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration, 'FluxConfiguration') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(flux_configuration, 'FluxConfiguration') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize('FluxConfiguration', pipeline_response) @@ -178,13 +167,16 @@ async def _create_or_update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace_async async def begin_create_or_update( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, flux_configuration_name: str, flux_configuration: "_models.FluxConfiguration", @@ -196,27 +188,35 @@ async def begin_create_or_update( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param flux_configuration_name: Name of the Flux Configuration. :type flux_configuration_name: str :param flux_configuration: Properties necessary to Create a FluxConfiguration. - :type flux_configuration: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration + :type flux_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either FluxConfiguration or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] - :raises ~azure.core.exceptions.HttpResponseError: + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] lro_delay = kwargs.pop( 'polling_interval', @@ -231,30 +231,21 @@ async def begin_create_or_update( cluster_name=cluster_name, flux_configuration_name=flux_configuration_name, flux_configuration=flux_configuration, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('FluxConfiguration', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -266,13 +257,14 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore async def _update_initial( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, flux_configuration_name: str, flux_configuration_patch: "_models.FluxConfigurationPatch", @@ -283,42 +275,31 @@ async def _update_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + _json = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') - body_content_kwargs['content'] = body_content - request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) deserialized = self._deserialize('FluxConfiguration', pipeline_response) @@ -326,13 +307,16 @@ async def _update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace_async async def begin_update( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, flux_configuration_name: str, flux_configuration_patch: "_models.FluxConfigurationPatch", @@ -344,27 +328,35 @@ async def begin_update( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param flux_configuration_name: Name of the Flux Configuration. :type flux_configuration_name: str :param flux_configuration_patch: Properties to Patch in an existing Flux Configuration. - :type flux_configuration_patch: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfigurationPatch + :type flux_configuration_patch: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfigurationPatch :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncLROPoller that returns either FluxConfiguration or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] - :raises ~azure.core.exceptions.HttpResponseError: + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] lro_delay = kwargs.pop( 'polling_interval', @@ -379,30 +371,21 @@ async def begin_update( cluster_name=cluster_name, flux_configuration_name=flux_configuration_name, flux_configuration_patch=flux_configuration_patch, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('FluxConfiguration', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -414,13 +397,14 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore async def _delete_initial( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, flux_configuration_name: str, force_delete: Optional[bool] = None, @@ -431,50 +415,40 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if force_delete is not None: - query_parameters['forceDelete'] = self._serialize.query("force_delete", force_delete, 'bool') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, flux_configuration_name: str, force_delete: Optional[bool] = None, @@ -487,10 +461,12 @@ async def begin_delete( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param flux_configuration_name: Name of the Flux Configuration. @@ -500,15 +476,17 @@ async def begin_delete( :type force_delete: bool :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -526,24 +504,14 @@ async def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -555,13 +523,15 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + @distributed_trace def list( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, **kwargs: Any ) -> AsyncIterable["_models.FluxConfigurationsList"]: @@ -571,15 +541,19 @@ def list( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either FluxConfigurationsList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfigurationsList] + :return: An iterator like instance of either FluxConfigurationsList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfigurationsList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfigurationsList"] @@ -587,38 +561,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('FluxConfigurationsList', pipeline_response) + deserialized = self._deserialize("FluxConfigurationsList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -631,12 +604,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_location_extension_types_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_location_extension_types_operations.py index 6962894f914..9b9f60426e2 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_location_extension_types_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_location_extension_types_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._location_extension_types_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, location: str, @@ -52,7 +58,8 @@ def list( :type location: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionTypeList] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionTypeList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] @@ -60,35 +67,31 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'location': self._serialize.url("location", location, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionTypeList', pipeline_response) + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -101,12 +104,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_operation_status_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_operation_status_operations.py index 3f20c7ee86b..24011064962 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_operation_status_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_operation_status_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._operation_status_operations import build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,11 +46,12 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, extension_name: str, operation_id: str, @@ -57,10 +63,12 @@ async def get( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -77,37 +85,27 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - 'operationId': self._serialize.url("operation_id", operation_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('OperationStatusResult', pipeline_response) @@ -116,13 +114,16 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + + @distributed_trace def list( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, **kwargs: Any ) -> AsyncIterable["_models.OperationStatusList"]: @@ -132,15 +133,18 @@ def list( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationStatusList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusList] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] @@ -148,38 +152,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('OperationStatusList', pipeline_response) + deserialized = self._deserialize("OperationStatusList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -192,12 +195,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_operations.py index 6881dde9984..8fce071678e 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, **kwargs: Any @@ -48,8 +54,10 @@ def list( """List all the available operations the KubernetesConfiguration resource provider supports. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperationList] + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] @@ -57,30 +65,27 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ResourceProviderOperationList', pipeline_response) + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -93,12 +98,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_source_control_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_source_control_configurations_operations.py index b1f67c247e3..4c903fd96e6 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_source_control_configurations_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_source_control_configurations_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -43,11 +48,12 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, source_control_configuration_name: str, **kwargs: Any @@ -58,17 +64,20 @@ async def get( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -76,36 +85,26 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) @@ -114,13 +113,16 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, source_control_configuration_name: str, source_control_configuration: "_models.SourceControlConfiguration", @@ -132,19 +134,23 @@ async def create_or_update( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. - :type source_control_configuration: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -152,41 +158,31 @@ async def create_or_update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.create_or_update.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -199,13 +195,15 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + async def _delete_initial( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, source_control_configuration_name: str, **kwargs: Any @@ -215,48 +213,39 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, source_control_configuration_name: str, **kwargs: Any @@ -268,25 +257,29 @@ async def begin_delete( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -303,24 +296,14 @@ async def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -332,13 +315,15 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + @distributed_trace def list( self, resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], cluster_name: str, **kwargs: Any ) -> AsyncIterable["_models.SourceControlConfigurationList"]: @@ -348,15 +333,19 @@ def list( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SourceControlConfigurationList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfigurationList] + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfigurationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] @@ -364,38 +353,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('SourceControlConfigurationList', pipeline_response) + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -408,12 +396,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/__init__.py index bd6cd25837f..32ad88439d1 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/__init__.py @@ -6,105 +6,59 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -try: - from ._models_py3 import BucketDefinition - from ._models_py3 import BucketPatchDefinition - from ._models_py3 import ClusterScopeSettings - from ._models_py3 import ComplianceStatus - from ._models_py3 import DependsOnDefinition - from ._models_py3 import ErrorAdditionalInfo - from ._models_py3 import ErrorDetail - from ._models_py3 import ErrorResponse - from ._models_py3 import Extension - from ._models_py3 import ExtensionPropertiesAksAssignedIdentity - from ._models_py3 import ExtensionStatus - from ._models_py3 import ExtensionType - from ._models_py3 import ExtensionTypeList - from ._models_py3 import ExtensionVersionList - from ._models_py3 import ExtensionVersionListVersionsItem - from ._models_py3 import ExtensionsList - from ._models_py3 import FluxConfiguration - from ._models_py3 import FluxConfigurationPatch - from ._models_py3 import FluxConfigurationsList - from ._models_py3 import GitRepositoryDefinition - from ._models_py3 import GitRepositoryPatchDefinition - from ._models_py3 import HelmOperatorProperties - from ._models_py3 import HelmReleasePropertiesDefinition - from ._models_py3 import Identity - from ._models_py3 import KustomizationDefinition - from ._models_py3 import KustomizationPatchDefinition - from ._models_py3 import ObjectReferenceDefinition - from ._models_py3 import ObjectStatusConditionDefinition - from ._models_py3 import ObjectStatusDefinition - from ._models_py3 import OperationStatusList - from ._models_py3 import OperationStatusResult - from ._models_py3 import PatchExtension - from ._models_py3 import ProxyResource - from ._models_py3 import RepositoryRefDefinition - from ._models_py3 import Resource - from ._models_py3 import ResourceProviderOperation - from ._models_py3 import ResourceProviderOperationDisplay - from ._models_py3 import ResourceProviderOperationList - from ._models_py3 import Scope - from ._models_py3 import ScopeCluster - from ._models_py3 import ScopeNamespace - from ._models_py3 import SourceControlConfiguration - from ._models_py3 import SourceControlConfigurationList - from ._models_py3 import SupportedScopes - from ._models_py3 import SystemData -except (SyntaxError, ImportError): - from ._models import BucketDefinition # type: ignore - from ._models import BucketPatchDefinition # type: ignore - from ._models import ClusterScopeSettings # type: ignore - from ._models import ComplianceStatus # type: ignore - from ._models import DependsOnDefinition # type: ignore - from ._models import ErrorAdditionalInfo # type: ignore - from ._models import ErrorDetail # type: ignore - from ._models import ErrorResponse # type: ignore - from ._models import Extension # type: ignore - from ._models import ExtensionPropertiesAksAssignedIdentity # type: ignore - from ._models import ExtensionStatus # type: ignore - from ._models import ExtensionType # type: ignore - from ._models import ExtensionTypeList # type: ignore - from ._models import ExtensionVersionList # type: ignore - from ._models import ExtensionVersionListVersionsItem # type: ignore - from ._models import ExtensionsList # type: ignore - from ._models import FluxConfiguration # type: ignore - from ._models import FluxConfigurationPatch # type: ignore - from ._models import FluxConfigurationsList # type: ignore - from ._models import GitRepositoryDefinition # type: ignore - from ._models import GitRepositoryPatchDefinition # type: ignore - from ._models import HelmOperatorProperties # type: ignore - from ._models import HelmReleasePropertiesDefinition # type: ignore - from ._models import Identity # type: ignore - from ._models import KustomizationDefinition # type: ignore - from ._models import KustomizationPatchDefinition # type: ignore - from ._models import ObjectReferenceDefinition # type: ignore - from ._models import ObjectStatusConditionDefinition # type: ignore - from ._models import ObjectStatusDefinition # type: ignore - from ._models import OperationStatusList # type: ignore - from ._models import OperationStatusResult # type: ignore - from ._models import PatchExtension # type: ignore - from ._models import ProxyResource # type: ignore - from ._models import RepositoryRefDefinition # type: ignore - from ._models import Resource # type: ignore - from ._models import ResourceProviderOperation # type: ignore - from ._models import ResourceProviderOperationDisplay # type: ignore - from ._models import ResourceProviderOperationList # type: ignore - from ._models import Scope # type: ignore - from ._models import ScopeCluster # type: ignore - from ._models import ScopeNamespace # type: ignore - from ._models import SourceControlConfiguration # type: ignore - from ._models import SourceControlConfigurationList # type: ignore - from ._models import SupportedScopes # type: ignore - from ._models import SystemData # type: ignore +from ._models_py3 import BucketDefinition +from ._models_py3 import BucketPatchDefinition +from ._models_py3 import ClusterScopeSettings +from ._models_py3 import ComplianceStatus +from ._models_py3 import DependsOnDefinition +from ._models_py3 import ErrorAdditionalInfo +from ._models_py3 import ErrorDetail +from ._models_py3 import ErrorResponse +from ._models_py3 import Extension +from ._models_py3 import ExtensionPropertiesAksAssignedIdentity +from ._models_py3 import ExtensionStatus +from ._models_py3 import ExtensionType +from ._models_py3 import ExtensionTypeList +from ._models_py3 import ExtensionVersionList +from ._models_py3 import ExtensionVersionListVersionsItem +from ._models_py3 import ExtensionsList +from ._models_py3 import FluxConfiguration +from ._models_py3 import FluxConfigurationPatch +from ._models_py3 import FluxConfigurationsList +from ._models_py3 import GitRepositoryDefinition +from ._models_py3 import GitRepositoryPatchDefinition +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import HelmReleasePropertiesDefinition +from ._models_py3 import Identity +from ._models_py3 import KustomizationDefinition +from ._models_py3 import KustomizationPatchDefinition +from ._models_py3 import ObjectReferenceDefinition +from ._models_py3 import ObjectStatusConditionDefinition +from ._models_py3 import ObjectStatusDefinition +from ._models_py3 import OperationStatusList +from ._models_py3 import OperationStatusResult +from ._models_py3 import PatchExtension +from ._models_py3 import ProxyResource +from ._models_py3 import RepositoryRefDefinition +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Scope +from ._models_py3 import ScopeCluster +from ._models_py3 import ScopeNamespace +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SupportedScopes +from ._models_py3 import SystemData + from ._source_control_configuration_client_enums import ( ClusterTypes, ComplianceStateType, CreatedByType, - Enum0, - Enum1, + ExtensionsClusterResourceName, + ExtensionsClusterRp, FluxComplianceState, KustomizationValidationType, LevelType, @@ -166,8 +120,8 @@ 'ClusterTypes', 'ComplianceStateType', 'CreatedByType', - 'Enum0', - 'Enum1', + 'ExtensionsClusterResourceName', + 'ExtensionsClusterRp', 'FluxComplianceState', 'KustomizationValidationType', 'LevelType', diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_models.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_models.py deleted file mode 100644 index cf53332d58c..00000000000 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_models.py +++ /dev/null @@ -1,1836 +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 azure.core.exceptions import HttpResponseError -import msrest.serialization - - -class BucketDefinition(msrest.serialization.Model): - """Parameters to reconcile to the GitRepository source kind type. - - :param url: The URL to sync for the flux configuration S3 bucket. - :type url: str - :param bucket_name: The bucket name to sync from the url endpoint for the flux configuration. - :type bucket_name: str - :param insecure: Specify whether to use insecure communication when puling data from the S3 - bucket. - :type insecure: bool - :param timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository - source with the remote. - :type timeout_in_seconds: long - :param sync_interval_in_seconds: The interval at which to re-reconcile the cluster git - repository source with the remote. - :type sync_interval_in_seconds: long - :param access_key: Plaintext access key used to securely access the S3 bucket. - :type access_key: str - :param local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the - authentication secret rather than the managed or user-provided configuration secrets. - :type local_auth_ref: str - """ - - _attribute_map = { - 'url': {'key': 'url', 'type': 'str'}, - 'bucket_name': {'key': 'bucketName', 'type': 'str'}, - 'insecure': {'key': 'insecure', 'type': 'bool'}, - 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, - 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, - 'access_key': {'key': 'accessKey', 'type': 'str'}, - 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(BucketDefinition, self).__init__(**kwargs) - self.url = kwargs.get('url', None) - self.bucket_name = kwargs.get('bucket_name', None) - self.insecure = kwargs.get('insecure', True) - self.timeout_in_seconds = kwargs.get('timeout_in_seconds', 600) - self.sync_interval_in_seconds = kwargs.get('sync_interval_in_seconds', 600) - self.access_key = kwargs.get('access_key', None) - self.local_auth_ref = kwargs.get('local_auth_ref', None) - - -class BucketPatchDefinition(msrest.serialization.Model): - """Parameters to reconcile to the GitRepository source kind type. - - :param url: The URL to sync for the flux configuration S3 bucket. - :type url: str - :param bucket_name: The bucket name to sync from the url endpoint for the flux configuration. - :type bucket_name: str - :param insecure: Specify whether to use insecure communication when puling data from the S3 - bucket. - :type insecure: bool - :param timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository - source with the remote. - :type timeout_in_seconds: long - :param sync_interval_in_seconds: The interval at which to re-reconcile the cluster git - repository source with the remote. - :type sync_interval_in_seconds: long - :param access_key: Plaintext access key used to securely access the S3 bucket. - :type access_key: str - :param local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the - authentication secret rather than the managed or user-provided configuration secrets. - :type local_auth_ref: str - """ - - _attribute_map = { - 'url': {'key': 'url', 'type': 'str'}, - 'bucket_name': {'key': 'bucketName', 'type': 'str'}, - 'insecure': {'key': 'insecure', 'type': 'bool'}, - 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, - 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, - 'access_key': {'key': 'accessKey', 'type': 'str'}, - 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(BucketPatchDefinition, self).__init__(**kwargs) - self.url = kwargs.get('url', None) - self.bucket_name = kwargs.get('bucket_name', None) - self.insecure = kwargs.get('insecure', None) - self.timeout_in_seconds = kwargs.get('timeout_in_seconds', None) - self.sync_interval_in_seconds = kwargs.get('sync_interval_in_seconds', None) - self.access_key = kwargs.get('access_key', None) - self.local_auth_ref = kwargs.get('local_auth_ref', None) - - -class Resource(msrest.serialization.Model): - """Common fields that are returned in the response for all Azure Resource Manager 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. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - - -class ProxyResource(Resource): - """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ProxyResource, self).__init__(**kwargs) - - -class ClusterScopeSettings(ProxyResource): - """Extension scope settings. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :param allow_multiple_instances: Describes if multiple instances of the extension are allowed. - :type allow_multiple_instances: bool - :param default_release_namespace: Default extension release namespace. - :type default_release_namespace: 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'}, - 'allow_multiple_instances': {'key': 'properties.allowMultipleInstances', 'type': 'bool'}, - 'default_release_namespace': {'key': 'properties.defaultReleaseNamespace', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ClusterScopeSettings, self).__init__(**kwargs) - self.allow_multiple_instances = kwargs.get('allow_multiple_instances', None) - self.default_release_namespace = kwargs.get('default_release_namespace', None) - - -class ComplianceStatus(msrest.serialization.Model): - """Compliance Status details. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar compliance_state: The compliance state of the configuration. Possible values include: - "Pending", "Compliant", "Noncompliant", "Installed", "Failed". - :vartype compliance_state: str or - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ComplianceStateType - :param last_config_applied: Datetime the configuration was last applied. - :type last_config_applied: ~datetime.datetime - :param message: Message from when the configuration was applied. - :type message: str - :param message_level: Level of the message. Possible values include: "Error", "Warning", - "Information". - :type message_level: str or - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.MessageLevelType - """ - - _validation = { - 'compliance_state': {'readonly': True}, - } - - _attribute_map = { - 'compliance_state': {'key': 'complianceState', 'type': 'str'}, - 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, - 'message': {'key': 'message', 'type': 'str'}, - 'message_level': {'key': 'messageLevel', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ComplianceStatus, self).__init__(**kwargs) - self.compliance_state = None - self.last_config_applied = kwargs.get('last_config_applied', None) - self.message = kwargs.get('message', None) - self.message_level = kwargs.get('message_level', None) - - -class DependsOnDefinition(msrest.serialization.Model): - """Specify which kustomizations must succeed reconciliation on the cluster prior to reconciling this kustomization. - - :param kustomization_name: Name of the kustomization to claim dependency on. - :type kustomization_name: str - """ - - _attribute_map = { - 'kustomization_name': {'key': 'kustomizationName', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(DependsOnDefinition, self).__init__(**kwargs) - self.kustomization_name = kwargs.get('kustomization_name', None) - - -class ErrorAdditionalInfo(msrest.serialization.Model): - """The resource management error additional info. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar type: The additional info type. - :vartype type: str - :ivar info: The additional info. - :vartype info: any - """ - - _validation = { - 'type': {'readonly': True}, - 'info': {'readonly': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'info': {'key': 'info', 'type': 'object'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorAdditionalInfo, self).__init__(**kwargs) - self.type = None - self.info = None - - -class ErrorDetail(msrest.serialization.Model): - """The error detail. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar code: The error code. - :vartype code: str - :ivar message: The error message. - :vartype message: str - :ivar target: The error target. - :vartype target: str - :ivar details: The error details. - :vartype details: - list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail] - :ivar additional_info: The error additional info. - :vartype additional_info: - list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorAdditionalInfo] - """ - - _validation = { - 'code': {'readonly': True}, - 'message': {'readonly': True}, - 'target': {'readonly': True}, - 'details': {'readonly': True}, - 'additional_info': {'readonly': True}, - } - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ErrorDetail]'}, - 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorDetail, self).__init__(**kwargs) - self.code = None - self.message = None - self.target = None - self.details = None - self.additional_info = None - - -class ErrorResponse(msrest.serialization.Model): - """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). - - :param error: The error object. - :type error: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDetail'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorResponse, self).__init__(**kwargs) - self.error = kwargs.get('error', None) - - -class Extension(ProxyResource): - """The Extension object. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :param identity: Identity of the Extension resource. - :type identity: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Identity - :ivar system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData - :param extension_type: Type of the Extension, of which this resource is an instance of. It - must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the - Extension publisher. - :type extension_type: str - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade - of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific - version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param scope: Scope at which the extension is installed. - :type scope: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Scope - :param configuration_settings: Configuration settings, as name-value pairs for configuring this - extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as - name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] - :ivar provisioning_state: Status of installation of this extension. Possible values include: - "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". - :vartype provisioning_state: str or - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ProvisioningState - :param statuses: Status from this extension. - :type statuses: - list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionStatus] - :ivar error_info: Error information from the Agent - e.g. errors during installation. - :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail - :ivar custom_location_settings: Custom Location settings properties. - :vartype custom_location_settings: dict[str, str] - :ivar package_uri: Uri of the Helm package. - :vartype package_uri: str - :param aks_assigned_identity: Identity of the Extension resource in an AKS cluster. - :type aks_assigned_identity: - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionPropertiesAksAssignedIdentity - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'error_info': {'readonly': True}, - 'custom_location_settings': {'readonly': True}, - 'package_uri': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'Identity'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, - 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, - 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'scope': {'key': 'properties.scope', 'type': 'Scope'}, - 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'statuses': {'key': 'properties.statuses', 'type': '[ExtensionStatus]'}, - 'error_info': {'key': 'properties.errorInfo', 'type': 'ErrorDetail'}, - 'custom_location_settings': {'key': 'properties.customLocationSettings', 'type': '{str}'}, - 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, - 'aks_assigned_identity': {'key': 'properties.aksAssignedIdentity', 'type': 'ExtensionPropertiesAksAssignedIdentity'}, - } - - def __init__( - self, - **kwargs - ): - super(Extension, self).__init__(**kwargs) - self.identity = kwargs.get('identity', None) - self.system_data = None - self.extension_type = kwargs.get('extension_type', None) - self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', True) - self.release_train = kwargs.get('release_train', "Stable") - self.version = kwargs.get('version', None) - self.scope = kwargs.get('scope', None) - self.configuration_settings = kwargs.get('configuration_settings', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - self.provisioning_state = None - self.statuses = kwargs.get('statuses', None) - self.error_info = None - self.custom_location_settings = None - self.package_uri = None - self.aks_assigned_identity = kwargs.get('aks_assigned_identity', None) - - -class ExtensionPropertiesAksAssignedIdentity(msrest.serialization.Model): - """Identity of the Extension resource in an AKS cluster. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar principal_id: The principal ID of resource identity. - :vartype principal_id: str - :ivar tenant_id: The tenant ID of resource. - :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and - "SystemAssigned". The default value is None. - :type type: str - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionPropertiesAksAssignedIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = kwargs.get('type', None) - - -class ExtensionsList(msrest.serialization.Model): - """Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Extensions within a Kubernetes cluster. - :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] - :ivar next_link: URL to get the next set of extension objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Extension]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionsList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class ExtensionStatus(msrest.serialization.Model): - """Status from the extension. - - :param code: Status code provided by the Extension. - :type code: str - :param display_status: Short description of status of the extension. - :type display_status: str - :param level: Level of the status. Possible values include: "Error", "Warning", "Information". - Default value: "Information". - :type level: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.LevelType - :param message: Detailed message of the status from the Extension. - :type message: str - :param time: DateLiteral (per ISO8601) noting the time of installation status. - :type time: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'display_status': {'key': 'displayStatus', 'type': 'str'}, - 'level': {'key': 'level', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'time': {'key': 'time', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionStatus, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.display_status = kwargs.get('display_status', None) - self.level = kwargs.get('level', "Information") - self.message = kwargs.get('message', None) - self.time = kwargs.get('time', None) - - -class ExtensionType(msrest.serialization.Model): - """Represents an Extension Type. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar system_data: Metadata pertaining to creation and last modification of the resource. - :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData - :ivar release_trains: Extension release train: preview or stable. - :vartype release_trains: list[str] - :ivar cluster_types: Cluster types. Possible values include: "connectedClusters", - "managedClusters". - :vartype cluster_types: str or - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ClusterTypes - :ivar supported_scopes: Extension scopes. - :vartype supported_scopes: - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SupportedScopes - """ - - _validation = { - 'system_data': {'readonly': True}, - 'release_trains': {'readonly': True}, - 'cluster_types': {'readonly': True}, - 'supported_scopes': {'readonly': True}, - } - - _attribute_map = { - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'release_trains': {'key': 'properties.releaseTrains', 'type': '[str]'}, - 'cluster_types': {'key': 'properties.clusterTypes', 'type': 'str'}, - 'supported_scopes': {'key': 'properties.supportedScopes', 'type': 'SupportedScopes'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionType, self).__init__(**kwargs) - self.system_data = None - self.release_trains = None - self.cluster_types = None - self.supported_scopes = None - - -class ExtensionTypeList(msrest.serialization.Model): - """List Extension Types. - - :param value: The list of Extension Types. - :type value: list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionType] - :param next_link: The link to fetch the next page of Extension Types. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ExtensionType]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionTypeList, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) - - -class ExtensionVersionList(msrest.serialization.Model): - """List versions for an Extension. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param versions: Versions available for this Extension Type. - :type versions: - list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionVersionListVersionsItem] - :param next_link: The link to fetch the next page of Extension Types. - :type next_link: str - :ivar system_data: Metadata pertaining to creation and last modification of the resource. - :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData - """ - - _validation = { - 'system_data': {'readonly': True}, - } - - _attribute_map = { - 'versions': {'key': 'versions', 'type': '[ExtensionVersionListVersionsItem]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionVersionList, self).__init__(**kwargs) - self.versions = kwargs.get('versions', None) - self.next_link = kwargs.get('next_link', None) - self.system_data = None - - -class ExtensionVersionListVersionsItem(msrest.serialization.Model): - """ExtensionVersionListVersionsItem. - - :param release_train: The release train for this Extension Type. - :type release_train: str - :param versions: Versions available for this Extension Type and release train. - :type versions: list[str] - """ - - _attribute_map = { - 'release_train': {'key': 'releaseTrain', 'type': 'str'}, - 'versions': {'key': 'versions', 'type': '[str]'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionVersionListVersionsItem, self).__init__(**kwargs) - self.release_train = kwargs.get('release_train', None) - self.versions = kwargs.get('versions', None) - - -class FluxConfiguration(ProxyResource): - """The Flux Configuration object returned in Get & Put response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData - :param scope: Scope at which the operator will be installed. Possible values include: - "cluster", "namespace". Default value: "cluster". - :type scope: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeType - :param namespace: The namespace to which this configuration is installed to. Maximum of 253 - lower case alphanumeric characters, hyphen and period only. - :type namespace: str - :param source_kind: Source Kind to pull the configuration data from. Possible values include: - "GitRepository", "Bucket". - :type source_kind: str or - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceKindType - :param suspend: Whether this configuration should suspend its reconciliation of its - kustomizations and sources. - :type suspend: bool - :param git_repository: Parameters to reconcile to the GitRepository source kind type. - :type git_repository: - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.GitRepositoryDefinition - :param bucket: Parameters to reconcile to the Bucket source kind type. - :type bucket: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.BucketDefinition - :param kustomizations: Array of kustomizations used to reconcile the artifact pulled by the - source type on the cluster. - :type kustomizations: dict[str, - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.KustomizationDefinition] - :param configuration_protected_settings: Key-value pairs of protected configuration settings - for the configuration. - :type configuration_protected_settings: dict[str, str] - :ivar statuses: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or - created by the managed objects provisioned by the fluxConfiguration. - :vartype statuses: - list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectStatusDefinition] - :ivar repository_public_key: Public Key associated with this fluxConfiguration (either - generated within the cluster or provided by the user). - :vartype repository_public_key: str - :ivar last_source_updated_commit_id: Branch and SHA of the last source commit synced with the - cluster. - :vartype last_source_updated_commit_id: str - :ivar last_source_updated_at: Datetime the fluxConfiguration last synced its source on the - cluster. - :vartype last_source_updated_at: ~datetime.datetime - :ivar compliance_state: Combined status of the Flux Kubernetes resources created by the - fluxConfiguration or created by the managed objects. Possible values include: "Compliant", - "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". - :vartype compliance_state: str or - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxComplianceState - :ivar provisioning_state: Status of the creation of the fluxConfiguration. Possible values - include: "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". - :vartype provisioning_state: str or - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ProvisioningState - :ivar error_message: Error message returned to the user in the case of provisioning failure. - :vartype error_message: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - 'statuses': {'readonly': True}, - 'repository_public_key': {'readonly': True}, - 'last_source_updated_commit_id': {'readonly': True}, - 'last_source_updated_at': {'readonly': True}, - 'compliance_state': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'error_message': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'scope': {'key': 'properties.scope', 'type': 'str'}, - 'namespace': {'key': 'properties.namespace', 'type': 'str'}, - 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, - 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, - 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryDefinition'}, - 'bucket': {'key': 'properties.bucket', 'type': 'BucketDefinition'}, - 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationDefinition}'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - 'statuses': {'key': 'properties.statuses', 'type': '[ObjectStatusDefinition]'}, - 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, - 'last_source_updated_commit_id': {'key': 'properties.lastSourceUpdatedCommitId', 'type': 'str'}, - 'last_source_updated_at': {'key': 'properties.lastSourceUpdatedAt', 'type': 'iso-8601'}, - 'compliance_state': {'key': 'properties.complianceState', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(FluxConfiguration, self).__init__(**kwargs) - self.system_data = None - self.scope = kwargs.get('scope', "cluster") - self.namespace = kwargs.get('namespace', "default") - self.source_kind = kwargs.get('source_kind', None) - self.suspend = kwargs.get('suspend', False) - self.git_repository = kwargs.get('git_repository', None) - self.bucket = kwargs.get('bucket', None) - self.kustomizations = kwargs.get('kustomizations', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - self.statuses = None - self.repository_public_key = None - self.last_source_updated_commit_id = None - self.last_source_updated_at = None - self.compliance_state = None - self.provisioning_state = None - self.error_message = None - - -class FluxConfigurationPatch(msrest.serialization.Model): - """The Flux Configuration Patch Request object. - - :param source_kind: Source Kind to pull the configuration data from. Possible values include: - "GitRepository", "Bucket". - :type source_kind: str or - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceKindType - :param suspend: Whether this configuration should suspend its reconciliation of its - kustomizations and sources. - :type suspend: bool - :param git_repository: Parameters to reconcile to the GitRepository source kind type. - :type git_repository: - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.GitRepositoryPatchDefinition - :param bucket: Parameters to reconcile to the Bucket source kind type. - :type bucket: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.BucketDefinition - :param kustomizations: Array of kustomizations used to reconcile the artifact pulled by the - source type on the cluster. - :type kustomizations: dict[str, - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.KustomizationPatchDefinition] - :param configuration_protected_settings: Key-value pairs of protected configuration settings - for the configuration. - :type configuration_protected_settings: dict[str, str] - """ - - _attribute_map = { - 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, - 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, - 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryPatchDefinition'}, - 'bucket': {'key': 'properties.bucket', 'type': 'BucketDefinition'}, - 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationPatchDefinition}'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - } - - def __init__( - self, - **kwargs - ): - super(FluxConfigurationPatch, self).__init__(**kwargs) - self.source_kind = kwargs.get('source_kind', None) - self.suspend = kwargs.get('suspend', None) - self.git_repository = kwargs.get('git_repository', None) - self.bucket = kwargs.get('bucket', None) - self.kustomizations = kwargs.get('kustomizations', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - - -class FluxConfigurationsList(msrest.serialization.Model): - """Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Flux Configurations within a Kubernetes cluster. - :vartype value: - list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] - :ivar next_link: URL to get the next set of configuration objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[FluxConfiguration]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(FluxConfigurationsList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class GitRepositoryDefinition(msrest.serialization.Model): - """Parameters to reconcile to the GitRepository source kind type. - - :param url: The URL to sync for the flux configuration git repository. - :type url: str - :param timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository - source with the remote. - :type timeout_in_seconds: long - :param sync_interval_in_seconds: The interval at which to re-reconcile the cluster git - repository source with the remote. - :type sync_interval_in_seconds: long - :param repository_ref: The source reference for the GitRepository object. - :type repository_ref: - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.RepositoryRefDefinition - :param ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to - access private git repositories over SSH. - :type ssh_known_hosts: str - :param https_user: Plaintext HTTPS username used to access private git repositories over HTTPS. - :type https_user: str - :param https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git - private git repositories over HTTPS. - :type https_ca_cert: str - :param local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the - authentication secret rather than the managed or user-provided configuration secrets. - :type local_auth_ref: str - """ - - _attribute_map = { - 'url': {'key': 'url', 'type': 'str'}, - 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, - 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, - 'repository_ref': {'key': 'repositoryRef', 'type': 'RepositoryRefDefinition'}, - 'ssh_known_hosts': {'key': 'sshKnownHosts', 'type': 'str'}, - 'https_user': {'key': 'httpsUser', 'type': 'str'}, - 'https_ca_cert': {'key': 'httpsCACert', 'type': 'str'}, - 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(GitRepositoryDefinition, self).__init__(**kwargs) - self.url = kwargs.get('url', None) - self.timeout_in_seconds = kwargs.get('timeout_in_seconds', 600) - self.sync_interval_in_seconds = kwargs.get('sync_interval_in_seconds', 600) - self.repository_ref = kwargs.get('repository_ref', None) - self.ssh_known_hosts = kwargs.get('ssh_known_hosts', None) - self.https_user = kwargs.get('https_user', None) - self.https_ca_cert = kwargs.get('https_ca_cert', None) - self.local_auth_ref = kwargs.get('local_auth_ref', None) - - -class GitRepositoryPatchDefinition(msrest.serialization.Model): - """Parameters to reconcile to the GitRepository source kind type. - - :param url: The URL to sync for the flux configuration git repository. - :type url: str - :param timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository - source with the remote. - :type timeout_in_seconds: long - :param sync_interval_in_seconds: The interval at which to re-reconcile the cluster git - repository source with the remote. - :type sync_interval_in_seconds: long - :param repository_ref: The source reference for the GitRepository object. - :type repository_ref: - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.RepositoryRefDefinition - :param ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to - access private git repositories over SSH. - :type ssh_known_hosts: str - :param https_user: Plaintext HTTPS username used to access private git repositories over HTTPS. - :type https_user: str - :param https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git - private git repositories over HTTPS. - :type https_ca_cert: str - :param local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the - authentication secret rather than the managed or user-provided configuration secrets. - :type local_auth_ref: str - """ - - _attribute_map = { - 'url': {'key': 'url', 'type': 'str'}, - 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, - 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, - 'repository_ref': {'key': 'repositoryRef', 'type': 'RepositoryRefDefinition'}, - 'ssh_known_hosts': {'key': 'sshKnownHosts', 'type': 'str'}, - 'https_user': {'key': 'httpsUser', 'type': 'str'}, - 'https_ca_cert': {'key': 'httpsCACert', 'type': 'str'}, - 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(GitRepositoryPatchDefinition, self).__init__(**kwargs) - self.url = kwargs.get('url', None) - self.timeout_in_seconds = kwargs.get('timeout_in_seconds', None) - self.sync_interval_in_seconds = kwargs.get('sync_interval_in_seconds', None) - self.repository_ref = kwargs.get('repository_ref', None) - self.ssh_known_hosts = kwargs.get('ssh_known_hosts', None) - self.https_user = kwargs.get('https_user', None) - self.https_ca_cert = kwargs.get('https_ca_cert', None) - self.local_auth_ref = kwargs.get('local_auth_ref', None) - - -class HelmOperatorProperties(msrest.serialization.Model): - """Properties for Helm operator. - - :param chart_version: Version of the operator Helm chart. - :type chart_version: str - :param chart_values: Values override for the operator Helm chart. - :type chart_values: str - """ - - _attribute_map = { - 'chart_version': {'key': 'chartVersion', 'type': 'str'}, - 'chart_values': {'key': 'chartValues', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(HelmOperatorProperties, self).__init__(**kwargs) - self.chart_version = kwargs.get('chart_version', None) - self.chart_values = kwargs.get('chart_values', None) - - -class HelmReleasePropertiesDefinition(msrest.serialization.Model): - """HelmReleasePropertiesDefinition. - - :param last_revision_applied: The revision number of the last released object change. - :type last_revision_applied: long - :param helm_chart_ref: The reference to the HelmChart object used as the source to this - HelmRelease. - :type helm_chart_ref: - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectReferenceDefinition - :param failure_count: Total number of times that the HelmRelease failed to install or upgrade. - :type failure_count: long - :param install_failure_count: Number of times that the HelmRelease failed to install. - :type install_failure_count: long - :param upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. - :type upgrade_failure_count: long - """ - - _attribute_map = { - 'last_revision_applied': {'key': 'lastRevisionApplied', 'type': 'long'}, - 'helm_chart_ref': {'key': 'helmChartRef', 'type': 'ObjectReferenceDefinition'}, - 'failure_count': {'key': 'failureCount', 'type': 'long'}, - 'install_failure_count': {'key': 'installFailureCount', 'type': 'long'}, - 'upgrade_failure_count': {'key': 'upgradeFailureCount', 'type': 'long'}, - } - - def __init__( - self, - **kwargs - ): - super(HelmReleasePropertiesDefinition, self).__init__(**kwargs) - self.last_revision_applied = kwargs.get('last_revision_applied', None) - self.helm_chart_ref = kwargs.get('helm_chart_ref', None) - self.failure_count = kwargs.get('failure_count', None) - self.install_failure_count = kwargs.get('install_failure_count', None) - self.upgrade_failure_count = kwargs.get('upgrade_failure_count', None) - - -class Identity(msrest.serialization.Model): - """Identity for the resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar principal_id: The principal ID of resource identity. - :vartype principal_id: str - :ivar tenant_id: The tenant ID of resource. - :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and - "SystemAssigned". The default value is None. - :type type: str - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Identity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = kwargs.get('type', None) - - -class KustomizationDefinition(msrest.serialization.Model): - """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. - - :param path: The path in the source reference to reconcile on the cluster. - :type path: str - :param depends_on: Specifies other Kustomizations that this Kustomization depends on. This - Kustomization will not reconcile until all dependencies have completed their reconciliation. - :type depends_on: - list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.DependsOnDefinition] - :param timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the - cluster. - :type timeout_in_seconds: long - :param sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the - cluster. - :type sync_interval_in_seconds: long - :param retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on - the cluster in the event of failure on reconciliation. - :type retry_interval_in_seconds: long - :param prune: Enable/disable garbage collections of Kubernetes objects created by this - Kustomization. - :type prune: bool - :param force: Enable/disable re-creating Kubernetes resources on the cluster when patching - fails due to an immutable field change. - :type force: bool - """ - - _attribute_map = { - 'path': {'key': 'path', 'type': 'str'}, - 'depends_on': {'key': 'dependsOn', 'type': '[DependsOnDefinition]'}, - 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, - 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, - 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, - 'prune': {'key': 'prune', 'type': 'bool'}, - 'force': {'key': 'force', 'type': 'bool'}, - } - - def __init__( - self, - **kwargs - ): - super(KustomizationDefinition, self).__init__(**kwargs) - self.path = kwargs.get('path', "") - self.depends_on = kwargs.get('depends_on', None) - self.timeout_in_seconds = kwargs.get('timeout_in_seconds', 600) - self.sync_interval_in_seconds = kwargs.get('sync_interval_in_seconds', 600) - self.retry_interval_in_seconds = kwargs.get('retry_interval_in_seconds', None) - self.prune = kwargs.get('prune', False) - self.force = kwargs.get('force', False) - - -class KustomizationPatchDefinition(msrest.serialization.Model): - """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. - - :param path: The path in the source reference to reconcile on the cluster. - :type path: str - :param depends_on: Specifies other Kustomizations that this Kustomization depends on. This - Kustomization will not reconcile until all dependencies have completed their reconciliation. - :type depends_on: - list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.DependsOnDefinition] - :param timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the - cluster. - :type timeout_in_seconds: long - :param sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the - cluster. - :type sync_interval_in_seconds: long - :param retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on - the cluster in the event of failure on reconciliation. - :type retry_interval_in_seconds: long - :param prune: Enable/disable garbage collections of Kubernetes objects created by this - Kustomization. - :type prune: bool - :param force: Enable/disable re-creating Kubernetes resources on the cluster when patching - fails due to an immutable field change. - :type force: bool - """ - - _attribute_map = { - 'path': {'key': 'path', 'type': 'str'}, - 'depends_on': {'key': 'dependsOn', 'type': '[DependsOnDefinition]'}, - 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, - 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, - 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, - 'prune': {'key': 'prune', 'type': 'bool'}, - 'force': {'key': 'force', 'type': 'bool'}, - } - - def __init__( - self, - **kwargs - ): - super(KustomizationPatchDefinition, self).__init__(**kwargs) - self.path = kwargs.get('path', None) - self.depends_on = kwargs.get('depends_on', None) - self.timeout_in_seconds = kwargs.get('timeout_in_seconds', None) - self.sync_interval_in_seconds = kwargs.get('sync_interval_in_seconds', None) - self.retry_interval_in_seconds = kwargs.get('retry_interval_in_seconds', None) - self.prune = kwargs.get('prune', None) - self.force = kwargs.get('force', None) - - -class ObjectReferenceDefinition(msrest.serialization.Model): - """Object reference to a Kubernetes object on a cluster. - - :param name: Name of the object. - :type name: str - :param namespace: Namespace of the object. - :type namespace: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'namespace': {'key': 'namespace', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ObjectReferenceDefinition, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.namespace = kwargs.get('namespace', None) - - -class ObjectStatusConditionDefinition(msrest.serialization.Model): - """Status condition of Kubernetes object. - - :param last_transition_time: Last time this status condition has changed. - :type last_transition_time: ~datetime.datetime - :param message: A more verbose description of the object status condition. - :type message: str - :param reason: Reason for the specified status condition type status. - :type reason: str - :param status: Status of the Kubernetes object condition type. - :type status: str - :param type: Object status condition type for this object. - :type type: str - """ - - _attribute_map = { - 'last_transition_time': {'key': 'lastTransitionTime', 'type': 'iso-8601'}, - 'message': {'key': 'message', 'type': 'str'}, - 'reason': {'key': 'reason', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ObjectStatusConditionDefinition, self).__init__(**kwargs) - self.last_transition_time = kwargs.get('last_transition_time', None) - self.message = kwargs.get('message', None) - self.reason = kwargs.get('reason', None) - self.status = kwargs.get('status', None) - self.type = kwargs.get('type', None) - - -class ObjectStatusDefinition(msrest.serialization.Model): - """Statuses of objects deployed by the user-specified kustomizations from the git repository. - - :param name: Name of the applied object. - :type name: str - :param namespace: Namespace of the applied object. - :type namespace: str - :param kind: Kind of the applied object. - :type kind: str - :param compliance_state: Compliance state of the applied object showing whether the applied - object has come into a ready state on the cluster. Possible values include: "Compliant", - "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". - :type compliance_state: str or - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxComplianceState - :param applied_by: Object reference to the Kustomization that applied this object. - :type applied_by: - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectReferenceDefinition - :param status_conditions: List of Kubernetes object status conditions present on the cluster. - :type status_conditions: - list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectStatusConditionDefinition] - :param helm_release_properties: Additional properties that are provided from objects of the - HelmRelease kind. - :type helm_release_properties: - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.HelmReleasePropertiesDefinition - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'namespace': {'key': 'namespace', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'compliance_state': {'key': 'complianceState', 'type': 'str'}, - 'applied_by': {'key': 'appliedBy', 'type': 'ObjectReferenceDefinition'}, - 'status_conditions': {'key': 'statusConditions', 'type': '[ObjectStatusConditionDefinition]'}, - 'helm_release_properties': {'key': 'helmReleaseProperties', 'type': 'HelmReleasePropertiesDefinition'}, - } - - def __init__( - self, - **kwargs - ): - super(ObjectStatusDefinition, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.namespace = kwargs.get('namespace', None) - self.kind = kwargs.get('kind', None) - self.compliance_state = kwargs.get('compliance_state', "Unknown") - self.applied_by = kwargs.get('applied_by', None) - self.status_conditions = kwargs.get('status_conditions', None) - self.helm_release_properties = kwargs.get('helm_release_properties', None) - - -class OperationStatusList(msrest.serialization.Model): - """The async operations in progress, in the cluster. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of async operations in progress, in the cluster. - :vartype value: - list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusResult] - :ivar next_link: URL to get the next set of Operation Result objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[OperationStatusResult]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationStatusList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class OperationStatusResult(msrest.serialization.Model): - """The current status of an async operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Fully qualified ID for the async operation. - :type id: str - :param name: Name of the async operation. - :type name: str - :param status: Required. Operation status. - :type status: str - :param properties: Additional information, if available. - :type properties: dict[str, str] - :ivar error: If present, details of the operation error. - :vartype error: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail - """ - - _validation = { - 'status': {'required': True}, - 'error': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': '{str}'}, - 'error': {'key': 'error', 'type': 'ErrorDetail'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationStatusResult, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = kwargs.get('name', None) - self.status = kwargs['status'] - self.properties = kwargs.get('properties', None) - self.error = None - - -class PatchExtension(msrest.serialization.Model): - """The Extension Patch Request object. - - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade - of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific - version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param configuration_settings: Configuration settings, as name-value pairs for configuring this - extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as - name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] - """ - - _attribute_map = { - 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, - 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - } - - def __init__( - self, - **kwargs - ): - super(PatchExtension, self).__init__(**kwargs) - self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', True) - self.release_train = kwargs.get('release_train', "Stable") - self.version = kwargs.get('version', None) - self.configuration_settings = kwargs.get('configuration_settings', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - - -class RepositoryRefDefinition(msrest.serialization.Model): - """The source reference for the GitRepository object. - - :param branch: The git repository branch name to checkout. - :type branch: str - :param tag: The git repository tag name to checkout. This takes precedence over branch. - :type tag: str - :param semver: The semver range used to match against git repository tags. This takes - precedence over tag. - :type semver: str - :param commit: The commit SHA to checkout. This value must be combined with the branch name to - be valid. This takes precedence over semver. - :type commit: str - """ - - _attribute_map = { - 'branch': {'key': 'branch', 'type': 'str'}, - 'tag': {'key': 'tag', 'type': 'str'}, - 'semver': {'key': 'semver', 'type': 'str'}, - 'commit': {'key': 'commit', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(RepositoryRefDefinition, self).__init__(**kwargs) - self.branch = kwargs.get('branch', None) - self.tag = kwargs.get('tag', None) - self.semver = kwargs.get('semver', None) - self.commit = kwargs.get('commit', None) - - -class ResourceProviderOperation(msrest.serialization.Model): - """Supported operation of this resource provider. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param name: Operation name, in format of {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperationDisplay - :ivar is_data_action: The flag that indicates whether the operation applies to data plane. - :vartype is_data_action: bool - :ivar origin: Origin of the operation. - :vartype origin: str - """ - - _validation = { - 'is_data_action': {'readonly': True}, - 'origin': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, - 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, - 'origin': {'key': 'origin', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceProviderOperation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display = kwargs.get('display', None) - self.is_data_action = None - self.origin = None - - -class ResourceProviderOperationDisplay(msrest.serialization.Model): - """Display metadata associated with the operation. - - :param provider: Resource provider: Microsoft KubernetesConfiguration. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :param description: Description of this 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) - - -class ResourceProviderOperationList(msrest.serialization.Model): - """Result of the request to list operations. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: List of operations supported by this resource provider. - :type value: - list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperation] - :ivar next_link: URL to the next set of results, if any. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceProviderOperationList, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class Scope(msrest.serialization.Model): - """Scope of the extension. It can be either Cluster or Namespace; but not both. - - :param cluster: Specifies that the scope of the extension is Cluster. - :type cluster: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeCluster - :param namespace: Specifies that the scope of the extension is Namespace. - :type namespace: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeNamespace - """ - - _attribute_map = { - 'cluster': {'key': 'cluster', 'type': 'ScopeCluster'}, - 'namespace': {'key': 'namespace', 'type': 'ScopeNamespace'}, - } - - def __init__( - self, - **kwargs - ): - super(Scope, self).__init__(**kwargs) - self.cluster = kwargs.get('cluster', None) - self.namespace = kwargs.get('namespace', None) - - -class ScopeCluster(msrest.serialization.Model): - """Specifies that the scope of the extension is Cluster. - - :param release_namespace: Namespace where the extension Release must be placed, for a Cluster - scoped extension. If this namespace does not exist, it will be created. - :type release_namespace: str - """ - - _attribute_map = { - 'release_namespace': {'key': 'releaseNamespace', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ScopeCluster, self).__init__(**kwargs) - self.release_namespace = kwargs.get('release_namespace', None) - - -class ScopeNamespace(msrest.serialization.Model): - """Specifies that the scope of the extension is Namespace. - - :param target_namespace: Namespace where the extension will be created for an Namespace scoped - extension. If this namespace does not exist, it will be created. - :type target_namespace: str - """ - - _attribute_map = { - 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ScopeNamespace, self).__init__(**kwargs) - self.target_namespace = kwargs.get('target_namespace', None) - - -class SourceControlConfiguration(ProxyResource): - """The SourceControl Configuration object returned in Get & Put response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData - :param repository_url: Url of the SourceControl Repository. - :type repository_url: str - :param operator_namespace: The namespace to which this operator is installed to. Maximum of 253 - lower case alphanumeric characters, hyphen and period only. - :type operator_namespace: str - :param operator_instance_name: Instance name of the operator - identifying the specific - configuration. - :type operator_instance_name: str - :param operator_type: Type of the operator. Possible values include: "Flux". - :type operator_type: str or - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperatorType - :param operator_params: Any Parameters for the Operator instance in string format. - :type operator_params: str - :param configuration_protected_settings: Name-value pairs of protected configuration settings - for the configuration. - :type configuration_protected_settings: dict[str, str] - :param operator_scope: Scope at which the operator will be installed. Possible values include: - "cluster", "namespace". Default value: "cluster". - :type operator_scope: str or - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperatorScopeType - :ivar repository_public_key: Public Key associated with this SourceControl configuration - (either generated within the cluster or provided by the user). - :vartype repository_public_key: str - :param ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys - required to access private Git instances. - :type ssh_known_hosts_contents: str - :param enable_helm_operator: Option to enable Helm Operator for this git configuration. - :type enable_helm_operator: bool - :param helm_operator_properties: Properties for Helm operator. - :type helm_operator_properties: - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.HelmOperatorProperties - :ivar provisioning_state: The provisioning state of the resource provider. Possible values - include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ProvisioningStateType - :ivar compliance_status: Compliance Status of the Configuration. - :vartype compliance_status: - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ComplianceStatus - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - 'repository_public_key': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'compliance_status': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, - 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, - 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, - 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, - 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, - 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, - 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, - 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, - 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, - } - - def __init__( - self, - **kwargs - ): - super(SourceControlConfiguration, self).__init__(**kwargs) - self.system_data = None - self.repository_url = kwargs.get('repository_url', None) - self.operator_namespace = kwargs.get('operator_namespace', "default") - self.operator_instance_name = kwargs.get('operator_instance_name', None) - self.operator_type = kwargs.get('operator_type', None) - self.operator_params = kwargs.get('operator_params', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - self.operator_scope = kwargs.get('operator_scope', "cluster") - self.repository_public_key = None - self.ssh_known_hosts_contents = kwargs.get('ssh_known_hosts_contents', None) - self.enable_helm_operator = kwargs.get('enable_helm_operator', None) - self.helm_operator_properties = kwargs.get('helm_operator_properties', None) - self.provisioning_state = None - self.compliance_status = None - - -class SourceControlConfigurationList(msrest.serialization.Model): - """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Source Control Configurations within a Kubernetes cluster. - :vartype value: - list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration] - :ivar next_link: URL to get the next set of configuration objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SourceControlConfigurationList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class SupportedScopes(msrest.serialization.Model): - """Extension scopes. - - :param default_scope: Default extension scopes: cluster or namespace. - :type default_scope: str - :param cluster_scope_settings: Scope settings. - :type cluster_scope_settings: - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ClusterScopeSettings - """ - - _attribute_map = { - 'default_scope': {'key': 'defaultScope', 'type': 'str'}, - 'cluster_scope_settings': {'key': 'clusterScopeSettings', 'type': 'ClusterScopeSettings'}, - } - - def __init__( - self, - **kwargs - ): - super(SupportedScopes, self).__init__(**kwargs) - self.default_scope = kwargs.get('default_scope', None) - self.cluster_scope_settings = kwargs.get('cluster_scope_settings', None) - - -class SystemData(msrest.serialization.Model): - """Metadata pertaining to creation and last modification of the resource. - - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. Possible values - include: "User", "Application", "ManagedIdentity", "Key". - :type created_by_type: str or - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: ~datetime.datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the resource. Possible - values include: "User", "Application", "ManagedIdentity", "Key". - :type last_modified_by_type: str or - ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime - """ - - _attribute_map = { - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'created_by_type': {'key': 'createdByType', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - } - - def __init__( - self, - **kwargs - ): - super(SystemData, self).__init__(**kwargs) - self.created_by = kwargs.get('created_by', None) - self.created_by_type = kwargs.get('created_by_type', None) - self.created_at = kwargs.get('created_at', None) - self.last_modified_by = kwargs.get('last_modified_by', None) - self.last_modified_by_type = kwargs.get('last_modified_by_type', None) - self.last_modified_at = kwargs.get('last_modified_at', None) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_models_py3.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_models_py3.py index 23eef7e57d6..97d3533d40d 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_models_py3.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_models_py3.py @@ -18,24 +18,24 @@ class BucketDefinition(msrest.serialization.Model): """Parameters to reconcile to the GitRepository source kind type. - :param url: The URL to sync for the flux configuration S3 bucket. - :type url: str - :param bucket_name: The bucket name to sync from the url endpoint for the flux configuration. - :type bucket_name: str - :param insecure: Specify whether to use insecure communication when puling data from the S3 + :ivar url: The URL to sync for the flux configuration S3 bucket. + :vartype url: str + :ivar bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :vartype bucket_name: str + :ivar insecure: Specify whether to use insecure communication when puling data from the S3 bucket. - :type insecure: bool - :param timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + :vartype insecure: bool + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository source with the remote. - :type timeout_in_seconds: long - :param sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git repository source with the remote. - :type sync_interval_in_seconds: long - :param access_key: Plaintext access key used to securely access the S3 bucket. - :type access_key: str - :param local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + :vartype sync_interval_in_seconds: long + :ivar access_key: Plaintext access key used to securely access the S3 bucket. + :vartype access_key: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. - :type local_auth_ref: str + :vartype local_auth_ref: str """ _attribute_map = { @@ -60,6 +60,26 @@ def __init__( local_auth_ref: Optional[str] = None, **kwargs ): + """ + :keyword url: The URL to sync for the flux configuration S3 bucket. + :paramtype url: str + :keyword bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :paramtype bucket_name: str + :keyword insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :paramtype insecure: bool + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword access_key: Plaintext access key used to securely access the S3 bucket. + :paramtype access_key: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ super(BucketDefinition, self).__init__(**kwargs) self.url = url self.bucket_name = bucket_name @@ -73,24 +93,24 @@ def __init__( class BucketPatchDefinition(msrest.serialization.Model): """Parameters to reconcile to the GitRepository source kind type. - :param url: The URL to sync for the flux configuration S3 bucket. - :type url: str - :param bucket_name: The bucket name to sync from the url endpoint for the flux configuration. - :type bucket_name: str - :param insecure: Specify whether to use insecure communication when puling data from the S3 + :ivar url: The URL to sync for the flux configuration S3 bucket. + :vartype url: str + :ivar bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :vartype bucket_name: str + :ivar insecure: Specify whether to use insecure communication when puling data from the S3 bucket. - :type insecure: bool - :param timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + :vartype insecure: bool + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository source with the remote. - :type timeout_in_seconds: long - :param sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git repository source with the remote. - :type sync_interval_in_seconds: long - :param access_key: Plaintext access key used to securely access the S3 bucket. - :type access_key: str - :param local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + :vartype sync_interval_in_seconds: long + :ivar access_key: Plaintext access key used to securely access the S3 bucket. + :vartype access_key: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. - :type local_auth_ref: str + :vartype local_auth_ref: str """ _attribute_map = { @@ -115,6 +135,26 @@ def __init__( local_auth_ref: Optional[str] = None, **kwargs ): + """ + :keyword url: The URL to sync for the flux configuration S3 bucket. + :paramtype url: str + :keyword bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :paramtype bucket_name: str + :keyword insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :paramtype insecure: bool + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword access_key: Plaintext access key used to securely access the S3 bucket. + :paramtype access_key: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ super(BucketPatchDefinition, self).__init__(**kwargs) self.url = url self.bucket_name = bucket_name @@ -156,6 +196,8 @@ def __init__( self, **kwargs ): + """ + """ super(Resource, self).__init__(**kwargs) self.id = None self.name = None @@ -193,6 +235,8 @@ def __init__( self, **kwargs ): + """ + """ super(ProxyResource, self).__init__(**kwargs) @@ -209,10 +253,10 @@ class ClusterScopeSettings(ProxyResource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :param allow_multiple_instances: Describes if multiple instances of the extension are allowed. - :type allow_multiple_instances: bool - :param default_release_namespace: Default extension release namespace. - :type default_release_namespace: str + :ivar allow_multiple_instances: Describes if multiple instances of the extension are allowed. + :vartype allow_multiple_instances: bool + :ivar default_release_namespace: Default extension release namespace. + :vartype default_release_namespace: str """ _validation = { @@ -236,6 +280,13 @@ def __init__( default_release_namespace: Optional[str] = None, **kwargs ): + """ + :keyword allow_multiple_instances: Describes if multiple instances of the extension are + allowed. + :paramtype allow_multiple_instances: bool + :keyword default_release_namespace: Default extension release namespace. + :paramtype default_release_namespace: str + """ super(ClusterScopeSettings, self).__init__(**kwargs) self.allow_multiple_instances = allow_multiple_instances self.default_release_namespace = default_release_namespace @@ -250,13 +301,13 @@ class ComplianceStatus(msrest.serialization.Model): "Pending", "Compliant", "Noncompliant", "Installed", "Failed". :vartype compliance_state: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ComplianceStateType - :param last_config_applied: Datetime the configuration was last applied. - :type last_config_applied: ~datetime.datetime - :param message: Message from when the configuration was applied. - :type message: str - :param message_level: Level of the message. Possible values include: "Error", "Warning", + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", "Information". - :type message_level: str or + :vartype message_level: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.MessageLevelType """ @@ -279,6 +330,16 @@ def __init__( message_level: Optional[Union[str, "MessageLevelType"]] = None, **kwargs ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.MessageLevelType + """ super(ComplianceStatus, self).__init__(**kwargs) self.compliance_state = None self.last_config_applied = last_config_applied @@ -289,8 +350,8 @@ def __init__( class DependsOnDefinition(msrest.serialization.Model): """Specify which kustomizations must succeed reconciliation on the cluster prior to reconciling this kustomization. - :param kustomization_name: Name of the kustomization to claim dependency on. - :type kustomization_name: str + :ivar kustomization_name: Name of the kustomization to claim dependency on. + :vartype kustomization_name: str """ _attribute_map = { @@ -303,6 +364,10 @@ def __init__( kustomization_name: Optional[str] = None, **kwargs ): + """ + :keyword kustomization_name: Name of the kustomization to claim dependency on. + :paramtype kustomization_name: str + """ super(DependsOnDefinition, self).__init__(**kwargs) self.kustomization_name = kustomization_name @@ -332,6 +397,8 @@ def __init__( self, **kwargs ): + """ + """ super(ErrorAdditionalInfo, self).__init__(**kwargs) self.type = None self.info = None @@ -376,6 +443,8 @@ def __init__( self, **kwargs ): + """ + """ super(ErrorDetail, self).__init__(**kwargs) self.code = None self.message = None @@ -387,8 +456,8 @@ def __init__( class ErrorResponse(msrest.serialization.Model): """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). - :param error: The error object. - :type error: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail + :ivar error: The error object. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail """ _attribute_map = { @@ -401,6 +470,10 @@ def __init__( error: Optional["ErrorDetail"] = None, **kwargs ): + """ + :keyword error: The error object. + :paramtype error: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail + """ super(ErrorResponse, self).__init__(**kwargs) self.error = error @@ -418,38 +491,38 @@ class Extension(ProxyResource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :param identity: Identity of the Extension resource. - :type identity: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Identity + :ivar identity: Identity of the Extension resource. + :vartype identity: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Identity :ivar system_data: Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData - :param extension_type: Type of the Extension, of which this resource is an instance of. It - must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + :ivar extension_type: Type of the Extension, of which this resource is an instance of. It must + be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher. - :type extension_type: str - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + :vartype extension_type: str + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param scope: Scope at which the extension is installed. - :type scope: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Scope - :param configuration_settings: Configuration settings, as name-value pairs for configuring this + :vartype version: str + :ivar scope: Scope at which the extension is installed. + :vartype scope: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Scope + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] + :vartype configuration_protected_settings: dict[str, str] :ivar provisioning_state: Status of installation of this extension. Possible values include: "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". :vartype provisioning_state: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ProvisioningState - :param statuses: Status from this extension. - :type statuses: + :ivar statuses: Status from this extension. + :vartype statuses: list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionStatus] :ivar error_info: Error information from the Agent - e.g. errors during installation. :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail @@ -457,8 +530,8 @@ class Extension(ProxyResource): :vartype custom_location_settings: dict[str, str] :ivar package_uri: Uri of the Helm package. :vartype package_uri: str - :param aks_assigned_identity: Identity of the Extension resource in an AKS cluster. - :type aks_assigned_identity: + :ivar aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :vartype aks_assigned_identity: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionPropertiesAksAssignedIdentity """ @@ -509,6 +582,37 @@ def __init__( aks_assigned_identity: Optional["ExtensionPropertiesAksAssignedIdentity"] = None, **kwargs ): + """ + :keyword identity: Identity of the Extension resource. + :paramtype identity: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Identity + :keyword extension_type: Type of the Extension, of which this resource is an instance of. It + must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :paramtype extension_type: str + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword scope: Scope at which the extension is installed. + :paramtype scope: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Scope + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + :keyword statuses: Status from this extension. + :paramtype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionStatus] + :keyword aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :paramtype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionPropertiesAksAssignedIdentity + """ super(Extension, self).__init__(**kwargs) self.identity = identity self.system_data = None @@ -536,9 +640,9 @@ class ExtensionPropertiesAksAssignedIdentity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant ID of resource. :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and + :ivar type: The identity type. The only acceptable values to pass in are None and "SystemAssigned". The default value is None. - :type type: str + :vartype type: str """ _validation = { @@ -558,6 +662,11 @@ def __init__( type: Optional[str] = None, **kwargs ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ super(ExtensionPropertiesAksAssignedIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None @@ -589,6 +698,8 @@ def __init__( self, **kwargs ): + """ + """ super(ExtensionsList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -597,17 +708,17 @@ def __init__( class ExtensionStatus(msrest.serialization.Model): """Status from the extension. - :param code: Status code provided by the Extension. - :type code: str - :param display_status: Short description of status of the extension. - :type display_status: str - :param level: Level of the status. Possible values include: "Error", "Warning", "Information". + :ivar code: Status code provided by the Extension. + :vartype code: str + :ivar display_status: Short description of status of the extension. + :vartype display_status: str + :ivar level: Level of the status. Possible values include: "Error", "Warning", "Information". Default value: "Information". - :type level: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.LevelType - :param message: Detailed message of the status from the Extension. - :type message: str - :param time: DateLiteral (per ISO8601) noting the time of installation status. - :type time: str + :vartype level: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.LevelType + :ivar message: Detailed message of the status from the Extension. + :vartype message: str + :ivar time: DateLiteral (per ISO8601) noting the time of installation status. + :vartype time: str """ _attribute_map = { @@ -628,6 +739,20 @@ def __init__( time: Optional[str] = None, **kwargs ): + """ + :keyword code: Status code provided by the Extension. + :paramtype code: str + :keyword display_status: Short description of status of the extension. + :paramtype display_status: str + :keyword level: Level of the status. Possible values include: "Error", "Warning", + "Information". Default value: "Information". + :paramtype level: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.LevelType + :keyword message: Detailed message of the status from the Extension. + :paramtype message: str + :keyword time: DateLiteral (per ISO8601) noting the time of installation status. + :paramtype time: str + """ super(ExtensionStatus, self).__init__(**kwargs) self.code = code self.display_status = display_status @@ -672,6 +797,8 @@ def __init__( self, **kwargs ): + """ + """ super(ExtensionType, self).__init__(**kwargs) self.system_data = None self.release_trains = None @@ -682,10 +809,11 @@ def __init__( class ExtensionTypeList(msrest.serialization.Model): """List Extension Types. - :param value: The list of Extension Types. - :type value: list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionType] - :param next_link: The link to fetch the next page of Extension Types. - :type next_link: str + :ivar value: The list of Extension Types. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionType] + :ivar next_link: The link to fetch the next page of Extension Types. + :vartype next_link: str """ _attribute_map = { @@ -700,6 +828,13 @@ def __init__( next_link: Optional[str] = None, **kwargs ): + """ + :keyword value: The list of Extension Types. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionType] + :keyword next_link: The link to fetch the next page of Extension Types. + :paramtype next_link: str + """ super(ExtensionTypeList, self).__init__(**kwargs) self.value = value self.next_link = next_link @@ -710,11 +845,11 @@ class ExtensionVersionList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param versions: Versions available for this Extension Type. - :type versions: + :ivar versions: Versions available for this Extension Type. + :vartype versions: list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionVersionListVersionsItem] - :param next_link: The link to fetch the next page of Extension Types. - :type next_link: str + :ivar next_link: The link to fetch the next page of Extension Types. + :vartype next_link: str :ivar system_data: Metadata pertaining to creation and last modification of the resource. :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData """ @@ -736,6 +871,13 @@ def __init__( next_link: Optional[str] = None, **kwargs ): + """ + :keyword versions: Versions available for this Extension Type. + :paramtype versions: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionVersionListVersionsItem] + :keyword next_link: The link to fetch the next page of Extension Types. + :paramtype next_link: str + """ super(ExtensionVersionList, self).__init__(**kwargs) self.versions = versions self.next_link = next_link @@ -745,10 +887,10 @@ def __init__( class ExtensionVersionListVersionsItem(msrest.serialization.Model): """ExtensionVersionListVersionsItem. - :param release_train: The release train for this Extension Type. - :type release_train: str - :param versions: Versions available for this Extension Type and release train. - :type versions: list[str] + :ivar release_train: The release train for this Extension Type. + :vartype release_train: str + :ivar versions: Versions available for this Extension Type and release train. + :vartype versions: list[str] """ _attribute_map = { @@ -763,6 +905,12 @@ def __init__( versions: Optional[List[str]] = None, **kwargs ): + """ + :keyword release_train: The release train for this Extension Type. + :paramtype release_train: str + :keyword versions: Versions available for this Extension Type and release train. + :paramtype versions: list[str] + """ super(ExtensionVersionListVersionsItem, self).__init__(**kwargs) self.release_train = release_train self.versions = versions @@ -784,31 +932,32 @@ class FluxConfiguration(ProxyResource): :ivar system_data: Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData - :param scope: Scope at which the operator will be installed. Possible values include: - "cluster", "namespace". Default value: "cluster". - :type scope: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeType - :param namespace: The namespace to which this configuration is installed to. Maximum of 253 + :ivar scope: Scope at which the operator will be installed. Possible values include: "cluster", + "namespace". Default value: "cluster". + :vartype scope: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeType + :ivar namespace: The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only. - :type namespace: str - :param source_kind: Source Kind to pull the configuration data from. Possible values include: + :vartype namespace: str + :ivar source_kind: Source Kind to pull the configuration data from. Possible values include: "GitRepository", "Bucket". - :type source_kind: str or + :vartype source_kind: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceKindType - :param suspend: Whether this configuration should suspend its reconciliation of its + :ivar suspend: Whether this configuration should suspend its reconciliation of its kustomizations and sources. - :type suspend: bool - :param git_repository: Parameters to reconcile to the GitRepository source kind type. - :type git_repository: + :vartype suspend: bool + :ivar git_repository: Parameters to reconcile to the GitRepository source kind type. + :vartype git_repository: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.GitRepositoryDefinition - :param bucket: Parameters to reconcile to the Bucket source kind type. - :type bucket: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.BucketDefinition - :param kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + :ivar bucket: Parameters to reconcile to the Bucket source kind type. + :vartype bucket: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.BucketDefinition + :ivar kustomizations: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster. - :type kustomizations: dict[str, + :vartype kustomizations: dict[str, ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.KustomizationDefinition] - :param configuration_protected_settings: Key-value pairs of protected configuration settings - for the configuration. - :type configuration_protected_settings: dict[str, str] + :ivar configuration_protected_settings: Key-value pairs of protected configuration settings for + the configuration. + :vartype configuration_protected_settings: dict[str, str] :ivar statuses: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects provisioned by the fluxConfiguration. :vartype statuses: @@ -884,6 +1033,35 @@ def __init__( configuration_protected_settings: Optional[Dict[str, str]] = None, **kwargs ): + """ + :keyword scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :paramtype scope: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeType + :keyword namespace: The namespace to which this configuration is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :paramtype namespace: str + :keyword source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :paramtype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceKindType + :keyword suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :paramtype suspend: bool + :keyword git_repository: Parameters to reconcile to the GitRepository source kind type. + :paramtype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.GitRepositoryDefinition + :keyword bucket: Parameters to reconcile to the Bucket source kind type. + :paramtype bucket: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.BucketDefinition + :keyword kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :paramtype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.KustomizationDefinition] + :keyword configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + """ super(FluxConfiguration, self).__init__(**kwargs) self.system_data = None self.scope = scope @@ -906,25 +1084,26 @@ def __init__( class FluxConfigurationPatch(msrest.serialization.Model): """The Flux Configuration Patch Request object. - :param source_kind: Source Kind to pull the configuration data from. Possible values include: + :ivar source_kind: Source Kind to pull the configuration data from. Possible values include: "GitRepository", "Bucket". - :type source_kind: str or + :vartype source_kind: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceKindType - :param suspend: Whether this configuration should suspend its reconciliation of its + :ivar suspend: Whether this configuration should suspend its reconciliation of its kustomizations and sources. - :type suspend: bool - :param git_repository: Parameters to reconcile to the GitRepository source kind type. - :type git_repository: + :vartype suspend: bool + :ivar git_repository: Parameters to reconcile to the GitRepository source kind type. + :vartype git_repository: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.GitRepositoryPatchDefinition - :param bucket: Parameters to reconcile to the Bucket source kind type. - :type bucket: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.BucketDefinition - :param kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + :ivar bucket: Parameters to reconcile to the Bucket source kind type. + :vartype bucket: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.BucketDefinition + :ivar kustomizations: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster. - :type kustomizations: dict[str, + :vartype kustomizations: dict[str, ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.KustomizationPatchDefinition] - :param configuration_protected_settings: Key-value pairs of protected configuration settings - for the configuration. - :type configuration_protected_settings: dict[str, str] + :ivar configuration_protected_settings: Key-value pairs of protected configuration settings for + the configuration. + :vartype configuration_protected_settings: dict[str, str] """ _attribute_map = { @@ -947,6 +1126,28 @@ def __init__( configuration_protected_settings: Optional[Dict[str, str]] = None, **kwargs ): + """ + :keyword source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :paramtype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceKindType + :keyword suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :paramtype suspend: bool + :keyword git_repository: Parameters to reconcile to the GitRepository source kind type. + :paramtype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.GitRepositoryPatchDefinition + :keyword bucket: Parameters to reconcile to the Bucket source kind type. + :paramtype bucket: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.BucketDefinition + :keyword kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :paramtype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.KustomizationPatchDefinition] + :keyword configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + """ super(FluxConfigurationPatch, self).__init__(**kwargs) self.source_kind = source_kind self.suspend = suspend @@ -982,6 +1183,8 @@ def __init__( self, **kwargs ): + """ + """ super(FluxConfigurationsList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -990,28 +1193,28 @@ def __init__( class GitRepositoryDefinition(msrest.serialization.Model): """Parameters to reconcile to the GitRepository source kind type. - :param url: The URL to sync for the flux configuration git repository. - :type url: str - :param timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + :ivar url: The URL to sync for the flux configuration git repository. + :vartype url: str + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository source with the remote. - :type timeout_in_seconds: long - :param sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git repository source with the remote. - :type sync_interval_in_seconds: long - :param repository_ref: The source reference for the GitRepository object. - :type repository_ref: + :vartype sync_interval_in_seconds: long + :ivar repository_ref: The source reference for the GitRepository object. + :vartype repository_ref: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.RepositoryRefDefinition - :param ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to + :ivar ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH. - :type ssh_known_hosts: str - :param https_user: Plaintext HTTPS username used to access private git repositories over HTTPS. - :type https_user: str - :param https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + :vartype ssh_known_hosts: str + :ivar https_user: Plaintext HTTPS username used to access private git repositories over HTTPS. + :vartype https_user: str + :ivar https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS. - :type https_ca_cert: str - :param local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + :vartype https_ca_cert: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. - :type local_auth_ref: str + :vartype local_auth_ref: str """ _attribute_map = { @@ -1038,6 +1241,31 @@ def __init__( local_auth_ref: Optional[str] = None, **kwargs ): + """ + :keyword url: The URL to sync for the flux configuration git repository. + :paramtype url: str + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword repository_ref: The source reference for the GitRepository object. + :paramtype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.RepositoryRefDefinition + :keyword ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required + to access private git repositories over SSH. + :paramtype ssh_known_hosts: str + :keyword https_user: Plaintext HTTPS username used to access private git repositories over + HTTPS. + :paramtype https_user: str + :keyword https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :paramtype https_ca_cert: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ super(GitRepositoryDefinition, self).__init__(**kwargs) self.url = url self.timeout_in_seconds = timeout_in_seconds @@ -1052,28 +1280,28 @@ def __init__( class GitRepositoryPatchDefinition(msrest.serialization.Model): """Parameters to reconcile to the GitRepository source kind type. - :param url: The URL to sync for the flux configuration git repository. - :type url: str - :param timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + :ivar url: The URL to sync for the flux configuration git repository. + :vartype url: str + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository source with the remote. - :type timeout_in_seconds: long - :param sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git repository source with the remote. - :type sync_interval_in_seconds: long - :param repository_ref: The source reference for the GitRepository object. - :type repository_ref: + :vartype sync_interval_in_seconds: long + :ivar repository_ref: The source reference for the GitRepository object. + :vartype repository_ref: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.RepositoryRefDefinition - :param ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to + :ivar ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH. - :type ssh_known_hosts: str - :param https_user: Plaintext HTTPS username used to access private git repositories over HTTPS. - :type https_user: str - :param https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + :vartype ssh_known_hosts: str + :ivar https_user: Plaintext HTTPS username used to access private git repositories over HTTPS. + :vartype https_user: str + :ivar https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS. - :type https_ca_cert: str - :param local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + :vartype https_ca_cert: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. - :type local_auth_ref: str + :vartype local_auth_ref: str """ _attribute_map = { @@ -1100,6 +1328,31 @@ def __init__( local_auth_ref: Optional[str] = None, **kwargs ): + """ + :keyword url: The URL to sync for the flux configuration git repository. + :paramtype url: str + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword repository_ref: The source reference for the GitRepository object. + :paramtype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.RepositoryRefDefinition + :keyword ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required + to access private git repositories over SSH. + :paramtype ssh_known_hosts: str + :keyword https_user: Plaintext HTTPS username used to access private git repositories over + HTTPS. + :paramtype https_user: str + :keyword https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :paramtype https_ca_cert: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ super(GitRepositoryPatchDefinition, self).__init__(**kwargs) self.url = url self.timeout_in_seconds = timeout_in_seconds @@ -1114,10 +1367,10 @@ def __init__( class HelmOperatorProperties(msrest.serialization.Model): """Properties for Helm operator. - :param chart_version: Version of the operator Helm chart. - :type chart_version: str - :param chart_values: Values override for the operator Helm chart. - :type chart_values: str + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str """ _attribute_map = { @@ -1132,6 +1385,12 @@ def __init__( chart_values: Optional[str] = None, **kwargs ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ super(HelmOperatorProperties, self).__init__(**kwargs) self.chart_version = chart_version self.chart_values = chart_values @@ -1140,18 +1399,18 @@ def __init__( class HelmReleasePropertiesDefinition(msrest.serialization.Model): """HelmReleasePropertiesDefinition. - :param last_revision_applied: The revision number of the last released object change. - :type last_revision_applied: long - :param helm_chart_ref: The reference to the HelmChart object used as the source to this + :ivar last_revision_applied: The revision number of the last released object change. + :vartype last_revision_applied: long + :ivar helm_chart_ref: The reference to the HelmChart object used as the source to this HelmRelease. - :type helm_chart_ref: + :vartype helm_chart_ref: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectReferenceDefinition - :param failure_count: Total number of times that the HelmRelease failed to install or upgrade. - :type failure_count: long - :param install_failure_count: Number of times that the HelmRelease failed to install. - :type install_failure_count: long - :param upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. - :type upgrade_failure_count: long + :ivar failure_count: Total number of times that the HelmRelease failed to install or upgrade. + :vartype failure_count: long + :ivar install_failure_count: Number of times that the HelmRelease failed to install. + :vartype install_failure_count: long + :ivar upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. + :vartype upgrade_failure_count: long """ _attribute_map = { @@ -1172,6 +1431,21 @@ def __init__( upgrade_failure_count: Optional[int] = None, **kwargs ): + """ + :keyword last_revision_applied: The revision number of the last released object change. + :paramtype last_revision_applied: long + :keyword helm_chart_ref: The reference to the HelmChart object used as the source to this + HelmRelease. + :paramtype helm_chart_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectReferenceDefinition + :keyword failure_count: Total number of times that the HelmRelease failed to install or + upgrade. + :paramtype failure_count: long + :keyword install_failure_count: Number of times that the HelmRelease failed to install. + :paramtype install_failure_count: long + :keyword upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. + :paramtype upgrade_failure_count: long + """ super(HelmReleasePropertiesDefinition, self).__init__(**kwargs) self.last_revision_applied = last_revision_applied self.helm_chart_ref = helm_chart_ref @@ -1189,9 +1463,9 @@ class Identity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant ID of resource. :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and + :ivar type: The identity type. The only acceptable values to pass in are None and "SystemAssigned". The default value is None. - :type type: str + :vartype type: str """ _validation = { @@ -1211,6 +1485,11 @@ def __init__( type: Optional[str] = None, **kwargs ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ super(Identity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None @@ -1220,27 +1499,27 @@ def __init__( class KustomizationDefinition(msrest.serialization.Model): """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. - :param path: The path in the source reference to reconcile on the cluster. - :type path: str - :param depends_on: Specifies other Kustomizations that this Kustomization depends on. This + :ivar path: The path in the source reference to reconcile on the cluster. + :vartype path: str + :ivar depends_on: Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile until all dependencies have completed their reconciliation. - :type depends_on: + :vartype depends_on: list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.DependsOnDefinition] - :param timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the cluster. - :type timeout_in_seconds: long - :param sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the cluster. - :type sync_interval_in_seconds: long - :param retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on - the cluster in the event of failure on reconciliation. - :type retry_interval_in_seconds: long - :param prune: Enable/disable garbage collections of Kubernetes objects created by this + :vartype sync_interval_in_seconds: long + :ivar retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster in the event of failure on reconciliation. + :vartype retry_interval_in_seconds: long + :ivar prune: Enable/disable garbage collections of Kubernetes objects created by this Kustomization. - :type prune: bool - :param force: Enable/disable re-creating Kubernetes resources on the cluster when patching - fails due to an immutable field change. - :type force: bool + :vartype prune: bool + :ivar force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails + due to an immutable field change. + :vartype force: bool """ _attribute_map = { @@ -1265,6 +1544,29 @@ def __init__( force: Optional[bool] = False, **kwargs ): + """ + :keyword path: The path in the source reference to reconcile on the cluster. + :paramtype path: str + :keyword depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :paramtype depends_on: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.DependsOnDefinition] + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster. + :paramtype sync_interval_in_seconds: long + :keyword retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster in the event of failure on reconciliation. + :paramtype retry_interval_in_seconds: long + :keyword prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :paramtype prune: bool + :keyword force: Enable/disable re-creating Kubernetes resources on the cluster when patching + fails due to an immutable field change. + :paramtype force: bool + """ super(KustomizationDefinition, self).__init__(**kwargs) self.path = path self.depends_on = depends_on @@ -1278,27 +1580,27 @@ def __init__( class KustomizationPatchDefinition(msrest.serialization.Model): """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. - :param path: The path in the source reference to reconcile on the cluster. - :type path: str - :param depends_on: Specifies other Kustomizations that this Kustomization depends on. This + :ivar path: The path in the source reference to reconcile on the cluster. + :vartype path: str + :ivar depends_on: Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile until all dependencies have completed their reconciliation. - :type depends_on: + :vartype depends_on: list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.DependsOnDefinition] - :param timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the cluster. - :type timeout_in_seconds: long - :param sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the cluster. - :type sync_interval_in_seconds: long - :param retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on - the cluster in the event of failure on reconciliation. - :type retry_interval_in_seconds: long - :param prune: Enable/disable garbage collections of Kubernetes objects created by this + :vartype sync_interval_in_seconds: long + :ivar retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster in the event of failure on reconciliation. + :vartype retry_interval_in_seconds: long + :ivar prune: Enable/disable garbage collections of Kubernetes objects created by this Kustomization. - :type prune: bool - :param force: Enable/disable re-creating Kubernetes resources on the cluster when patching - fails due to an immutable field change. - :type force: bool + :vartype prune: bool + :ivar force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails + due to an immutable field change. + :vartype force: bool """ _attribute_map = { @@ -1323,6 +1625,29 @@ def __init__( force: Optional[bool] = None, **kwargs ): + """ + :keyword path: The path in the source reference to reconcile on the cluster. + :paramtype path: str + :keyword depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :paramtype depends_on: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.DependsOnDefinition] + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster. + :paramtype sync_interval_in_seconds: long + :keyword retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster in the event of failure on reconciliation. + :paramtype retry_interval_in_seconds: long + :keyword prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :paramtype prune: bool + :keyword force: Enable/disable re-creating Kubernetes resources on the cluster when patching + fails due to an immutable field change. + :paramtype force: bool + """ super(KustomizationPatchDefinition, self).__init__(**kwargs) self.path = path self.depends_on = depends_on @@ -1336,10 +1661,10 @@ def __init__( class ObjectReferenceDefinition(msrest.serialization.Model): """Object reference to a Kubernetes object on a cluster. - :param name: Name of the object. - :type name: str - :param namespace: Namespace of the object. - :type namespace: str + :ivar name: Name of the object. + :vartype name: str + :ivar namespace: Namespace of the object. + :vartype namespace: str """ _attribute_map = { @@ -1354,6 +1679,12 @@ def __init__( namespace: Optional[str] = None, **kwargs ): + """ + :keyword name: Name of the object. + :paramtype name: str + :keyword namespace: Namespace of the object. + :paramtype namespace: str + """ super(ObjectReferenceDefinition, self).__init__(**kwargs) self.name = name self.namespace = namespace @@ -1362,16 +1693,16 @@ def __init__( class ObjectStatusConditionDefinition(msrest.serialization.Model): """Status condition of Kubernetes object. - :param last_transition_time: Last time this status condition has changed. - :type last_transition_time: ~datetime.datetime - :param message: A more verbose description of the object status condition. - :type message: str - :param reason: Reason for the specified status condition type status. - :type reason: str - :param status: Status of the Kubernetes object condition type. - :type status: str - :param type: Object status condition type for this object. - :type type: str + :ivar last_transition_time: Last time this status condition has changed. + :vartype last_transition_time: ~datetime.datetime + :ivar message: A more verbose description of the object status condition. + :vartype message: str + :ivar reason: Reason for the specified status condition type status. + :vartype reason: str + :ivar status: Status of the Kubernetes object condition type. + :vartype status: str + :ivar type: Object status condition type for this object. + :vartype type: str """ _attribute_map = { @@ -1392,6 +1723,18 @@ def __init__( type: Optional[str] = None, **kwargs ): + """ + :keyword last_transition_time: Last time this status condition has changed. + :paramtype last_transition_time: ~datetime.datetime + :keyword message: A more verbose description of the object status condition. + :paramtype message: str + :keyword reason: Reason for the specified status condition type status. + :paramtype reason: str + :keyword status: Status of the Kubernetes object condition type. + :paramtype status: str + :keyword type: Object status condition type for this object. + :paramtype type: str + """ super(ObjectStatusConditionDefinition, self).__init__(**kwargs) self.last_transition_time = last_transition_time self.message = message @@ -1403,26 +1746,26 @@ def __init__( class ObjectStatusDefinition(msrest.serialization.Model): """Statuses of objects deployed by the user-specified kustomizations from the git repository. - :param name: Name of the applied object. - :type name: str - :param namespace: Namespace of the applied object. - :type namespace: str - :param kind: Kind of the applied object. - :type kind: str - :param compliance_state: Compliance state of the applied object showing whether the applied + :ivar name: Name of the applied object. + :vartype name: str + :ivar namespace: Namespace of the applied object. + :vartype namespace: str + :ivar kind: Kind of the applied object. + :vartype kind: str + :ivar compliance_state: Compliance state of the applied object showing whether the applied object has come into a ready state on the cluster. Possible values include: "Compliant", "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". - :type compliance_state: str or + :vartype compliance_state: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxComplianceState - :param applied_by: Object reference to the Kustomization that applied this object. - :type applied_by: + :ivar applied_by: Object reference to the Kustomization that applied this object. + :vartype applied_by: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectReferenceDefinition - :param status_conditions: List of Kubernetes object status conditions present on the cluster. - :type status_conditions: + :ivar status_conditions: List of Kubernetes object status conditions present on the cluster. + :vartype status_conditions: list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectStatusConditionDefinition] - :param helm_release_properties: Additional properties that are provided from objects of the + :ivar helm_release_properties: Additional properties that are provided from objects of the HelmRelease kind. - :type helm_release_properties: + :vartype helm_release_properties: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.HelmReleasePropertiesDefinition """ @@ -1448,6 +1791,29 @@ def __init__( helm_release_properties: Optional["HelmReleasePropertiesDefinition"] = None, **kwargs ): + """ + :keyword name: Name of the applied object. + :paramtype name: str + :keyword namespace: Namespace of the applied object. + :paramtype namespace: str + :keyword kind: Kind of the applied object. + :paramtype kind: str + :keyword compliance_state: Compliance state of the applied object showing whether the applied + object has come into a ready state on the cluster. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :paramtype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxComplianceState + :keyword applied_by: Object reference to the Kustomization that applied this object. + :paramtype applied_by: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectReferenceDefinition + :keyword status_conditions: List of Kubernetes object status conditions present on the cluster. + :paramtype status_conditions: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectStatusConditionDefinition] + :keyword helm_release_properties: Additional properties that are provided from objects of the + HelmRelease kind. + :paramtype helm_release_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.HelmReleasePropertiesDefinition + """ super(ObjectStatusDefinition, self).__init__(**kwargs) self.name = name self.namespace = namespace @@ -1484,6 +1850,8 @@ def __init__( self, **kwargs ): + """ + """ super(OperationStatusList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -1496,14 +1864,14 @@ class OperationStatusResult(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Fully qualified ID for the async operation. - :type id: str - :param name: Name of the async operation. - :type name: str - :param status: Required. Operation status. - :type status: str - :param properties: Additional information, if available. - :type properties: dict[str, str] + :ivar id: Fully qualified ID for the async operation. + :vartype id: str + :ivar name: Name of the async operation. + :vartype name: str + :ivar status: Required. Operation status. + :vartype status: str + :ivar properties: Additional information, if available. + :vartype properties: dict[str, str] :ivar error: If present, details of the operation error. :vartype error: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail """ @@ -1530,6 +1898,16 @@ def __init__( properties: Optional[Dict[str, str]] = None, **kwargs ): + """ + :keyword id: Fully qualified ID for the async operation. + :paramtype id: str + :keyword name: Name of the async operation. + :paramtype name: str + :keyword status: Required. Operation status. + :paramtype status: str + :keyword properties: Additional information, if available. + :paramtype properties: dict[str, str] + """ super(OperationStatusResult, self).__init__(**kwargs) self.id = id self.name = name @@ -1541,21 +1919,21 @@ def __init__( class PatchExtension(msrest.serialization.Model): """The Extension Patch Request object. - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param configuration_settings: Configuration settings, as name-value pairs for configuring this + :vartype version: str + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] + :vartype configuration_protected_settings: dict[str, str] """ _attribute_map = { @@ -1576,6 +1954,23 @@ def __init__( configuration_protected_settings: Optional[Dict[str, str]] = None, **kwargs ): + """ + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + """ super(PatchExtension, self).__init__(**kwargs) self.auto_upgrade_minor_version = auto_upgrade_minor_version self.release_train = release_train @@ -1587,16 +1982,16 @@ def __init__( class RepositoryRefDefinition(msrest.serialization.Model): """The source reference for the GitRepository object. - :param branch: The git repository branch name to checkout. - :type branch: str - :param tag: The git repository tag name to checkout. This takes precedence over branch. - :type tag: str - :param semver: The semver range used to match against git repository tags. This takes - precedence over tag. - :type semver: str - :param commit: The commit SHA to checkout. This value must be combined with the branch name to + :ivar branch: The git repository branch name to checkout. + :vartype branch: str + :ivar tag: The git repository tag name to checkout. This takes precedence over branch. + :vartype tag: str + :ivar semver: The semver range used to match against git repository tags. This takes precedence + over tag. + :vartype semver: str + :ivar commit: The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence over semver. - :type commit: str + :vartype commit: str """ _attribute_map = { @@ -1615,6 +2010,18 @@ def __init__( commit: Optional[str] = None, **kwargs ): + """ + :keyword branch: The git repository branch name to checkout. + :paramtype branch: str + :keyword tag: The git repository tag name to checkout. This takes precedence over branch. + :paramtype tag: str + :keyword semver: The semver range used to match against git repository tags. This takes + precedence over tag. + :paramtype semver: str + :keyword commit: The commit SHA to checkout. This value must be combined with the branch name + to be valid. This takes precedence over semver. + :paramtype commit: str + """ super(RepositoryRefDefinition, self).__init__(**kwargs) self.branch = branch self.tag = tag @@ -1627,10 +2034,10 @@ class ResourceProviderOperation(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param name: Operation name, in format of {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperationDisplay :ivar is_data_action: The flag that indicates whether the operation applies to data plane. :vartype is_data_action: bool @@ -1657,6 +2064,13 @@ def __init__( display: Optional["ResourceProviderOperationDisplay"] = None, **kwargs ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperationDisplay + """ super(ResourceProviderOperation, self).__init__(**kwargs) self.name = name self.display = display @@ -1667,14 +2081,14 @@ def __init__( class ResourceProviderOperationDisplay(msrest.serialization.Model): """Display metadata associated with the operation. - :param provider: Resource provider: Microsoft KubernetesConfiguration. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :param description: Description of this operation. - :type description: str + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype description: str """ _attribute_map = { @@ -1693,6 +2107,16 @@ def __init__( description: Optional[str] = None, **kwargs ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ super(ResourceProviderOperationDisplay, self).__init__(**kwargs) self.provider = provider self.resource = resource @@ -1705,8 +2129,8 @@ class ResourceProviderOperationList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param value: List of operations supported by this resource provider. - :type value: + :ivar value: List of operations supported by this resource provider. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperation] :ivar next_link: URL to the next set of results, if any. :vartype next_link: str @@ -1727,6 +2151,11 @@ def __init__( value: Optional[List["ResourceProviderOperation"]] = None, **kwargs ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperation] + """ super(ResourceProviderOperationList, self).__init__(**kwargs) self.value = value self.next_link = None @@ -1735,10 +2164,11 @@ def __init__( class Scope(msrest.serialization.Model): """Scope of the extension. It can be either Cluster or Namespace; but not both. - :param cluster: Specifies that the scope of the extension is Cluster. - :type cluster: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeCluster - :param namespace: Specifies that the scope of the extension is Namespace. - :type namespace: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeNamespace + :ivar cluster: Specifies that the scope of the extension is Cluster. + :vartype cluster: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeCluster + :ivar namespace: Specifies that the scope of the extension is Namespace. + :vartype namespace: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeNamespace """ _attribute_map = { @@ -1753,6 +2183,13 @@ def __init__( namespace: Optional["ScopeNamespace"] = None, **kwargs ): + """ + :keyword cluster: Specifies that the scope of the extension is Cluster. + :paramtype cluster: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeCluster + :keyword namespace: Specifies that the scope of the extension is Namespace. + :paramtype namespace: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeNamespace + """ super(Scope, self).__init__(**kwargs) self.cluster = cluster self.namespace = namespace @@ -1761,9 +2198,9 @@ def __init__( class ScopeCluster(msrest.serialization.Model): """Specifies that the scope of the extension is Cluster. - :param release_namespace: Namespace where the extension Release must be placed, for a Cluster + :ivar release_namespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this namespace does not exist, it will be created. - :type release_namespace: str + :vartype release_namespace: str """ _attribute_map = { @@ -1776,6 +2213,11 @@ def __init__( release_namespace: Optional[str] = None, **kwargs ): + """ + :keyword release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :paramtype release_namespace: str + """ super(ScopeCluster, self).__init__(**kwargs) self.release_namespace = release_namespace @@ -1783,9 +2225,9 @@ def __init__( class ScopeNamespace(msrest.serialization.Model): """Specifies that the scope of the extension is Namespace. - :param target_namespace: Namespace where the extension will be created for an Namespace scoped + :ivar target_namespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace does not exist, it will be created. - :type target_namespace: str + :vartype target_namespace: str """ _attribute_map = { @@ -1798,6 +2240,11 @@ def __init__( target_namespace: Optional[str] = None, **kwargs ): + """ + :keyword target_namespace: Namespace where the extension will be created for an Namespace + scoped extension. If this namespace does not exist, it will be created. + :paramtype target_namespace: str + """ super(ScopeNamespace, self).__init__(**kwargs) self.target_namespace = target_namespace @@ -1818,36 +2265,36 @@ class SourceControlConfiguration(ProxyResource): :ivar system_data: Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData - :param repository_url: Url of the SourceControl Repository. - :type repository_url: str - :param operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only. - :type operator_namespace: str - :param operator_instance_name: Instance name of the operator - identifying the specific + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific configuration. - :type operator_instance_name: str - :param operator_type: Type of the operator. Possible values include: "Flux". - :type operator_type: str or + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperatorType - :param operator_params: Any Parameters for the Operator instance in string format. - :type operator_params: str - :param configuration_protected_settings: Name-value pairs of protected configuration settings + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings for the configuration. - :type configuration_protected_settings: dict[str, str] - :param operator_scope: Scope at which the operator will be installed. Possible values include: + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: "cluster", "namespace". Default value: "cluster". - :type operator_scope: str or + :vartype operator_scope: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperatorScopeType :ivar repository_public_key: Public Key associated with this SourceControl configuration (either generated within the cluster or provided by the user). :vartype repository_public_key: str - :param ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys required to access private Git instances. - :type ssh_known_hosts_contents: str - :param enable_helm_operator: Option to enable Helm Operator for this git configuration. - :type enable_helm_operator: bool - :param helm_operator_properties: Properties for Helm operator. - :type helm_operator_properties: + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.HelmOperatorProperties :ivar provisioning_state: The provisioning state of the resource provider. Possible values include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". @@ -1903,6 +2350,36 @@ def __init__( helm_operator_properties: Optional["HelmOperatorProperties"] = None, **kwargs ): + """ + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.HelmOperatorProperties + """ super(SourceControlConfiguration, self).__init__(**kwargs) self.system_data = None self.repository_url = repository_url @@ -1946,6 +2423,8 @@ def __init__( self, **kwargs ): + """ + """ super(SourceControlConfigurationList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -1954,10 +2433,10 @@ def __init__( class SupportedScopes(msrest.serialization.Model): """Extension scopes. - :param default_scope: Default extension scopes: cluster or namespace. - :type default_scope: str - :param cluster_scope_settings: Scope settings. - :type cluster_scope_settings: + :ivar default_scope: Default extension scopes: cluster or namespace. + :vartype default_scope: str + :ivar cluster_scope_settings: Scope settings. + :vartype cluster_scope_settings: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ClusterScopeSettings """ @@ -1973,6 +2452,13 @@ def __init__( cluster_scope_settings: Optional["ClusterScopeSettings"] = None, **kwargs ): + """ + :keyword default_scope: Default extension scopes: cluster or namespace. + :paramtype default_scope: str + :keyword cluster_scope_settings: Scope settings. + :paramtype cluster_scope_settings: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ClusterScopeSettings + """ super(SupportedScopes, self).__init__(**kwargs) self.default_scope = default_scope self.cluster_scope_settings = cluster_scope_settings @@ -1981,22 +2467,22 @@ def __init__( class SystemData(msrest.serialization.Model): """Metadata pertaining to creation and last modification of the resource. - :param created_by: The identity that created the resource. - :type created_by: str - :param created_by_type: The type of identity that created the resource. Possible values - include: "User", "Application", "ManagedIdentity", "Key". - :type created_by_type: str or + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.CreatedByType - :param created_at: The timestamp of resource creation (UTC). - :type created_at: ~datetime.datetime - :param last_modified_by: The identity that last modified the resource. - :type last_modified_by: str - :param last_modified_by_type: The type of identity that last modified the resource. Possible + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Possible values include: "User", "Application", "ManagedIdentity", "Key". - :type last_modified_by_type: str or + :vartype last_modified_by_type: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime """ _attribute_map = { @@ -2019,6 +2505,24 @@ def __init__( last_modified_at: Optional[datetime.datetime] = None, **kwargs ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ super(SystemData, self).__init__(**kwargs) self.created_by = created_by self.created_by_type = created_by_type diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_source_control_configuration_client_enums.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_source_control_configuration_client_enums.py index 1396bc813d4..9c16b817850 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_source_control_configuration_client_enums.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_source_control_configuration_client_enums.py @@ -6,34 +6,19 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from enum import Enum, EnumMeta +from enum import Enum from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta -class _CaseInsensitiveEnumMeta(EnumMeta): - def __getitem__(self, name): - return super().__getitem__(name.upper()) - def __getattr__(cls, name): - """Return the enum member matching `name` - We use __getattr__ instead of descriptors or inserting into the enum - class' __dict__ in order to support `name` and `value` being both - properties for enum members (which live in the class' __dict__) and - enum members themselves. - """ - try: - return cls._member_map_[name.upper()] - except KeyError: - raise AttributeError(name) - - -class ClusterTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ClusterTypes(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Cluster types """ CONNECTED_CLUSTERS = "connectedClusters" MANAGED_CLUSTERS = "managedClusters" -class ComplianceStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The compliance state of the configuration. """ @@ -43,7 +28,7 @@ class ComplianceStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): INSTALLED = "Installed" FAILED = "Failed" -class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class CreatedByType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The type of identity that created the resource. """ @@ -52,17 +37,17 @@ class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): MANAGED_IDENTITY = "ManagedIdentity" KEY = "Key" -class Enum0(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - - MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" - MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" - -class Enum1(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ExtensionsClusterResourceName(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): MANAGED_CLUSTERS = "managedClusters" CONNECTED_CLUSTERS = "connectedClusters" -class FluxComplianceState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ExtensionsClusterRp(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" + MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" + +class FluxComplianceState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Compliance state of the cluster object. """ @@ -72,7 +57,7 @@ class FluxComplianceState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): SUSPENDED = "Suspended" UNKNOWN = "Unknown" -class KustomizationValidationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class KustomizationValidationType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Specify whether to validate the Kubernetes objects referenced in the Kustomization before applying them to the cluster. """ @@ -81,7 +66,7 @@ class KustomizationValidationType(with_metaclass(_CaseInsensitiveEnumMeta, str, CLIENT = "client" SERVER = "server" -class LevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class LevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Level of the status. """ @@ -89,7 +74,7 @@ class LevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): WARNING = "Warning" INFORMATION = "Information" -class MessageLevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Level of the message. """ @@ -97,20 +82,20 @@ class MessageLevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): WARNING = "Warning" INFORMATION = "Information" -class OperatorScopeType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Scope at which the operator will be installed. """ CLUSTER = "cluster" NAMESPACE = "namespace" -class OperatorType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Type of the operator """ FLUX = "Flux" -class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The provisioning state of the resource. """ @@ -121,7 +106,7 @@ class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): UPDATING = "Updating" DELETING = "Deleting" -class ProvisioningStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The provisioning state of the resource provider. """ @@ -131,14 +116,14 @@ class ProvisioningStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)) SUCCEEDED = "Succeeded" FAILED = "Failed" -class ScopeType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Scope at which the configuration will be installed. """ CLUSTER = "cluster" NAMESPACE = "namespace" -class SourceKindType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class SourceKindType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Source Kind to pull the configuration data from. """ diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_type_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_type_operations.py index 4392300f4a6..93725f6313e 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_type_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_type_operations.py @@ -5,22 +5,65 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionTypeName": _SERIALIZER.url("extension_type_name", extension_type_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class ClusterExtensionTypeOperations(object): """ClusterExtensionTypeOperations operations. @@ -44,26 +87,28 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_type_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ExtensionType" + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any + ) -> "_models.ExtensionType": """Get Extension Type details. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_type_name: Extension type name. @@ -78,36 +123,26 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionTypeName': self._serialize.url("extension_type_name", extension_type_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_type_name=extension_type_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ExtensionType', pipeline_response) @@ -116,4 +151,6 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore + diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_types_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_types_operations.py index 61a5f735fcc..3169d214744 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_types_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_types_operations.py @@ -5,23 +5,64 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class ClusterExtensionTypesOperations(object): """ClusterExtensionTypesOperations operations. @@ -45,30 +86,33 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ExtensionTypeList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionTypeList"]: """Get Extension Types. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionTypeList] + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionTypeList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] @@ -76,38 +120,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionTypeList', pipeline_response) + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -120,12 +163,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_extension_type_versions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_extension_type_versions_operations.py index c4627a848b1..e377f228260 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_extension_type_versions_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_extension_type_versions_operations.py @@ -5,23 +5,60 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + extension_type_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "extensionTypeName": _SERIALIZER.url("extension_type_name", extension_type_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class ExtensionTypeVersionsOperations(object): """ExtensionTypeVersionsOperations operations. @@ -45,13 +82,13 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - location, # type: str - extension_type_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ExtensionVersionList"] + location: str, + extension_type_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionVersionList"]: """List available versions for an Extension Type. :param location: extension location. @@ -59,8 +96,10 @@ def list( :param extension_type_name: Extension type name. :type extension_type_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ExtensionVersionList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionVersionList] + :return: An iterator like instance of either ExtensionVersionList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionVersionList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionVersionList"] @@ -68,36 +107,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'location': self._serialize.url("location", location, 'str'), - 'extensionTypeName': self._serialize.url("extension_type_name", extension_type_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionVersionList', pipeline_response) + deserialized = self._deserialize("ExtensionVersionList", pipeline_response) list_of_elem = deserialized.versions if cls: list_of_elem = cls(list_of_elem) @@ -110,12 +146,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_extensions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_extensions_operations.py index 03f7f0ca45d..05b12aea127 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_extensions_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_extensions_operations.py @@ -5,25 +5,253 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class ExtensionsOperations(object): """ExtensionsOperations operations. @@ -49,56 +277,44 @@ def __init__(self, client, config, serializer, deserializer): def _create_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - extension, # type: "_models.Extension" - **kwargs # type: Any - ): - # type: (...) -> "_models.Extension" + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(extension, 'Extension') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize('Extension', pipeline_response) @@ -110,29 +326,33 @@ def _create_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace def begin_create( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - extension, # type: "_models.Extension" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.Extension"] + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: """Create a new Kubernetes Cluster Extension. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -141,15 +361,19 @@ def begin_create( :type extension: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of LROPoller that returns either Extension or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] - :raises ~azure.core.exceptions.HttpResponseError: + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] lro_delay = kwargs.pop( 'polling_interval', @@ -164,30 +388,21 @@ def begin_create( cluster_name=cluster_name, extension_name=extension_name, extension=extension, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('Extension', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -199,28 +414,31 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.Extension" + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": """Gets Kubernetes Cluster Extension. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -235,36 +453,26 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Extension', pipeline_response) @@ -273,74 +481,64 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + def _delete_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - force_delete=None, # type: Optional[bool] - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: cls = kwargs.pop('cls', None) # type: ClsType[None] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if force_delete is not None: - query_parameters['forceDelete'] = self._serialize.query("force_delete", force_delete, 'bool') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace def begin_delete( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - force_delete=None, # type: Optional[bool] - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster. @@ -348,10 +546,12 @@ def begin_delete( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -361,15 +561,17 @@ def begin_delete( :type force_delete: bool :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of LROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -387,24 +589,14 @@ def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -416,60 +608,49 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore def _update_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - patch_extension, # type: "_models.PatchExtension" - **kwargs # type: Any - ): - # type: (...) -> "_models.Extension" + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> "_models.Extension": cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(patch_extension, 'PatchExtension') - body_content_kwargs['content'] = body_content - request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) deserialized = self._deserialize('Extension', pipeline_response) @@ -477,46 +658,55 @@ def _update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace def begin_update( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - patch_extension, # type: "_models.PatchExtension" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.Extension"] + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: """Patch an existing Kubernetes Cluster Extension. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. :type extension_name: str :param patch_extension: Properties to Patch in an existing Extension. - :type patch_extension: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.PatchExtension + :type patch_extension: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.PatchExtension :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of LROPoller that returns either Extension or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] - :raises ~azure.core.exceptions.HttpResponseError: + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] lro_delay = kwargs.pop( 'polling_interval', @@ -531,30 +721,21 @@ def begin_update( cluster_name=cluster_name, extension_name=extension_name, patch_extension=patch_extension, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('Extension', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -566,32 +747,36 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ExtensionsList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionsList"]: """List all Extensions in the cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionsList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsList] + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] @@ -599,38 +784,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionsList', pipeline_response) + deserialized = self._deserialize("ExtensionsList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -643,12 +827,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_flux_config_operation_status_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_flux_config_operation_status_operations.py index ccb630e51f8..c2770443964 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_flux_config_operation_status_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_flux_config_operation_status_operations.py @@ -5,22 +5,67 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class FluxConfigOperationStatusOperations(object): """FluxConfigOperationStatusOperations operations. @@ -44,27 +89,29 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - flux_configuration_name, # type: str - operation_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.OperationStatusResult" + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": """Get Async Operation status. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param flux_configuration_name: Name of the Flux Configuration. @@ -81,37 +128,27 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - 'operationId': self._serialize.url("operation_id", operation_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('OperationStatusResult', pipeline_response) @@ -120,4 +157,6 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_flux_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_flux_configurations_operations.py index a2129c8a800..581995baf23 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_flux_configurations_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_flux_configurations_operations.py @@ -5,25 +5,253 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class FluxConfigurationsOperations(object): """FluxConfigurationsOperations operations. @@ -47,26 +275,28 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - flux_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.FluxConfiguration" + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any + ) -> "_models.FluxConfiguration": """Gets details of the Flux Configuration. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param flux_configuration_name: Name of the Flux Configuration. @@ -81,36 +311,26 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('FluxConfiguration', pipeline_response) @@ -119,60 +339,50 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + def _create_or_update_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - flux_configuration_name, # type: str - flux_configuration, # type: "_models.FluxConfiguration" - **kwargs # type: Any - ): - # type: (...) -> "_models.FluxConfiguration" + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> "_models.FluxConfiguration": cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_or_update_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + _json = self._serialize.body(flux_configuration, 'FluxConfiguration') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(flux_configuration, 'FluxConfiguration') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize('FluxConfiguration', pipeline_response) @@ -184,46 +394,56 @@ def _create_or_update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace def begin_create_or_update( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - flux_configuration_name, # type: str - flux_configuration, # type: "_models.FluxConfiguration" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.FluxConfiguration"] + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> LROPoller["_models.FluxConfiguration"]: """Create a new Kubernetes Flux Configuration. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param flux_configuration_name: Name of the Flux Configuration. :type flux_configuration_name: str :param flux_configuration: Properties necessary to Create a FluxConfiguration. - :type flux_configuration: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration + :type flux_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either FluxConfiguration or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] - :raises ~azure.core.exceptions.HttpResponseError: + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] lro_delay = kwargs.pop( 'polling_interval', @@ -238,30 +458,21 @@ def begin_create_or_update( cluster_name=cluster_name, flux_configuration_name=flux_configuration_name, flux_configuration=flux_configuration, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('FluxConfiguration', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -273,60 +484,49 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore def _update_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - flux_configuration_name, # type: str - flux_configuration_patch, # type: "_models.FluxConfigurationPatch" - **kwargs # type: Any - ): - # type: (...) -> "_models.FluxConfiguration" + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> "_models.FluxConfiguration": cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + _json = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') - body_content_kwargs['content'] = body_content - request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [202]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) deserialized = self._deserialize('FluxConfiguration', pipeline_response) @@ -334,46 +534,56 @@ def _update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace def begin_update( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - flux_configuration_name, # type: str - flux_configuration_patch, # type: "_models.FluxConfigurationPatch" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.FluxConfiguration"] + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> LROPoller["_models.FluxConfiguration"]: """Update an existing Kubernetes Flux Configuration. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param flux_configuration_name: Name of the Flux Configuration. :type flux_configuration_name: str :param flux_configuration_patch: Properties to Patch in an existing Flux Configuration. - :type flux_configuration_patch: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfigurationPatch + :type flux_configuration_patch: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfigurationPatch :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of LROPoller that returns either FluxConfiguration or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] - :raises ~azure.core.exceptions.HttpResponseError: + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] lro_delay = kwargs.pop( 'polling_interval', @@ -388,30 +598,21 @@ def begin_update( cluster_name=cluster_name, flux_configuration_name=flux_configuration_name, flux_configuration_patch=flux_configuration_patch, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('FluxConfiguration', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -423,74 +624,63 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore def _delete_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - flux_configuration_name, # type: str - force_delete=None, # type: Optional[bool] - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: cls = kwargs.pop('cls', None) # type: ClsType[None] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if force_delete is not None: - query_parameters['forceDelete'] = self._serialize.query("force_delete", force_delete, 'bool') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 202, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace def begin_delete( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - flux_configuration_name, # type: str - force_delete=None, # type: Optional[bool] - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: """This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync from the source repo. @@ -498,10 +688,12 @@ def begin_delete( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param flux_configuration_name: Name of the Flux Configuration. @@ -511,15 +703,17 @@ def begin_delete( :type force_delete: bool :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of LROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -537,24 +731,14 @@ def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -566,32 +750,37 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.FluxConfigurationsList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.FluxConfigurationsList"]: """List all Flux Configurations. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either FluxConfigurationsList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfigurationsList] + :return: An iterator like instance of either FluxConfigurationsList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfigurationsList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfigurationsList"] @@ -599,38 +788,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('FluxConfigurationsList', pipeline_response) + deserialized = self._deserialize("FluxConfigurationsList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -643,12 +831,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_location_extension_types_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_location_extension_types_operations.py index 454b01b9655..42c18809e53 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_location_extension_types_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_location_extension_types_operations.py @@ -5,23 +5,58 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class LocationExtensionTypesOperations(object): """LocationExtensionTypesOperations operations. @@ -45,19 +80,20 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - location, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ExtensionTypeList"] + location: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionTypeList"]: """List all Extension Types. :param location: extension location. :type location: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionTypeList] + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionTypeList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] @@ -65,35 +101,31 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'location': self._serialize.url("location", location, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ExtensionTypeList', pipeline_response) + deserialized = self._deserialize("ExtensionTypeList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -106,12 +138,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_operation_status_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_operation_status_operations.py index 4f88c2781a9..f4a859d24eb 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_operation_status_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_operation_status_operations.py @@ -5,23 +5,107 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class OperationStatusOperations(object): """OperationStatusOperations operations. @@ -45,27 +129,29 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - operation_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.OperationStatusResult" + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": """Get Async Operation status. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -82,37 +168,27 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - 'operationId': self._serialize.url("operation_id", operation_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('OperationStatusResult', pipeline_response) @@ -121,32 +197,37 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.OperationStatusList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.OperationStatusList"]: """List Async Operations, currently in progress, in a cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationStatusList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusList] + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] @@ -154,38 +235,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('OperationStatusList', pipeline_response) + deserialized = self._deserialize("OperationStatusList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -198,12 +278,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_operations.py index a52ba75a330..ba30bb53615 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_operations.py @@ -5,23 +5,50 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class Operations(object): """Operations operations. @@ -45,16 +72,18 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ResourceProviderOperationList"] + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: """List all the available operations the KubernetesConfiguration resource provider supports. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperationList] + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] @@ -62,30 +91,27 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ResourceProviderOperationList', pipeline_response) + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -98,12 +124,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_source_control_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_source_control_configurations_operations.py index 44412282d5a..fe3ef877c91 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_source_control_configurations_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_source_control_configurations_operations.py @@ -5,25 +5,199 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union import warnings from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse -from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer from .. import models as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class SourceControlConfigurationsOperations(object): """SourceControlConfigurationsOperations operations. @@ -47,33 +221,36 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.SourceControlConfiguration" + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": """Gets details of the Source Control Configuration. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -81,36 +258,26 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) @@ -119,38 +286,44 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace def create_or_update( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - source_control_configuration, # type: "_models.SourceControlConfiguration" - **kwargs # type: Any - ): - # type: (...) -> "_models.SourceControlConfiguration" + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": """Create a new Kubernetes Source Control Configuration. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. - :type source_control_configuration: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -158,41 +331,31 @@ def create_or_update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.create_or_update.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -205,70 +368,61 @@ def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + def _delete_initial( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: cls = kwargs.pop('cls', None) # type: ClsType[None] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace def begin_delete( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - source_control_configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: """This will delete the YAML file used to set up the Source control configuration, thus stopping future sync from the source repo. @@ -276,25 +430,29 @@ def begin_delete( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. - :keyword polling: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. :paramtype polling: bool or ~azure.core.polling.PollingMethod - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. :return: An instance of LROPoller that returns either None or the result of cls(response) :rtype: ~azure.core.polling.LROPoller[None] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -311,24 +469,14 @@ def begin_delete( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): if cls: return cls(pipeline_response, None, {}) - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -340,32 +488,37 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.SourceControlConfigurationList"] + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: """List all Source Control Configurations. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SourceControlConfigurationList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfigurationList] + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfigurationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] @@ -373,38 +526,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2022-01-01-preview" - accept = "application/json" - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if not next_link: - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('SourceControlConfigurationList', pipeline_response) + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -417,12 +569,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/__init__.py new file mode 100644 index 00000000000..e9096303633 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/_configuration.py new file mode 100644 index 00000000000..370fdc18d17 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/_configuration.py @@ -0,0 +1,68 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2022-03-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/_patch.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/_source_control_configuration_client.py new file mode 100644 index 00000000000..afe78f7c5ab --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/_source_control_configuration_client.py @@ -0,0 +1,113 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.rest import HttpRequest, HttpResponse +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ExtensionsOperations, FluxConfigOperationStatusOperations, FluxConfigurationsOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2022_03_01.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2022_03_01.operations.OperationStatusOperations + :ivar flux_configurations: FluxConfigurationsOperations operations + :vartype flux_configurations: + azure.mgmt.kubernetesconfiguration.v2022_03_01.operations.FluxConfigurationsOperations + :ivar flux_config_operation_status: FluxConfigOperationStatusOperations operations + :vartype flux_config_operation_status: + azure.mgmt.kubernetesconfiguration.v2022_03_01.operations.FluxConfigOperationStatusOperations + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2022_03_01.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.kubernetesconfiguration.v2022_03_01.operations.Operations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_configurations = FluxConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_config_operation_status = FluxConfigOperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.HttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> SourceControlConfigurationClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/_vendor.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/_vendor.py @@ -0,0 +1,27 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/_version.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/_version.py new file mode 100644 index 00000000000..59deb8c7263 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +VERSION = "1.1.0" diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/__init__.py new file mode 100644 index 00000000000..5f583276b4e --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/_configuration.py new file mode 100644 index 00000000000..5bb69c4da53 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/_configuration.py @@ -0,0 +1,67 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2022-03-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/_patch.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/_source_control_configuration_client.py new file mode 100644 index 00000000000..9a5a755578b --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/_source_control_configuration_client.py @@ -0,0 +1,110 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING + +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ExtensionsOperations, FluxConfigOperationStatusOperations, FluxConfigurationsOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2022_03_01.aio.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2022_03_01.aio.operations.OperationStatusOperations + :ivar flux_configurations: FluxConfigurationsOperations operations + :vartype flux_configurations: + azure.mgmt.kubernetesconfiguration.v2022_03_01.aio.operations.FluxConfigurationsOperations + :ivar flux_config_operation_status: FluxConfigOperationStatusOperations operations + :vartype flux_config_operation_status: + azure.mgmt.kubernetesconfiguration.v2022_03_01.aio.operations.FluxConfigOperationStatusOperations + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2022_03_01.aio.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.kubernetesconfiguration.v2022_03_01.aio.operations.Operations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_configurations = FluxConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_config_operation_status = FluxConfigOperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "SourceControlConfigurationClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/__init__.py new file mode 100644 index 00000000000..e18b201b5dc --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/__init__.py @@ -0,0 +1,23 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._flux_configurations_operations import FluxConfigurationsOperations +from ._flux_config_operation_status_operations import FluxConfigOperationStatusOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'ExtensionsOperations', + 'OperationStatusOperations', + 'FluxConfigurationsOperations', + 'FluxConfigOperationStatusOperations', + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_extensions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_extensions_operations.py new file mode 100644 index 00000000000..bba4b3105d5 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_extensions_operations.py @@ -0,0 +1,604 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._extensions_operations import build_create_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ExtensionsOperations: + """ExtensionsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def _create_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_create( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> AsyncLROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> AsyncLROPoller["_models.Extension"]: + """Patch an existing Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param patch_extension: Properties to Patch in an existing Extension. + :type patch_extension: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.PatchExtension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + patch_extension=patch_extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_flux_config_operation_status_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_flux_config_operation_status_operations.py new file mode 100644 index 00000000000..53766735ba9 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_flux_config_operation_status_operations.py @@ -0,0 +1,115 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._flux_config_operation_status_operations import build_get_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class FluxConfigOperationStatusOperations: + """FluxConfigOperationStatusOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_flux_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_flux_configurations_operations.py new file mode 100644 index 00000000000..80b175ce087 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_flux_configurations_operations.py @@ -0,0 +1,607 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._flux_configurations_operations import build_create_or_update_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class FluxConfigurationsOperations: + """FluxConfigurationsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any + ) -> "_models.FluxConfiguration": + """Gets details of the Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FluxConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + async def _create_or_update_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration, 'FluxConfiguration') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_create_or_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> AsyncLROPoller["_models.FluxConfiguration"]: + """Create a new Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration: Properties necessary to Create a FluxConfiguration. + :type flux_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration=flux_configuration, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> AsyncLROPoller["_models.FluxConfiguration"]: + """Update an existing Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration_patch: Properties to Patch in an existing Flux Configuration. + :type flux_configuration_patch: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfigurationPatch + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration_patch=flux_configuration_patch, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync + from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.FluxConfigurationsList"]: + """List all Flux Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FluxConfigurationsList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfigurationsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfigurationsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("FluxConfigurationsList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations'} # type: ignore diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_operation_status_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_operation_status_operations.py new file mode 100644 index 00000000000..c190ec1e38b --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_operation_status_operations.py @@ -0,0 +1,204 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operation_status_operations import build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationStatusOperations: + """OperationStatusOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.OperationStatusList"]: + """List Async Operations, currently in progress, in a cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationStatusList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_operations.py new file mode 100644 index 00000000000..3131058170a --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_operations.py @@ -0,0 +1,111 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class Operations: + """Operations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_source_control_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..71375d427f2 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/aio/operations/_source_control_configurations_operations.py @@ -0,0 +1,399 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SourceControlConfigurationsOperations: + """SourceControlConfigurationsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def create_or_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in your own initialized polling object for a personal + polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/models/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/models/__init__.py new file mode 100644 index 00000000000..2bd4f2cd929 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/models/__init__.py @@ -0,0 +1,117 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._models_py3 import BucketDefinition +from ._models_py3 import BucketPatchDefinition +from ._models_py3 import ComplianceStatus +from ._models_py3 import ErrorAdditionalInfo +from ._models_py3 import ErrorDetail +from ._models_py3 import ErrorResponse +from ._models_py3 import Extension +from ._models_py3 import ExtensionPropertiesAksAssignedIdentity +from ._models_py3 import ExtensionStatus +from ._models_py3 import ExtensionsList +from ._models_py3 import FluxConfiguration +from ._models_py3 import FluxConfigurationPatch +from ._models_py3 import FluxConfigurationsList +from ._models_py3 import GitRepositoryDefinition +from ._models_py3 import GitRepositoryPatchDefinition +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import HelmReleasePropertiesDefinition +from ._models_py3 import Identity +from ._models_py3 import KustomizationDefinition +from ._models_py3 import KustomizationPatchDefinition +from ._models_py3 import ObjectReferenceDefinition +from ._models_py3 import ObjectStatusConditionDefinition +from ._models_py3 import ObjectStatusDefinition +from ._models_py3 import OperationStatusList +from ._models_py3 import OperationStatusResult +from ._models_py3 import PatchExtension +from ._models_py3 import ProxyResource +from ._models_py3 import RepositoryRefDefinition +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Scope +from ._models_py3 import ScopeCluster +from ._models_py3 import ScopeNamespace +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SystemData + + +from ._source_control_configuration_client_enums import ( + AKSIdentityType, + ComplianceStateType, + CreatedByType, + FluxComplianceState, + KustomizationValidationType, + LevelType, + MessageLevelType, + OperatorScopeType, + OperatorType, + ProvisioningState, + ProvisioningStateType, + ScopeType, + SourceKindType, +) + +__all__ = [ + 'BucketDefinition', + 'BucketPatchDefinition', + 'ComplianceStatus', + 'ErrorAdditionalInfo', + 'ErrorDetail', + 'ErrorResponse', + 'Extension', + 'ExtensionPropertiesAksAssignedIdentity', + 'ExtensionStatus', + 'ExtensionsList', + 'FluxConfiguration', + 'FluxConfigurationPatch', + 'FluxConfigurationsList', + 'GitRepositoryDefinition', + 'GitRepositoryPatchDefinition', + 'HelmOperatorProperties', + 'HelmReleasePropertiesDefinition', + 'Identity', + 'KustomizationDefinition', + 'KustomizationPatchDefinition', + 'ObjectReferenceDefinition', + 'ObjectStatusConditionDefinition', + 'ObjectStatusDefinition', + 'OperationStatusList', + 'OperationStatusResult', + 'PatchExtension', + 'ProxyResource', + 'RepositoryRefDefinition', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', + 'Scope', + 'ScopeCluster', + 'ScopeNamespace', + 'SourceControlConfiguration', + 'SourceControlConfigurationList', + 'SystemData', + 'AKSIdentityType', + 'ComplianceStateType', + 'CreatedByType', + 'FluxComplianceState', + 'KustomizationValidationType', + 'LevelType', + 'MessageLevelType', + 'OperatorScopeType', + 'OperatorType', + 'ProvisioningState', + 'ProvisioningStateType', + 'ScopeType', + 'SourceKindType', +] diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/models/_models_py3.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/models/_models_py3.py new file mode 100644 index 00000000000..6378d3e0d25 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/models/_models_py3.py @@ -0,0 +1,2268 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import datetime +from typing import Dict, List, Optional, Union + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + +from ._source_control_configuration_client_enums import * + + +class BucketDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration S3 bucket. + :vartype url: str + :ivar bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :vartype bucket_name: str + :ivar insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :vartype insecure: bool + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar access_key: Plaintext access key used to securely access the S3 bucket. + :vartype access_key: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'bucket_name': {'key': 'bucketName', 'type': 'str'}, + 'insecure': {'key': 'insecure', 'type': 'bool'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'access_key': {'key': 'accessKey', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + bucket_name: Optional[str] = None, + insecure: Optional[bool] = True, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + access_key: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration S3 bucket. + :paramtype url: str + :keyword bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :paramtype bucket_name: str + :keyword insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :paramtype insecure: bool + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword access_key: Plaintext access key used to securely access the S3 bucket. + :paramtype access_key: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(BucketDefinition, self).__init__(**kwargs) + self.url = url + self.bucket_name = bucket_name + self.insecure = insecure + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.access_key = access_key + self.local_auth_ref = local_auth_ref + + +class BucketPatchDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration S3 bucket. + :vartype url: str + :ivar bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :vartype bucket_name: str + :ivar insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :vartype insecure: bool + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar access_key: Plaintext access key used to securely access the S3 bucket. + :vartype access_key: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'bucket_name': {'key': 'bucketName', 'type': 'str'}, + 'insecure': {'key': 'insecure', 'type': 'bool'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'access_key': {'key': 'accessKey', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + bucket_name: Optional[str] = None, + insecure: Optional[bool] = None, + timeout_in_seconds: Optional[int] = None, + sync_interval_in_seconds: Optional[int] = None, + access_key: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration S3 bucket. + :paramtype url: str + :keyword bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :paramtype bucket_name: str + :keyword insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :paramtype insecure: bool + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword access_key: Plaintext access key used to securely access the S3 bucket. + :paramtype access_key: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(BucketPatchDefinition, self).__init__(**kwargs) + self.url = url + self.bucket_name = bucket_name + self.insecure = insecure + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.access_key = access_key + self.local_auth_ref = local_auth_ref + + +class ComplianceStatus(msrest.serialization.Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar compliance_state: The compliance state of the configuration. Possible values include: + "Pending", "Compliant", "Noncompliant", "Installed", "Failed". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ComplianceStateType + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :vartype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.MessageLevelType + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__( + self, + *, + last_config_applied: Optional[datetime.datetime] = None, + message: Optional[str] = None, + message_level: Optional[Union[str, "MessageLevelType"]] = None, + **kwargs + ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.MessageLevelType + """ + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = last_config_applied + self.message = message + self.message_level = message_level + + +class ErrorAdditionalInfo(msrest.serialization.Model): + """The resource management error additional info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: The additional info type. + :vartype type: str + :ivar info: The additional info. + :vartype info: any + """ + + _validation = { + 'type': {'readonly': True}, + 'info': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'info': {'key': 'info', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ErrorAdditionalInfo, self).__init__(**kwargs) + self.type = None + self.info = None + + +class ErrorDetail(msrest.serialization.Model): + """The error detail. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + :ivar target: The error target. + :vartype target: str + :ivar details: The error details. + :vartype details: list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ErrorDetail] + :ivar additional_info: The error additional info. + :vartype additional_info: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ErrorAdditionalInfo] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'details': {'readonly': True}, + 'additional_info': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDetail]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ErrorDetail, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None + + +class ErrorResponse(msrest.serialization.Model): + """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). + + :ivar error: The error object. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ErrorDetail + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + error: Optional["ErrorDetail"] = None, + **kwargs + ): + """ + :keyword error: The error object. + :paramtype error: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ErrorDetail + """ + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class Resource(msrest.serialization.Model): + """Common fields that are returned in the response for all Azure Resource Manager 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. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class ProxyResource(Resource): + """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ProxyResource, self).__init__(**kwargs) + + +class Extension(ProxyResource): + """The Extension object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar identity: Identity of the Extension resource. + :vartype identity: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Identity + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SystemData + :ivar extension_type: Type of the Extension, of which this resource is an instance of. It must + be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :vartype extension_type: str + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + of minor version, or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: User-specified version of the extension for this extension to 'pin'. To use + 'version', autoUpgradeMinorVersion must be 'false'. + :vartype version: str + :ivar scope: Scope at which the extension is installed. + :vartype scope: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Scope + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this + extension. + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :vartype configuration_protected_settings: dict[str, str] + :ivar installed_version: Installed version of the extension. + :vartype installed_version: str + :ivar provisioning_state: Status of installation of this extension. Possible values include: + "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ProvisioningState + :ivar statuses: Status from this extension. + :vartype statuses: list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ExtensionStatus] + :ivar error_info: Error information from the Agent - e.g. errors during installation. + :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ErrorDetail + :ivar custom_location_settings: Custom Location settings properties. + :vartype custom_location_settings: dict[str, str] + :ivar package_uri: Uri of the Helm package. + :vartype package_uri: str + :ivar aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :vartype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ExtensionPropertiesAksAssignedIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'installed_version': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'error_info': {'readonly': True}, + 'custom_location_settings': {'readonly': True}, + 'package_uri': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'Scope'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'installed_version': {'key': 'properties.installedVersion', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ExtensionStatus]'}, + 'error_info': {'key': 'properties.errorInfo', 'type': 'ErrorDetail'}, + 'custom_location_settings': {'key': 'properties.customLocationSettings', 'type': '{str}'}, + 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, + 'aks_assigned_identity': {'key': 'properties.aksAssignedIdentity', 'type': 'ExtensionPropertiesAksAssignedIdentity'}, + } + + def __init__( + self, + *, + identity: Optional["Identity"] = None, + extension_type: Optional[str] = None, + auto_upgrade_minor_version: Optional[bool] = True, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + scope: Optional["Scope"] = None, + configuration_settings: Optional[Dict[str, str]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + statuses: Optional[List["ExtensionStatus"]] = None, + aks_assigned_identity: Optional["ExtensionPropertiesAksAssignedIdentity"] = None, + **kwargs + ): + """ + :keyword identity: Identity of the Extension resource. + :paramtype identity: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Identity + :keyword extension_type: Type of the Extension, of which this resource is an instance of. It + must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :paramtype extension_type: str + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: User-specified version of the extension for this extension to 'pin'. To use + 'version', autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword scope: Scope at which the extension is installed. + :paramtype scope: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Scope + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + :keyword statuses: Status from this extension. + :paramtype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ExtensionStatus] + :keyword aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :paramtype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ExtensionPropertiesAksAssignedIdentity + """ + super(Extension, self).__init__(**kwargs) + self.identity = identity + self.system_data = None + self.extension_type = extension_type + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + self.scope = scope + self.configuration_settings = configuration_settings + self.configuration_protected_settings = configuration_protected_settings + self.installed_version = None + self.provisioning_state = None + self.statuses = statuses + self.error_info = None + self.custom_location_settings = None + self.package_uri = None + self.aks_assigned_identity = aks_assigned_identity + + +class ExtensionPropertiesAksAssignedIdentity(msrest.serialization.Model): + """Identity of the Extension resource in an AKS cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: The identity type. Possible values include: "SystemAssigned", "UserAssigned". + :vartype type: str or ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.AKSIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "AKSIdentityType"]] = None, + **kwargs + ): + """ + :keyword type: The identity type. Possible values include: "SystemAssigned", "UserAssigned". + :paramtype type: str or ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.AKSIdentityType + """ + super(ExtensionPropertiesAksAssignedIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class ExtensionsList(msrest.serialization.Model): + """Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Extensions within a Kubernetes cluster. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension] + :ivar next_link: URL to get the next set of extension objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Extension]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ExtensionsList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ExtensionStatus(msrest.serialization.Model): + """Status from the extension. + + :ivar code: Status code provided by the Extension. + :vartype code: str + :ivar display_status: Short description of status of the extension. + :vartype display_status: str + :ivar level: Level of the status. Possible values include: "Error", "Warning", "Information". + Default value: "Information". + :vartype level: str or ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.LevelType + :ivar message: Detailed message of the status from the Extension. + :vartype message: str + :ivar time: DateLiteral (per ISO8601) noting the time of installation status. + :vartype time: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'display_status': {'key': 'displayStatus', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + display_status: Optional[str] = None, + level: Optional[Union[str, "LevelType"]] = "Information", + message: Optional[str] = None, + time: Optional[str] = None, + **kwargs + ): + """ + :keyword code: Status code provided by the Extension. + :paramtype code: str + :keyword display_status: Short description of status of the extension. + :paramtype display_status: str + :keyword level: Level of the status. Possible values include: "Error", "Warning", + "Information". Default value: "Information". + :paramtype level: str or ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.LevelType + :keyword message: Detailed message of the status from the Extension. + :paramtype message: str + :keyword time: DateLiteral (per ISO8601) noting the time of installation status. + :paramtype time: str + """ + super(ExtensionStatus, self).__init__(**kwargs) + self.code = code + self.display_status = display_status + self.level = level + self.message = message + self.time = time + + +class FluxConfiguration(ProxyResource): + """The Flux Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SystemData + :ivar scope: Scope at which the operator will be installed. Possible values include: "cluster", + "namespace". Default value: "cluster". + :vartype scope: str or ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ScopeType + :ivar namespace: The namespace to which this configuration is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype namespace: str + :ivar source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :vartype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceKindType + :ivar suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :vartype suspend: bool + :ivar git_repository: Parameters to reconcile to the GitRepository source kind type. + :vartype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.GitRepositoryDefinition + :ivar bucket: Parameters to reconcile to the Bucket source kind type. + :vartype bucket: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.BucketDefinition + :ivar kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :vartype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.KustomizationDefinition] + :ivar configuration_protected_settings: Key-value pairs of protected configuration settings for + the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar statuses: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or + created by the managed objects provisioned by the fluxConfiguration. + :vartype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectStatusDefinition] + :ivar repository_public_key: Public Key associated with this fluxConfiguration (either + generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar source_synced_commit_id: Branch and/or SHA of the source commit synced with the cluster. + :vartype source_synced_commit_id: str + :ivar source_updated_at: Datetime the fluxConfiguration synced its source on the cluster. + :vartype source_updated_at: ~datetime.datetime + :ivar status_updated_at: Datetime the fluxConfiguration synced its status on the cluster with + Azure. + :vartype status_updated_at: ~datetime.datetime + :ivar compliance_state: Combined status of the Flux Kubernetes resources created by the + fluxConfiguration or created by the managed objects. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxComplianceState + :ivar provisioning_state: Status of the creation of the fluxConfiguration. Possible values + include: "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ProvisioningState + :ivar error_message: Error message returned to the user in the case of provisioning failure. + :vartype error_message: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'statuses': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'source_synced_commit_id': {'readonly': True}, + 'source_updated_at': {'readonly': True}, + 'status_updated_at': {'readonly': True}, + 'compliance_state': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'error_message': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'namespace': {'key': 'properties.namespace', 'type': 'str'}, + 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, + 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, + 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryDefinition'}, + 'bucket': {'key': 'properties.bucket', 'type': 'BucketDefinition'}, + 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationDefinition}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ObjectStatusDefinition]'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'source_synced_commit_id': {'key': 'properties.sourceSyncedCommitId', 'type': 'str'}, + 'source_updated_at': {'key': 'properties.sourceUpdatedAt', 'type': 'iso-8601'}, + 'status_updated_at': {'key': 'properties.statusUpdatedAt', 'type': 'iso-8601'}, + 'compliance_state': {'key': 'properties.complianceState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, + } + + def __init__( + self, + *, + scope: Optional[Union[str, "ScopeType"]] = "cluster", + namespace: Optional[str] = "default", + source_kind: Optional[Union[str, "SourceKindType"]] = None, + suspend: Optional[bool] = False, + git_repository: Optional["GitRepositoryDefinition"] = None, + bucket: Optional["BucketDefinition"] = None, + kustomizations: Optional[Dict[str, "KustomizationDefinition"]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :paramtype scope: str or ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ScopeType + :keyword namespace: The namespace to which this configuration is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :paramtype namespace: str + :keyword source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :paramtype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceKindType + :keyword suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :paramtype suspend: bool + :keyword git_repository: Parameters to reconcile to the GitRepository source kind type. + :paramtype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.GitRepositoryDefinition + :keyword bucket: Parameters to reconcile to the Bucket source kind type. + :paramtype bucket: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.BucketDefinition + :keyword kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :paramtype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.KustomizationDefinition] + :keyword configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(FluxConfiguration, self).__init__(**kwargs) + self.system_data = None + self.scope = scope + self.namespace = namespace + self.source_kind = source_kind + self.suspend = suspend + self.git_repository = git_repository + self.bucket = bucket + self.kustomizations = kustomizations + self.configuration_protected_settings = configuration_protected_settings + self.statuses = None + self.repository_public_key = None + self.source_synced_commit_id = None + self.source_updated_at = None + self.status_updated_at = None + self.compliance_state = None + self.provisioning_state = None + self.error_message = None + + +class FluxConfigurationPatch(msrest.serialization.Model): + """The Flux Configuration Patch Request object. + + :ivar source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :vartype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceKindType + :ivar suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :vartype suspend: bool + :ivar git_repository: Parameters to reconcile to the GitRepository source kind type. + :vartype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.GitRepositoryPatchDefinition + :ivar bucket: Parameters to reconcile to the Bucket source kind type. + :vartype bucket: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.BucketPatchDefinition + :ivar kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :vartype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.KustomizationPatchDefinition] + :ivar configuration_protected_settings: Key-value pairs of protected configuration settings for + the configuration. + :vartype configuration_protected_settings: dict[str, str] + """ + + _attribute_map = { + 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, + 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, + 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryPatchDefinition'}, + 'bucket': {'key': 'properties.bucket', 'type': 'BucketPatchDefinition'}, + 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationPatchDefinition}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + } + + def __init__( + self, + *, + source_kind: Optional[Union[str, "SourceKindType"]] = None, + suspend: Optional[bool] = None, + git_repository: Optional["GitRepositoryPatchDefinition"] = None, + bucket: Optional["BucketPatchDefinition"] = None, + kustomizations: Optional[Dict[str, "KustomizationPatchDefinition"]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :paramtype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceKindType + :keyword suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :paramtype suspend: bool + :keyword git_repository: Parameters to reconcile to the GitRepository source kind type. + :paramtype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.GitRepositoryPatchDefinition + :keyword bucket: Parameters to reconcile to the Bucket source kind type. + :paramtype bucket: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.BucketPatchDefinition + :keyword kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :paramtype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.KustomizationPatchDefinition] + :keyword configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(FluxConfigurationPatch, self).__init__(**kwargs) + self.source_kind = source_kind + self.suspend = suspend + self.git_repository = git_repository + self.bucket = bucket + self.kustomizations = kustomizations + self.configuration_protected_settings = configuration_protected_settings + + +class FluxConfigurationsList(msrest.serialization.Model): + """Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Flux Configurations within a Kubernetes cluster. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[FluxConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(FluxConfigurationsList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class GitRepositoryDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration git repository. + :vartype url: str + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar repository_ref: The source reference for the GitRepository object. + :vartype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.RepositoryRefDefinition + :ivar ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to + access private git repositories over SSH. + :vartype ssh_known_hosts: str + :ivar https_user: Plaintext HTTPS username used to access private git repositories over HTTPS. + :vartype https_user: str + :ivar https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :vartype https_ca_cert: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'repository_ref': {'key': 'repositoryRef', 'type': 'RepositoryRefDefinition'}, + 'ssh_known_hosts': {'key': 'sshKnownHosts', 'type': 'str'}, + 'https_user': {'key': 'httpsUser', 'type': 'str'}, + 'https_ca_cert': {'key': 'httpsCACert', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + repository_ref: Optional["RepositoryRefDefinition"] = None, + ssh_known_hosts: Optional[str] = None, + https_user: Optional[str] = None, + https_ca_cert: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration git repository. + :paramtype url: str + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword repository_ref: The source reference for the GitRepository object. + :paramtype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.RepositoryRefDefinition + :keyword ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required + to access private git repositories over SSH. + :paramtype ssh_known_hosts: str + :keyword https_user: Plaintext HTTPS username used to access private git repositories over + HTTPS. + :paramtype https_user: str + :keyword https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :paramtype https_ca_cert: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(GitRepositoryDefinition, self).__init__(**kwargs) + self.url = url + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.repository_ref = repository_ref + self.ssh_known_hosts = ssh_known_hosts + self.https_user = https_user + self.https_ca_cert = https_ca_cert + self.local_auth_ref = local_auth_ref + + +class GitRepositoryPatchDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration git repository. + :vartype url: str + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar repository_ref: The source reference for the GitRepository object. + :vartype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.RepositoryRefDefinition + :ivar ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to + access private git repositories over SSH. + :vartype ssh_known_hosts: str + :ivar https_user: Plaintext HTTPS username used to access private git repositories over HTTPS. + :vartype https_user: str + :ivar https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :vartype https_ca_cert: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'repository_ref': {'key': 'repositoryRef', 'type': 'RepositoryRefDefinition'}, + 'ssh_known_hosts': {'key': 'sshKnownHosts', 'type': 'str'}, + 'https_user': {'key': 'httpsUser', 'type': 'str'}, + 'https_ca_cert': {'key': 'httpsCACert', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + timeout_in_seconds: Optional[int] = None, + sync_interval_in_seconds: Optional[int] = None, + repository_ref: Optional["RepositoryRefDefinition"] = None, + ssh_known_hosts: Optional[str] = None, + https_user: Optional[str] = None, + https_ca_cert: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration git repository. + :paramtype url: str + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword repository_ref: The source reference for the GitRepository object. + :paramtype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.RepositoryRefDefinition + :keyword ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required + to access private git repositories over SSH. + :paramtype ssh_known_hosts: str + :keyword https_user: Plaintext HTTPS username used to access private git repositories over + HTTPS. + :paramtype https_user: str + :keyword https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :paramtype https_ca_cert: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(GitRepositoryPatchDefinition, self).__init__(**kwargs) + self.url = url + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.repository_ref = repository_ref + self.ssh_known_hosts = ssh_known_hosts + self.https_user = https_user + self.https_ca_cert = https_ca_cert + self.local_auth_ref = local_auth_ref + + +class HelmOperatorProperties(msrest.serialization.Model): + """Properties for Helm operator. + + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__( + self, + *, + chart_version: Optional[str] = None, + chart_values: Optional[str] = None, + **kwargs + ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = chart_version + self.chart_values = chart_values + + +class HelmReleasePropertiesDefinition(msrest.serialization.Model): + """Properties for HelmRelease objects. + + :ivar last_revision_applied: The revision number of the last released object change. + :vartype last_revision_applied: long + :ivar helm_chart_ref: The reference to the HelmChart object used as the source to this + HelmRelease. + :vartype helm_chart_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectReferenceDefinition + :ivar failure_count: Total number of times that the HelmRelease failed to install or upgrade. + :vartype failure_count: long + :ivar install_failure_count: Number of times that the HelmRelease failed to install. + :vartype install_failure_count: long + :ivar upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. + :vartype upgrade_failure_count: long + """ + + _attribute_map = { + 'last_revision_applied': {'key': 'lastRevisionApplied', 'type': 'long'}, + 'helm_chart_ref': {'key': 'helmChartRef', 'type': 'ObjectReferenceDefinition'}, + 'failure_count': {'key': 'failureCount', 'type': 'long'}, + 'install_failure_count': {'key': 'installFailureCount', 'type': 'long'}, + 'upgrade_failure_count': {'key': 'upgradeFailureCount', 'type': 'long'}, + } + + def __init__( + self, + *, + last_revision_applied: Optional[int] = None, + helm_chart_ref: Optional["ObjectReferenceDefinition"] = None, + failure_count: Optional[int] = None, + install_failure_count: Optional[int] = None, + upgrade_failure_count: Optional[int] = None, + **kwargs + ): + """ + :keyword last_revision_applied: The revision number of the last released object change. + :paramtype last_revision_applied: long + :keyword helm_chart_ref: The reference to the HelmChart object used as the source to this + HelmRelease. + :paramtype helm_chart_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectReferenceDefinition + :keyword failure_count: Total number of times that the HelmRelease failed to install or + upgrade. + :paramtype failure_count: long + :keyword install_failure_count: Number of times that the HelmRelease failed to install. + :paramtype install_failure_count: long + :keyword upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. + :paramtype upgrade_failure_count: long + """ + super(HelmReleasePropertiesDefinition, self).__init__(**kwargs) + self.last_revision_applied = last_revision_applied + self.helm_chart_ref = helm_chart_ref + self.failure_count = failure_count + self.install_failure_count = install_failure_count + self.upgrade_failure_count = upgrade_failure_count + + +class Identity(msrest.serialization.Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :vartype type: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[str] = None, + **kwargs + ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class KustomizationDefinition(msrest.serialization.Model): + """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the Kustomization, matching the key in the Kustomizations object map. + :vartype name: str + :ivar path: The path in the source reference to reconcile on the cluster. + :vartype path: str + :ivar depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :vartype depends_on: list[str] + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster. + :vartype sync_interval_in_seconds: long + :ivar retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster in the event of failure on reconciliation. + :vartype retry_interval_in_seconds: long + :ivar prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :vartype prune: bool + :ivar force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails + due to an immutable field change. + :vartype force: bool + """ + + _validation = { + 'name': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'path': {'key': 'path', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[str]'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, + 'prune': {'key': 'prune', 'type': 'bool'}, + 'force': {'key': 'force', 'type': 'bool'}, + } + + def __init__( + self, + *, + path: Optional[str] = "", + depends_on: Optional[List[str]] = None, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + retry_interval_in_seconds: Optional[int] = None, + prune: Optional[bool] = False, + force: Optional[bool] = False, + **kwargs + ): + """ + :keyword path: The path in the source reference to reconcile on the cluster. + :paramtype path: str + :keyword depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :paramtype depends_on: list[str] + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster. + :paramtype sync_interval_in_seconds: long + :keyword retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster in the event of failure on reconciliation. + :paramtype retry_interval_in_seconds: long + :keyword prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :paramtype prune: bool + :keyword force: Enable/disable re-creating Kubernetes resources on the cluster when patching + fails due to an immutable field change. + :paramtype force: bool + """ + super(KustomizationDefinition, self).__init__(**kwargs) + self.name = None + self.path = path + self.depends_on = depends_on + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.retry_interval_in_seconds = retry_interval_in_seconds + self.prune = prune + self.force = force + + +class KustomizationPatchDefinition(msrest.serialization.Model): + """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + + :ivar path: The path in the source reference to reconcile on the cluster. + :vartype path: str + :ivar depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :vartype depends_on: list[str] + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster. + :vartype sync_interval_in_seconds: long + :ivar retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster in the event of failure on reconciliation. + :vartype retry_interval_in_seconds: long + :ivar prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :vartype prune: bool + :ivar force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails + due to an immutable field change. + :vartype force: bool + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[str]'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, + 'prune': {'key': 'prune', 'type': 'bool'}, + 'force': {'key': 'force', 'type': 'bool'}, + } + + def __init__( + self, + *, + path: Optional[str] = None, + depends_on: Optional[List[str]] = None, + timeout_in_seconds: Optional[int] = None, + sync_interval_in_seconds: Optional[int] = None, + retry_interval_in_seconds: Optional[int] = None, + prune: Optional[bool] = None, + force: Optional[bool] = None, + **kwargs + ): + """ + :keyword path: The path in the source reference to reconcile on the cluster. + :paramtype path: str + :keyword depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :paramtype depends_on: list[str] + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster. + :paramtype sync_interval_in_seconds: long + :keyword retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster in the event of failure on reconciliation. + :paramtype retry_interval_in_seconds: long + :keyword prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :paramtype prune: bool + :keyword force: Enable/disable re-creating Kubernetes resources on the cluster when patching + fails due to an immutable field change. + :paramtype force: bool + """ + super(KustomizationPatchDefinition, self).__init__(**kwargs) + self.path = path + self.depends_on = depends_on + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.retry_interval_in_seconds = retry_interval_in_seconds + self.prune = prune + self.force = force + + +class ObjectReferenceDefinition(msrest.serialization.Model): + """Object reference to a Kubernetes object on a cluster. + + :ivar name: Name of the object. + :vartype name: str + :ivar namespace: Namespace of the object. + :vartype namespace: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword name: Name of the object. + :paramtype name: str + :keyword namespace: Namespace of the object. + :paramtype namespace: str + """ + super(ObjectReferenceDefinition, self).__init__(**kwargs) + self.name = name + self.namespace = namespace + + +class ObjectStatusConditionDefinition(msrest.serialization.Model): + """Status condition of Kubernetes object. + + :ivar last_transition_time: Last time this status condition has changed. + :vartype last_transition_time: ~datetime.datetime + :ivar message: A more verbose description of the object status condition. + :vartype message: str + :ivar reason: Reason for the specified status condition type status. + :vartype reason: str + :ivar status: Status of the Kubernetes object condition type. + :vartype status: str + :ivar type: Object status condition type for this object. + :vartype type: str + """ + + _attribute_map = { + 'last_transition_time': {'key': 'lastTransitionTime', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + last_transition_time: Optional[datetime.datetime] = None, + message: Optional[str] = None, + reason: Optional[str] = None, + status: Optional[str] = None, + type: Optional[str] = None, + **kwargs + ): + """ + :keyword last_transition_time: Last time this status condition has changed. + :paramtype last_transition_time: ~datetime.datetime + :keyword message: A more verbose description of the object status condition. + :paramtype message: str + :keyword reason: Reason for the specified status condition type status. + :paramtype reason: str + :keyword status: Status of the Kubernetes object condition type. + :paramtype status: str + :keyword type: Object status condition type for this object. + :paramtype type: str + """ + super(ObjectStatusConditionDefinition, self).__init__(**kwargs) + self.last_transition_time = last_transition_time + self.message = message + self.reason = reason + self.status = status + self.type = type + + +class ObjectStatusDefinition(msrest.serialization.Model): + """Statuses of objects deployed by the user-specified kustomizations from the git repository. + + :ivar name: Name of the applied object. + :vartype name: str + :ivar namespace: Namespace of the applied object. + :vartype namespace: str + :ivar kind: Kind of the applied object. + :vartype kind: str + :ivar compliance_state: Compliance state of the applied object showing whether the applied + object has come into a ready state on the cluster. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxComplianceState + :ivar applied_by: Object reference to the Kustomization that applied this object. + :vartype applied_by: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectReferenceDefinition + :ivar status_conditions: List of Kubernetes object status conditions present on the cluster. + :vartype status_conditions: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectStatusConditionDefinition] + :ivar helm_release_properties: Additional properties that are provided from objects of the + HelmRelease kind. + :vartype helm_release_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.HelmReleasePropertiesDefinition + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'applied_by': {'key': 'appliedBy', 'type': 'ObjectReferenceDefinition'}, + 'status_conditions': {'key': 'statusConditions', 'type': '[ObjectStatusConditionDefinition]'}, + 'helm_release_properties': {'key': 'helmReleaseProperties', 'type': 'HelmReleasePropertiesDefinition'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + namespace: Optional[str] = None, + kind: Optional[str] = None, + compliance_state: Optional[Union[str, "FluxComplianceState"]] = "Unknown", + applied_by: Optional["ObjectReferenceDefinition"] = None, + status_conditions: Optional[List["ObjectStatusConditionDefinition"]] = None, + helm_release_properties: Optional["HelmReleasePropertiesDefinition"] = None, + **kwargs + ): + """ + :keyword name: Name of the applied object. + :paramtype name: str + :keyword namespace: Namespace of the applied object. + :paramtype namespace: str + :keyword kind: Kind of the applied object. + :paramtype kind: str + :keyword compliance_state: Compliance state of the applied object showing whether the applied + object has come into a ready state on the cluster. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :paramtype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxComplianceState + :keyword applied_by: Object reference to the Kustomization that applied this object. + :paramtype applied_by: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectReferenceDefinition + :keyword status_conditions: List of Kubernetes object status conditions present on the cluster. + :paramtype status_conditions: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectStatusConditionDefinition] + :keyword helm_release_properties: Additional properties that are provided from objects of the + HelmRelease kind. + :paramtype helm_release_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.HelmReleasePropertiesDefinition + """ + super(ObjectStatusDefinition, self).__init__(**kwargs) + self.name = name + self.namespace = namespace + self.kind = kind + self.compliance_state = compliance_state + self.applied_by = applied_by + self.status_conditions = status_conditions + self.helm_release_properties = helm_release_properties + + +class OperationStatusList(msrest.serialization.Model): + """The async operations in progress, in the cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of async operations in progress, in the cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusResult] + :ivar next_link: URL to get the next set of Operation Result objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationStatusResult]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(OperationStatusList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class OperationStatusResult(msrest.serialization.Model): + """The current status of an async operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified ID for the async operation. + :vartype id: str + :ivar name: Name of the async operation. + :vartype name: str + :ivar status: Required. Operation status. + :vartype status: str + :ivar properties: Additional information, if available. + :vartype properties: dict[str, str] + :ivar error: If present, details of the operation error. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ErrorDetail + """ + + _validation = { + 'status': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + status: str, + id: Optional[str] = None, + name: Optional[str] = None, + properties: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword id: Fully qualified ID for the async operation. + :paramtype id: str + :keyword name: Name of the async operation. + :paramtype name: str + :keyword status: Required. Operation status. + :paramtype status: str + :keyword properties: Additional information, if available. + :paramtype properties: dict[str, str] + """ + super(OperationStatusResult, self).__init__(**kwargs) + self.id = id + self.name = name + self.status = status + self.properties = properties + self.error = None + + +class PatchExtension(msrest.serialization.Model): + """The Extension Patch Request object. + + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + of minor version, or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :vartype version: str + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this + extension. + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :vartype configuration_protected_settings: dict[str, str] + """ + + _attribute_map = { + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + } + + def __init__( + self, + *, + auto_upgrade_minor_version: Optional[bool] = True, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + configuration_settings: Optional[Dict[str, str]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(PatchExtension, self).__init__(**kwargs) + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + self.configuration_settings = configuration_settings + self.configuration_protected_settings = configuration_protected_settings + + +class RepositoryRefDefinition(msrest.serialization.Model): + """The source reference for the GitRepository object. + + :ivar branch: The git repository branch name to checkout. + :vartype branch: str + :ivar tag: The git repository tag name to checkout. This takes precedence over branch. + :vartype tag: str + :ivar semver: The semver range used to match against git repository tags. This takes precedence + over tag. + :vartype semver: str + :ivar commit: The commit SHA to checkout. This value must be combined with the branch name to + be valid. This takes precedence over semver. + :vartype commit: str + """ + + _attribute_map = { + 'branch': {'key': 'branch', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + 'semver': {'key': 'semver', 'type': 'str'}, + 'commit': {'key': 'commit', 'type': 'str'}, + } + + def __init__( + self, + *, + branch: Optional[str] = None, + tag: Optional[str] = None, + semver: Optional[str] = None, + commit: Optional[str] = None, + **kwargs + ): + """ + :keyword branch: The git repository branch name to checkout. + :paramtype branch: str + :keyword tag: The git repository tag name to checkout. This takes precedence over branch. + :paramtype tag: str + :keyword semver: The semver range used to match against git repository tags. This takes + precedence over tag. + :paramtype semver: str + :keyword commit: The commit SHA to checkout. This value must be combined with the branch name + to be valid. This takes precedence over semver. + :paramtype commit: str + """ + super(RepositoryRefDefinition, self).__init__(**kwargs) + self.branch = branch + self.tag = tag + self.semver = semver + self.commit = commit + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ResourceProviderOperationDisplay + :ivar is_data_action: The flag that indicates whether the operation applies to data plane. + :vartype is_data_action: bool + :ivar origin: Origin of the operation. + :vartype origin: str + """ + + _validation = { + 'is_data_action': {'readonly': True}, + 'origin': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'origin': {'key': 'origin', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + **kwargs + ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ResourceProviderOperationDisplay + """ + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + self.is_data_action = None + self.origin = None + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + provider: Optional[str] = None, + resource: Optional[str] = None, + operation: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of operations supported by this resource provider. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ResourceProviderOperation] + :ivar next_link: URL to the next set of results, if any. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceProviderOperation"]] = None, + **kwargs + ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ResourceProviderOperation] + """ + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class Scope(msrest.serialization.Model): + """Scope of the extension. It can be either Cluster or Namespace; but not both. + + :ivar cluster: Specifies that the scope of the extension is Cluster. + :vartype cluster: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ScopeCluster + :ivar namespace: Specifies that the scope of the extension is Namespace. + :vartype namespace: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ScopeNamespace + """ + + _attribute_map = { + 'cluster': {'key': 'cluster', 'type': 'ScopeCluster'}, + 'namespace': {'key': 'namespace', 'type': 'ScopeNamespace'}, + } + + def __init__( + self, + *, + cluster: Optional["ScopeCluster"] = None, + namespace: Optional["ScopeNamespace"] = None, + **kwargs + ): + """ + :keyword cluster: Specifies that the scope of the extension is Cluster. + :paramtype cluster: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ScopeCluster + :keyword namespace: Specifies that the scope of the extension is Namespace. + :paramtype namespace: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ScopeNamespace + """ + super(Scope, self).__init__(**kwargs) + self.cluster = cluster + self.namespace = namespace + + +class ScopeCluster(msrest.serialization.Model): + """Specifies that the scope of the extension is Cluster. + + :ivar release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :vartype release_namespace: str + """ + + _attribute_map = { + 'release_namespace': {'key': 'releaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + release_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :paramtype release_namespace: str + """ + super(ScopeCluster, self).__init__(**kwargs) + self.release_namespace = release_namespace + + +class ScopeNamespace(msrest.serialization.Model): + """Specifies that the scope of the extension is Namespace. + + :ivar target_namespace: Namespace where the extension will be created for an Namespace scoped + extension. If this namespace does not exist, it will be created. + :vartype target_namespace: str + """ + + _attribute_map = { + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + target_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword target_namespace: Namespace where the extension will be created for an Namespace + scoped extension. If this namespace does not exist, it will be created. + :paramtype target_namespace: str + """ + super(ScopeNamespace, self).__init__(**kwargs) + self.target_namespace = target_namespace + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SystemData + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperatorType + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :vartype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperatorScopeType + :ivar repository_public_key: Public Key associated with this SourceControl configuration + (either generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + required to access private Git instances. + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. Possible values + include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ProvisioningStateType + :ivar compliance_status: Compliance Status of the Configuration. + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__( + self, + *, + repository_url: Optional[str] = None, + operator_namespace: Optional[str] = "default", + operator_instance_name: Optional[str] = None, + operator_type: Optional[Union[str, "OperatorType"]] = None, + operator_params: Optional[str] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + operator_scope: Optional[Union[str, "OperatorScopeType"]] = "cluster", + ssh_known_hosts_contents: Optional[str] = None, + enable_helm_operator: Optional[bool] = None, + helm_operator_properties: Optional["HelmOperatorProperties"] = None, + **kwargs + ): + """ + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.HelmOperatorProperties + """ + super(SourceControlConfiguration, self).__init__(**kwargs) + self.system_data = None + self.repository_url = repository_url + self.operator_namespace = operator_namespace + self.operator_instance_name = operator_instance_name + self.operator_type = operator_type + self.operator_params = operator_params + self.configuration_protected_settings = configuration_protected_settings + self.operator_scope = operator_scope + self.repository_public_key = None + self.ssh_known_hosts_contents = ssh_known_hosts_contents + self.enable_helm_operator = enable_helm_operator + self.helm_operator_properties = helm_operator_properties + self.provisioning_state = None + self.compliance_status = None + + +class SourceControlConfigurationList(msrest.serialization.Model): + """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Source Control Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(SourceControlConfigurationList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.CreatedByType + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :vartype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.CreatedByType + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + created_by: Optional[str] = None, + created_by_type: Optional[Union[str, "CreatedByType"]] = None, + created_at: Optional[datetime.datetime] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None, + last_modified_at: Optional[datetime.datetime] = None, + **kwargs + ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ + super(SystemData, self).__init__(**kwargs) + self.created_by = created_by + self.created_by_type = created_by_type + self.created_at = created_at + self.last_modified_by = last_modified_by + self.last_modified_by_type = last_modified_by_type + self.last_modified_at = last_modified_at diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/models/_source_control_configuration_client_enums.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/models/_source_control_configuration_client_enums.py new file mode 100644 index 00000000000..928602199b0 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/models/_source_control_configuration_client_enums.py @@ -0,0 +1,121 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum +from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta + + +class AKSIdentityType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The identity type. + """ + + SYSTEM_ASSIGNED = "SystemAssigned" + USER_ASSIGNED = "UserAssigned" + +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The compliance state of the configuration. + """ + + PENDING = "Pending" + COMPLIANT = "Compliant" + NONCOMPLIANT = "Noncompliant" + INSTALLED = "Installed" + FAILED = "Failed" + +class CreatedByType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The type of identity that created the resource. + """ + + USER = "User" + APPLICATION = "Application" + MANAGED_IDENTITY = "ManagedIdentity" + KEY = "Key" + +class FluxComplianceState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Compliance state of the cluster object. + """ + + COMPLIANT = "Compliant" + NON_COMPLIANT = "Non-Compliant" + PENDING = "Pending" + SUSPENDED = "Suspended" + UNKNOWN = "Unknown" + +class KustomizationValidationType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Specify whether to validate the Kubernetes objects referenced in the Kustomization before + applying them to the cluster. + """ + + NONE = "none" + CLIENT = "client" + SERVER = "server" + +class LevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the status. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the message. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the operator will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Type of the operator + """ + + FLUX = "Flux" + +class ProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource. + """ + + SUCCEEDED = "Succeeded" + FAILED = "Failed" + CANCELED = "Canceled" + CREATING = "Creating" + UPDATING = "Updating" + DELETING = "Deleting" + +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource provider. + """ + + ACCEPTED = "Accepted" + DELETING = "Deleting" + RUNNING = "Running" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + +class ScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the configuration will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class SourceKindType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Source Kind to pull the configuration data from. + """ + + GIT_REPOSITORY = "GitRepository" + BUCKET = "Bucket" diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/__init__.py new file mode 100644 index 00000000000..e18b201b5dc --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/__init__.py @@ -0,0 +1,23 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._flux_configurations_operations import FluxConfigurationsOperations +from ._flux_config_operation_status_operations import FluxConfigOperationStatusOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'ExtensionsOperations', + 'OperationStatusOperations', + 'FluxConfigurationsOperations', + 'FluxConfigOperationStatusOperations', + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_extensions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_extensions_operations.py new file mode 100644 index 00000000000..5ebf5788b77 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_extensions_operations.py @@ -0,0 +1,829 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ExtensionsOperations(object): + """ExtensionsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def _create_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_create( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either Extension or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + def _update_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: + """Patch an existing Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param patch_extension: Properties to Patch in an existing Extension. + :type patch_extension: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.PatchExtension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either Extension or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + patch_extension=patch_extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_flux_config_operation_status_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_flux_config_operation_status_operations.py new file mode 100644 index 00000000000..aa9a53eca61 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_flux_config_operation_status_operations.py @@ -0,0 +1,160 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class FluxConfigOperationStatusOperations(object): + """FluxConfigOperationStatusOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_flux_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_flux_configurations_operations.py new file mode 100644 index 00000000000..cb2bddb55aa --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_flux_configurations_operations.py @@ -0,0 +1,834 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class FluxConfigurationsOperations(object): + """FluxConfigurationsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any + ) -> "_models.FluxConfiguration": + """Gets details of the Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FluxConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + def _create_or_update_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration, 'FluxConfiguration') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_create_or_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> LROPoller["_models.FluxConfiguration"]: + """Create a new Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration: Properties necessary to Create a FluxConfiguration. + :type flux_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration=flux_configuration, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def _update_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> LROPoller["_models.FluxConfiguration"]: + """Update an existing Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration_patch: Properties to Patch in an existing Flux Configuration. + :type flux_configuration_patch: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfigurationPatch + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration_patch=flux_configuration_patch, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync + from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.FluxConfigurationsList"]: + """List all Flux Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FluxConfigurationsList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfigurationsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfigurationsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("FluxConfigurationsList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations'} # type: ignore diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_operation_status_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_operation_status_operations.py new file mode 100644 index 00000000000..74483698fc0 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_operation_status_operations.py @@ -0,0 +1,287 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class OperationStatusOperations(object): + """OperationStatusOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.OperationStatusList"]: + """List Async Operations, currently in progress, in a cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationStatusList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_operations.py new file mode 100644 index 00000000000..71758018e4f --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_operations.py @@ -0,0 +1,137 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class Operations(object): + """Operations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_source_control_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..300824b2190 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_03_01/operations/_source_control_configurations_operations.py @@ -0,0 +1,572 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class SourceControlConfigurationsOperations(object): + """SourceControlConfigurationsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in your own initialized polling object for a personal polling + strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-configuration/setup.py b/src/k8s-configuration/setup.py index 5d94b005da4..cc7080203c8 100644 --- a/src/k8s-configuration/setup.py +++ b/src/k8s-configuration/setup.py @@ -16,7 +16,7 @@ logger.warn("Wheel is not available, disabling bdist_wheel hook") -VERSION = "1.4.1" +VERSION = "1.5.0" # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From 559bfa7d1683909511ca0567094fc5fb94d3b417 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Wed, 30 Mar 2022 18:24:52 +0800 Subject: [PATCH 16/70] [Release] Update index.json for extension [ k8s-configuration ] (#4601) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=1470163 Last commit: https://github.com/Azure/azure-cli-extensions/commit/ae5b97c807ced433e7e72cf0683491c7dd0152d1 --- src/index.json | 52 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/src/index.json b/src/index.json index eec50478ab5..e8af7710450 100644 --- a/src/index.json +++ b/src/index.json @@ -7717,7 +7717,7 @@ "sha256Digest": "7ab5fd8d8f05bbd78d2e5fce961a06380aa258445561b88fb1ca02261cae365a" }, { - "downloadUrl": "https://github.com/Azure/azure-devops-cli-extension/releases/download/20220324.1/azure_devops-0.25.0-py2.py3-none-any.whl", + "downloadUrl": "https://github.com/Azure/azure-devops-cli-extension/releases/download/20220324.1/azure_devops-0.25.0-py2.py3-none-any.whl", "filename": "azure_devops-0.25.0-py2.py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.30.0", @@ -19671,6 +19671,56 @@ "version": "1.4.1" }, "sha256Digest": "827006d9e0b453fbf318e09bdea7403f715f517796646476b4f621b5830597c0" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_configuration-1.5.0-py3-none-any.whl", + "filename": "k8s_configuration-1.5.0-py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.15.0", + "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/tree/main/src/k8s-configuration" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "k8s-configuration", + "run_requires": [ + { + "requires": [ + "pycryptodome (~=3.9.8)" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools K8s-configuration Extension", + "version": "1.5.0" + }, + "sha256Digest": "240ec430dc52af32a03450707a9734d29f7077c9961f7d1ebc871891f3f2d906" } ], "k8s-extension": [ From e10feeb34db80cfdaebdbc44bc2f1cff2e8c8791 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Wed, 30 Mar 2022 18:29:33 +0800 Subject: [PATCH 17/70] [Release] Update index.json for extension [ k8s-extension ] (#4600) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=1470125 Last commit: https://github.com/Azure/azure-cli-extensions/commit/944e523055bab7cac363d6c48fca66af47d8d1f4 --- src/index.json | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/src/index.json b/src/index.json index e8af7710450..ecfd5c4f073 100644 --- a/src/index.json +++ b/src/index.json @@ -20543,6 +20543,48 @@ "version": "1.0.4" }, "sha256Digest": "248b883ec7518f5db53de32d6516d358062d4703b5d958a34b2c723eb3a5b8f4" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-1.1.0-py3-none-any.whl", + "filename": "k8s_extension-1.1.0-py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.24.0", + "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/tree/main/src/k8s-extension" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "k8s-extension", + "summary": "Microsoft Azure Command-Line Tools K8s-extension Extension", + "version": "1.1.0" + }, + "sha256Digest": "c5b48df58d454f3d154711b1184af5737455dbc7af8deaacef884be307026cbd" } ], "k8sconfiguration": [ From 1f0ede570e279f0364fa12b52d1d34317490546c Mon Sep 17 00:00:00 2001 From: Calvin Date: Wed, 30 Mar 2022 10:26:04 -0700 Subject: [PATCH 18/70] Fix error msg since secrets and env vars are space delimited rather than comma delimited (#4593) --- src/containerapp/azext_containerapp/_utils.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/containerapp/azext_containerapp/_utils.py b/src/containerapp/azext_containerapp/_utils.py index 7376167f592..39ccef52633 100644 --- a/src/containerapp/azext_containerapp/_utils.py +++ b/src/containerapp/azext_containerapp/_utils.py @@ -72,8 +72,8 @@ def parse_env_var_flags(env_list, is_update_containerapp=False): key_val = pair.split('=', 1) if len(key_val) != 2: if is_update_containerapp: - raise ValidationError("Environment variables must be in the format \"=\" \"=secretref:\" ...\".") - raise ValidationError("Environment variables must be in the format \"=\" \"=secretref:\" ...\".") + raise ValidationError("Environment variables must be in the format \"= =secretref: ...\".") + raise ValidationError("Environment variables must be in the format \"= =secretref: ...\".") if key_val[0] in env_pairs: raise ValidationError("Duplicate environment variable {env} found, environment variable names must be unique.".format(env=key_val[0])) value = key_val[1].split('secretref:') @@ -101,9 +101,9 @@ def parse_secret_flags(secret_list): for pair in secret_list: key_val = pair.split('=', 1) if len(key_val) != 2: - raise ValidationError("--secrets: must be in format \"=,=,...\"") + raise ValidationError("Secrets must be in format \"= = ...\".") if key_val[0] in secret_pairs: - raise ValidationError("--secrets: duplicate secret {secret} found, secret names must be unique.".format(secret=key_val[0])) + raise ValidationError("Duplicate secret \"{secret}\" found, secret names must be unique.".format(secret=key_val[0])) secret_pairs[key_val[0]] = key_val[1] secret_var_def = [] From 991036676cee07c88697a0db683e389cd37c5ed1 Mon Sep 17 00:00:00 2001 From: Haroon Feisal Date: Wed, 30 Mar 2022 16:22:34 -0400 Subject: [PATCH 19/70] Tried to add source. --- src/containerapp/azext_containerapp/_utils.py | 6 +- src/containerapp/azext_containerapp/custom.py | 154 +++++++++++++++--- 2 files changed, 134 insertions(+), 26 deletions(-) diff --git a/src/containerapp/azext_containerapp/_utils.py b/src/containerapp/azext_containerapp/_utils.py index 7376167f592..13f862c9580 100644 --- a/src/containerapp/azext_containerapp/_utils.py +++ b/src/containerapp/azext_containerapp/_utils.py @@ -162,7 +162,7 @@ def store_as_secret_and_return_secret_ref(secrets_list, registry_user, registry_ raise ValidationError('Found secret with name \"{}\" but value does not equal the supplied registry password.'.format(registry_secret_name)) return registry_secret_name - logger.warning('Adding registry password as a secret with name \"{}\"'.format(registry_secret_name)) # pylint: disable=logging-format-interpolation + # logger.warning('Adding registry password as a secret with name \"{}\"'.format(registry_secret_name)) # pylint: disable=logging-format-interpolation secrets_list.append({ "name": registry_secret_name, "value": registry_pass @@ -234,7 +234,7 @@ def _generate_log_analytics_workspace_name(resource_group_name): def _generate_log_analytics_if_not_provided(cmd, logs_customer_id, logs_key, location, resource_group_name): if logs_customer_id is None and logs_key is None: - logger.warning("No Log Analytics workspace provided.") + # logger.warning("No Log Analytics workspace provided.") try: _validate_subscription_registered(cmd, "Microsoft.OperationalInsights") log_analytics_client = log_analytics_client_factory(cmd.cli_ctx) @@ -251,7 +251,7 @@ def _generate_log_analytics_if_not_provided(cmd, logs_customer_id, logs_key, loc workspace_name = _generate_log_analytics_workspace_name(resource_group_name) workspace_instance = Workspace(location=log_analytics_location) - logger.warning("Generating a Log Analytics workspace with name \"{}\"".format(workspace_name)) # pylint: disable=logging-format-interpolation + # logger.warning("Generating a Log Analytics workspace with name \"{}\"".format(workspace_name)) # pylint: disable=logging-format-interpolation poller = log_analytics_client.begin_create_or_update(resource_group_name, workspace_name, workspace_instance) log_analytics_workspace = LongRunningOperation(cmd.cli_ctx)(poller) diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index ce315d88827..35b005e45e4 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -292,6 +292,7 @@ def create_containerapp(cmd, startup_command=None, args=None, tags=None, + disable_warnings=False, no_wait=False): _validate_subscription_registered(cmd, "Microsoft.App") @@ -300,7 +301,7 @@ def create_containerapp(cmd, revisions_mode or secrets or env_vars or cpu or memory or registry_server or\ registry_user or registry_pass or dapr_enabled or dapr_app_port or dapr_app_id or\ startup_command or args or tags: - logger.warning('Additional flags were passed along with --yaml. These flags will be ignored, and the configuration defined in the yaml will be used instead') + not disable_warnings and logger.warning('Additional flags were passed along with --yaml. These flags will be ignored, and the configuration defined in the yaml will be used instead') return create_containerapp_yaml(cmd=cmd, name=name, resource_group_name=resource_group_name, file_name=yaml, no_wait=no_wait) if not image: @@ -417,12 +418,12 @@ def create_containerapp(cmd, cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) if "properties" in r and "provisioningState" in r["properties"] and r["properties"]["provisioningState"].lower() == "waiting" and not no_wait: - logger.warning('Containerapp creation in progress. Please monitor the creation using `az containerapp show -n {} -g {}`'.format(name, resource_group_name)) + not disable_warnings and logger.warning('Containerapp creation in progress. Please monitor the creation using `az containerapp show -n {} -g {}`'.format(name, resource_group_name)) if "configuration" in r["properties"] and "ingress" in r["properties"]["configuration"] and "fqdn" in r["properties"]["configuration"]["ingress"]: - logger.warning("\nContainer app created. Access your app at https://{}/\n".format(r["properties"]["configuration"]["ingress"]["fqdn"])) + not disable_warnings and logger.warning("\nContainer app created. Access your app at https://{}/\n".format(r["properties"]["configuration"]["ingress"]["fqdn"])) else: - logger.warning("\nContainer app created. To access it over HTTPS, enable ingress: az containerapp ingress enable --help\n") + not disable_warnings and logger.warning("\nContainer app created. To access it over HTTPS, enable ingress: az containerapp ingress enable --help\n") return r except Exception as e: @@ -447,6 +448,7 @@ def update_containerapp(cmd, startup_command=None, args=None, tags=None, + disable_warnings=False, no_wait=False): _validate_subscription_registered(cmd, "Microsoft.App") @@ -501,6 +503,9 @@ def update_containerapp(cmd, if image is not None: c["image"] = image + if remove_all_env_vars: + c["env"] = [] + if set_env_vars is not None: if "env" not in c or not c["env"]: c["env"] = [] @@ -519,9 +524,6 @@ def update_containerapp(cmd, # env vars _remove_env_vars(c["env"], remove_env_vars) - if remove_all_env_vars: - c["env"] = [] - if startup_command is not None: if isinstance(startup_command, list) and not startup_command: c["command"] = None @@ -606,7 +608,7 @@ def update_containerapp(cmd, cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) if "properties" in r and "provisioningState" in r["properties"] and r["properties"]["provisioningState"].lower() == "waiting" and not no_wait: - logger.warning('Containerapp update in progress. Please monitor the update using `az containerapp show -n {} -g {}`'.format(name, resource_group_name)) + not disable_warnings and logger.warning('Containerapp update in progress. Please monitor the update using `az containerapp show -n {} -g {}`'.format(name, resource_group_name)) return r except Exception as e: @@ -659,6 +661,7 @@ def create_managed_environment(cmd, platform_reserved_dns_ip=None, internal_only=False, tags=None, + disable_warnings=False, no_wait=False): location = location or _get_location_from_resource_group(cmd.cli_ctx, resource_group_name) @@ -713,9 +716,9 @@ def create_managed_environment(cmd, cmd=cmd, resource_group_name=resource_group_name, name=name, managed_environment_envelope=managed_env_def, no_wait=no_wait) if "properties" in r and "provisioningState" in r["properties"] and r["properties"]["provisioningState"].lower() == "waiting" and not no_wait: - logger.warning('Containerapp environment creation in progress. Please monitor the creation using `az containerapp env show -n {} -g {}`'.format(name, resource_group_name)) + not disable_warnings and logger.warning('Containerapp environment creation in progress. Please monitor the creation using `az containerapp env show -n {} -g {}`'.format(name, resource_group_name)) - logger.warning("\nContainer Apps environment created. To deploy a container app, use: az containerapp create --help\n") + not disable_warnings and logger.warning("\nContainer Apps environment created. To deploy a container app, use: az containerapp create --help\n") return r except Exception as e: @@ -1410,7 +1413,7 @@ def show_ingress(cmd, name, resource_group_name): raise ValidationError("The containerapp '{}' does not have ingress enabled.".format(name)) from e -def enable_ingress(cmd, name, resource_group_name, type, target_port, transport, allow_insecure=False, no_wait=False): # pylint: disable=redefined-builtin +def enable_ingress(cmd, name, resource_group_name, type, target_port, transport, allow_insecure=False, disable_warnings=False, no_wait=False): # pylint: disable=redefined-builtin _validate_subscription_registered(cmd, "Microsoft.App") containerapp_def = None @@ -1444,7 +1447,7 @@ def enable_ingress(cmd, name, resource_group_name, type, target_port, transport, try: r = ContainerAppClient.create_or_update( cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) - logger.warning("\nIngress enabled. Access your app at https://{}/\n".format(r["properties"]["configuration"]["ingress"]["fqdn"])) + not disable_warnings and logger.warning("\nIngress enabled. Access your app at https://{}/\n".format(r["properties"]["configuration"]["ingress"]["fqdn"])) return r["properties"]["configuration"]["ingress"] except Exception as e: handle_raw_exception(e) @@ -1566,7 +1569,7 @@ def list_registry(cmd, name, resource_group_name): raise ValidationError("The containerapp {} has no assigned registries.".format(name)) from e -def set_registry(cmd, name, resource_group_name, server, username=None, password=None, no_wait=False): +def set_registry(cmd, name, resource_group_name, server, username=None, password=None, disable_warnings=False, no_wait=False): _validate_subscription_registered(cmd, "Microsoft.App") containerapp_def = None @@ -1592,7 +1595,7 @@ def set_registry(cmd, name, resource_group_name, server, username=None, password # If registry is Azure Container Registry, we can try inferring credentials if '.azurecr.io' not in server: raise RequiredArgumentMissingError('Registry username and password are required if you are not using Azure Container Registry.') - logger.warning('No credential was provided to access Azure Container Registry. Trying to look up...') + not disable_warnings and logger.warning('No credential was provided to access Azure Container Registry. Trying to look up...') parsed = urlparse(server) registry_name = (parsed.netloc if parsed.scheme else parsed.path).split('.')[0] @@ -1605,7 +1608,7 @@ def set_registry(cmd, name, resource_group_name, server, username=None, password updating_existing_registry = False for r in registries_def: if r['server'].lower() == server.lower(): - logger.warning("Updating existing registry.") + not disable_warnings and logger.warning("Updating existing registry.") updating_existing_registry = True if username: r["username"] = username @@ -1933,6 +1936,7 @@ def remove_dapr_component(cmd, resource_group_name, dapr_component_name, environ except Exception as e: handle_raw_exception(e) + def containerapp_up(cmd, name=None, resource_group_name=None, @@ -1949,6 +1953,8 @@ def containerapp_up(cmd, registry_password=None, env_vars=None, dryrun=False, + logs_customer_id=None, + logs_key=None, no_wait=False): import os src_dir = os.getcwd() @@ -1959,6 +1965,10 @@ def containerapp_up(cmd, name = image.split('/')[-1].split(':')[0].lower() # .azurecr.io/: if source: name = source.replace('.', '').replace('/', '').lower() + if not image: + image = name # not sure if both allowed + print(image) + print(name) if not resource_group_name: try: @@ -1997,27 +2007,37 @@ def containerapp_up(cmd, except: pass + if source: + queue_acr_build(cmd, "my-container-apps", "haroonftstregistry", image, source) + if not containerapp_def: if not location: - location = "canadacentral" # check user's default location? + location = "eastus2" # check user's default location? find least populated server? if not resource_group_name: user = get_profile_username() rg_name = get_randomized_name(user, resource_group_name) + logger.warning("Creating new resource group {}".format(rg_name)) create_resource_group(cmd, rg_name, location) resource_group_name = rg_name if not managed_env: env_name = "{}-env".format(name).replace("_","-") - managed_env = create_managed_environment(cmd, env_name, location = "canadacentral", resource_group_name=resource_group_name)["id"] + logger.warning("Creating new managed environment {}".format(env_name)) + managed_env = create_managed_environment(cmd, env_name, location = location, resource_group_name=resource_group_name, logs_key=logs_key, logs_customer_id=logs_customer_id, disable_warnings=True, no_wait=no_wait)["id"] + else: + location = containerapp_def["location"] + managed_env = containerapp_def["properties"]["managedEnvironmentId"] + env_name = containerapp_def["properties"]["managedEnvironmentId"].split('/')[8] + if logs_customer_id and logs_key: + managed_env = create_managed_environment(cmd, env_name, location = location, resource_group_name=resource_group_name, logs_key=logs_key, logs_customer_id=logs_customer_id, disable_warnings=True, no_wait=no_wait)["id"] + if source: _set_webapp_up_default_args(cmd, resource_group_name, location, name, managed_env) - return create_containerapp(cmd=cmd, name=name, resource_group_name=resource_group_name, image=image, managed_env=managed_env, target_port=port, registry_server=registry_server, registry_pass=registry_password, registry_user=registry_username, env_vars=env_vars, ingress=ingress, no_wait=no_wait) - else: - return + return create_containerapp(cmd=cmd, name=name, resource_group_name=resource_group_name, image=image, managed_env=managed_env, target_port=port, registry_server=registry_server, registry_pass=registry_password, registry_user=registry_username, env_vars=env_vars, ingress=ingress, disable_warnings=True, no_wait=no_wait) -def get_randomized_name(prefix, name=None): +def get_randomized_name(prefix, name=None, initial="rg"): from random import randint - default = "{}_rg_{:04}".format(prefix, randint(0, 9999)) + default = "{}_{}_{:04}".format(prefix, initial, randint(0, 9999)) if name is not None: return name return default @@ -2053,6 +2073,7 @@ def get_profile_username(): user = user.split('#', 1)[1] return user + def create_resource_group(cmd, rg_name, location): from azure.cli.core.profiles import ResourceType, get_sdk rcf = _resource_client_factory(cmd.cli_ctx) @@ -2060,7 +2081,94 @@ def create_resource_group(cmd, rg_name, location): rg_params = resource_group(location=location) return rcf.resource_groups.create_or_update(rg_name, rg_params) + def _resource_client_factory(cli_ctx, **_): from azure.cli.core.commands.client_factory import get_mgmt_service_client from azure.cli.core.profiles import ResourceType - return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES) \ No newline at end of file + return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES) + + +def queue_acr_build(cmd, registry_rg, registry_name, img_name, src_dir): + import os, uuid, tempfile + from azure.cli.command_modules.acr._archive_utils import upload_source_code + from azure.cli.command_modules.acr._stream_utils import stream_logs + from azure.cli.command_modules.acr._client_factory import cf_acr_registries_tasks + + from azure.cli.core.commands import LongRunningOperation + + # client_registries = get_acr_service_client(cmd.cli_ctx).registries + client_registries = cf_acr_registries_tasks(cmd.cli_ctx) + + + if not os.path.isdir(src_dir): + raise CLIError("Source directory should be a local directory path.") + + + docker_file_path = os.path.join(src_dir, "Dockerfile") + if not os.path.isfile(docker_file_path): + raise CLIError("Unable to find '{}'.".format(docker_file_path)) + + + # NOTE: os.path.basename is unable to parse "\" in the file path + original_docker_file_name = os.path.basename(docker_file_path.replace("\\", "/")) + docker_file_in_tar = '{}_{}'.format(uuid.uuid4().hex, original_docker_file_name) + tar_file_path = os.path.join(tempfile.gettempdir(), 'build_archive_{}.tar.gz'.format(uuid.uuid4().hex)) + + + source_location = upload_source_code(cmd, client_registries, registry_name, registry_rg, src_dir, tar_file_path, docker_file_path, docker_file_in_tar) + + # For local source, the docker file is added separately into tar as the new file name (docker_file_in_tar) + # So we need to update the docker_file_path + docker_file_path = docker_file_in_tar + + + from azure.cli.core.profiles import ResourceType + OS, Architecture = cmd.get_models('OS', 'Architecture', resource_type=ResourceType.MGMT_CONTAINERREGISTRY, operation_group='runs') + # Default platform values + platform_os = OS.linux.value + platform_arch = Architecture.amd64.value + platform_variant = None + + + DockerBuildRequest, PlatformProperties = cmd.get_models('DockerBuildRequest', 'PlatformProperties', + resource_type=ResourceType.MGMT_CONTAINERREGISTRY, operation_group='runs') + docker_build_request = DockerBuildRequest( + image_names=[img_name], + is_push_enabled=True, + source_location=source_location, + platform=PlatformProperties( + os=platform_os, + architecture=platform_arch, + variant=platform_variant + ), + docker_file_path=docker_file_path, + timeout=None, + arguments=[]) + + + queued_build = LongRunningOperation(cmd.cli_ctx)(client_registries.begin_schedule_run( + resource_group_name=registry_rg, + registry_name=registry_name, + run_request=docker_build_request)) + + + run_id = queued_build.run_id + logger.warning("Queued a build with ID: %s", run_id) + logger.warning("Waiting for agent...") + + from azure.cli.command_modules.acr._client_factory import (cf_acr_runs) + # client_runs = get_acr_service_client(cmd.cli_ctx).runs + client_runs = cf_acr_runs + + + + return stream_logs(client_runs, run_id, registry_name, registry_rg, False, True) + + +def get_acr_service_client(cli_ctx, api_version=None): + """Returns the client for managing container registries. """ + from azure.mgmt.containerregistry import ContainerRegistryManagementClient + from azure.cli.core.profiles import ResourceType + from azure.cli.core.commands.client_factory import get_mgmt_service_client + + return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_CONTAINERREGISTRY, api_version="2019-06-01-preview") \ No newline at end of file From 02109eb7e1ee843d74eac9c8c0c718e7bc860e76 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Thu, 31 Mar 2022 10:16:08 +0800 Subject: [PATCH 20/70] [Release] Update index.json for extension [ quantum ] (#4596) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=1469753 Last commit: https://github.com/Azure/azure-cli-extensions/commit/94030c50cdd2c7666dfcee9926adc5c6a90cb8f5 --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index ecfd5c4f073..f9c209a0b2f 100644 --- a/src/index.json +++ b/src/index.json @@ -24389,6 +24389,49 @@ "version": "0.13.0" }, "sha256Digest": "d37a85117a1b0989c1ceba8bbb571c777b626eabf9ce14161617837dbfeb067e" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.14.0-py3-none-any.whl", + "filename": "quantum-0.14.0-py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.23.0", + "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": "que-contacts@microsoft.com", + "name": "Microsoft Corporation, Quantum Team", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/main/src/quantum" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "quantum", + "summary": "Microsoft Azure Command-Line Tools Quantum Extension", + "version": "0.14.0" + }, + "sha256Digest": "bad894820d83dceabf1805498ad98d1dc196fe8e1c6907136d60cbea30fee816" } ], "quota": [ From 991999ece34a5b7a1d952aec6c7ddaaf87f94d01 Mon Sep 17 00:00:00 2001 From: Derek Bekoe Date: Wed, 30 Mar 2022 19:20:11 -0700 Subject: [PATCH 21/70] Remove Codespaces extension (#4595) --- .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 f9c209a0b2f..666142bed4b 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", From 8b3ddaed5cb590377d604cb7832ed430dc1c5058 Mon Sep 17 00:00:00 2001 From: FumingZhang <81607949+FumingZhang@users.noreply.github.com> Date: Thu, 31 Mar 2022 16:53:41 +0800 Subject: [PATCH 22/70] {AKS} Filter out monitor related cases for cli runner (#4582) * filter out monitor related cases for cli runner * clean up * Trigger Build --- .../azcli_aks_live_test/configs/cli_matrix_default.json | 8 ++++++-- .../azcli_aks_live_test/configs/ext_matrix_default.json | 3 +-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/aks-preview/azcli_aks_live_test/configs/cli_matrix_default.json b/src/aks-preview/azcli_aks_live_test/configs/cli_matrix_default.json index ead69c845c4..b2b69857051 100644 --- a/src/aks-preview/azcli_aks_live_test/configs/cli_matrix_default.json +++ b/src/aks-preview/azcli_aks_live_test/configs/cli_matrix_default.json @@ -8,9 +8,13 @@ "compatibility issue": [ "test_aks_nodepool_add_with_ossku" ], - "need additional feature": [ + "need feature registration": [ "test_aks_create_enable_encryption", - "test_aks_create_edge_zone" + "test_aks_create_edge_zone", + "test_aks_create_with_monitoring_aad_auth_msi", + "test_aks_create_with_monitoring_aad_auth_uai", + "test_aks_enable_monitoring_with_aad_auth_msi", + "test_aks_enable_monitoring_with_aad_auth_uai" ] } } \ No newline at end of file diff --git a/src/aks-preview/azcli_aks_live_test/configs/ext_matrix_default.json b/src/aks-preview/azcli_aks_live_test/configs/ext_matrix_default.json index eec0acc54dc..d45d3ce6382 100644 --- a/src/aks-preview/azcli_aks_live_test/configs/ext_matrix_default.json +++ b/src/aks-preview/azcli_aks_live_test/configs/ext_matrix_default.json @@ -9,7 +9,7 @@ "test_aks_nodepool_add_with_ossku", "test_aks_create_with_ossku" ], - "need additional feature": [ + "need feature registration": [ "test_aks_create_with_gitops_addon", "test_aks_enable_addon_with_gitops", "test_aks_disable_addon_gitops", @@ -21,7 +21,6 @@ "test_aks_enable_monitoring_with_aad_auth_msi", "test_aks_enable_monitoring_with_aad_auth_uai", "test_aks_create_and_update_with_managed_nat_gateway_outbound", - "test_aks_create_with_http_proxy_config", "test_aks_nodepool_add_with_workload_runtime", "test_aks_nodepool_add_with_gpu_instance_profile", "test_aks_create_with_oidc_issuer_enabled", From 8f72a562e5dc4ed7359bb8de94ea7eb138e9cf9c Mon Sep 17 00:00:00 2001 From: Mason Chen Date: Thu, 31 Mar 2022 17:23:36 +0800 Subject: [PATCH 23/70] [Spring-cloud] Add support for AppMSI (#4598) * use 2022-03-01-preview sdk for app command and app identity command, and re-generate the recording-test yaml files * Add a temp version number * Add params definition for identity remove Add helps for params in identity remove Add validators for params in identity remove Add unit test for params validator * refine help and example for command group spring-cloud app identity remove * refine help and example for command group spring-cloud app identity remove * refine help and example for command group spring-cloud app identity remove * add support to remove user-assigned managed identities. * mark user-assigned as preview for identity remove * refine identity remove * For identity assign 1) Refine help info for command 2) Add parameters 3) Add validator 4) Add UT for validator * For identity assign: implement * refactor and add UT and add scenario test * refine help info for app identity * hide role and scope from help info * For app create with managed identity: 1. Add param 2. Add help info 3. Add validator 4. Add UT for validator * For app create with managed identity: refactor validator * For app create with managed identity: refine validator * For app create with managed identity: implement and add partial recording test * For app create with managed identity: add recording test for create app with user assigned managed identities * For app create with managed identity: add recording test for create app with both assigned managed identities * For app identity force-set managed identity: 1. add parameters 2. add validator 3. add method in help 4. add command 5. add stub implementation 6. add UT for validator * For app identity force-set managed identity: implement * For app identity force-set managed identity: add recording test for force-set * remove not used import * fix role assignment bugs * refine payload for force-set identities * switch app show to use 2022-03-01-preview api version * update deprecation info for role param * refactor code * simplify force-set * add version number * refactor "updating" and "deleting" * fix bug for async operation * update version info * Update version number * Update version to build a extension for testing team * refine warning: in the future -> in future * refine help info for force-set params * refine example description for command force-set * refactor _format_identity in _app_factory * add scope and role from deprecated back to supported status in help information. Will add not support and obsolete warning for specific cases. * add example for role assignment for system-assigned managed identity. * update version number for testing * update version number and history. * fix lint * refine the CLIError, and categorize into different types * refine the CLIError, and categorize into different types * fix lint 2 --- src/spring-cloud/HISTORY.md | 4 + .../azext_spring_cloud/_app_factory.py | 34 +- .../_app_managed_identity_validator.py | 137 + .../azext_spring_cloud/_client_factory.py | 7 + .../azext_spring_cloud/_clierror.py | 11 + src/spring-cloud/azext_spring_cloud/_help.py | 32 +- .../azext_spring_cloud/_params.py | 52 +- src/spring-cloud/azext_spring_cloud/app.py | 5 +- .../app_managed_identity.py | 393 ++ .../azext_spring_cloud/commands.py | 22 +- src/spring-cloud/azext_spring_cloud/custom.py | 66 +- .../latest/app_managed_identity/__init__.py | 5 + .../recordings/test_app_identity_crud.yaml | 2210 ++++++++++ .../test_app_identity_force_set.yaml | 2232 ++++++++++ .../test_create_app_with_assign_identity.yaml | 837 ++++ .../test_create_app_with_both_identity.yaml | 1888 +++++++++ .../test_create_app_with_system_assigned.yaml | 2435 +++++++++++ .../test_create_app_with_user_identity.yaml | 838 ++++ ...app_managed_identity_force_set_scenario.py | 128 + ...pp_managed_identity_force_set_validator.py | 108 + .../test_app_managed_identity_remove.py | 207 + .../test_app_managed_identity_scenario.py | 118 + .../test_app_managed_identity_validator.py | 163 + ..._create_app_with_both_identity_scenario.py | 70 + ...ate_app_with_managed_identity_validator.py | 126 + ...reate_app_with_system_identity_scenario.py | 41 + ..._create_app_with_user_identity_scenario.py | 70 + .../latest/recordings/test_app_crud.yaml | 696 ++- .../latest/recordings/test_app_crud_1.yaml | 476 +-- .../recordings/test_app_deploy_container.yaml | 158 +- .../latest/recordings/test_app_i2a_tls.yaml | 1027 ++--- .../recordings/test_bind_cert_to_domain.yaml | 3772 ++++++++--------- .../test_blue_green_deployment.yaml | 849 ++-- .../latest/recordings/test_deploy_app.yaml | 1838 +++----- .../test_load_public_cert_to_app.yaml | 555 +-- .../tests/latest/test_asc_app_scenario.py | 2 +- src/spring-cloud/setup.py | 2 +- 37 files changed, 15940 insertions(+), 5674 deletions(-) create mode 100644 src/spring-cloud/azext_spring_cloud/_app_managed_identity_validator.py create mode 100644 src/spring-cloud/azext_spring_cloud/_clierror.py create mode 100644 src/spring-cloud/azext_spring_cloud/app_managed_identity.py create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/__init__.py create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_app_identity_crud.yaml create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_app_identity_force_set.yaml create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_create_app_with_assign_identity.yaml create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_create_app_with_both_identity.yaml create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_create_app_with_system_assigned.yaml create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_create_app_with_user_identity.yaml create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_app_managed_identity_force_set_scenario.py create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_app_managed_identity_force_set_validator.py create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_app_managed_identity_remove.py create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_app_managed_identity_scenario.py create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_app_managed_identity_validator.py create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_create_app_with_both_identity_scenario.py create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_create_app_with_managed_identity_validator.py create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_create_app_with_system_identity_scenario.py create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_create_app_with_user_identity_scenario.py diff --git a/src/spring-cloud/HISTORY.md b/src/spring-cloud/HISTORY.md index bc038199c24..414a7acfda0 100644 --- a/src/spring-cloud/HISTORY.md +++ b/src/spring-cloud/HISTORY.md @@ -1,5 +1,9 @@ Release History =============== +3.1.0 +--- +* Add support for user-assigned managed identity on App (Preview). + 3.0.1 --- * `az spring-cloud app deploy` has new preview argument "--build-env" to specify build module and jvm version and so on. diff --git a/src/spring-cloud/azext_spring_cloud/_app_factory.py b/src/spring-cloud/azext_spring_cloud/_app_factory.py index 1d43e2e069f..4f1bbff9875 100644 --- a/src/spring-cloud/azext_spring_cloud/_app_factory.py +++ b/src/spring-cloud/azext_spring_cloud/_app_factory.py @@ -6,6 +6,7 @@ # pylint: disable=wrong-import-order from azure.cli.core.azclierror import FileOperationError, InvalidArgumentValueError from .vendored_sdks.appplatform.v2022_01_01_preview import models +from .vendored_sdks.appplatform.v2022_03_01_preview import models as models_20220301preview from azure.cli.core.util import get_file_json @@ -23,10 +24,35 @@ def _format_properties(self, **kwargs): kwargs['temporary_disk'] = self._load_temp_disk(**kwargs) return models.AppResourceProperties(**kwargs) - def _format_identity(self, assign_identity=None, **_): - if assign_identity is not None: - assign_type = 'systemassigned' if assign_identity else 'None' - return models.ManagedIdentityProperties(type=assign_type) + def _format_identity(self, system_assigned=None, user_assigned=None, **_): + target_identity_type = self._get_identity_assign_type(system_assigned, user_assigned) + user_identity_payload = self._get_user_identity_payload(user_assigned) + identity_props = None + if target_identity_type != models_20220301preview.ManagedIdentityType.NONE: + identity_props = models_20220301preview.ManagedIdentityProperties() + identity_props.type = target_identity_type + identity_props.user_assigned_identities = user_identity_payload + return identity_props + + def _get_identity_assign_type(self, system_assigned=None, user_assigned=None): + target_identity_type = models_20220301preview.ManagedIdentityType.NONE + if system_assigned and user_assigned: + target_identity_type = models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED + elif system_assigned: + target_identity_type = models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED + elif user_assigned: + target_identity_type = models_20220301preview.ManagedIdentityType.USER_ASSIGNED + return target_identity_type + + def _get_user_identity_payload(self, user_assigned=None): + if not user_assigned: + return None + user_identity_payload = {} + for user_identity_resource_id in user_assigned: + user_identity_payload[user_identity_resource_id] = models_20220301preview.UserAssignedManagedIdentity() + if len(user_identity_payload) == 0: + user_identity_payload = None + return user_identity_payload def _load_temp_disk(self, enable_temporary_disk=None, **_): if enable_temporary_disk is not None: diff --git a/src/spring-cloud/azext_spring_cloud/_app_managed_identity_validator.py b/src/spring-cloud/azext_spring_cloud/_app_managed_identity_validator.py new file mode 100644 index 00000000000..3263b2388e6 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/_app_managed_identity_validator.py @@ -0,0 +1,137 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from azure.cli.core.azclierror import InvalidArgumentValueError +from azure.mgmt.core.tools import is_valid_resource_id +from knack.log import get_logger + + +logger = get_logger(__name__) + + +OBSOLETE_APP_IDENTITY_REMOVE = "Remove managed identities without \"system-assigned\" or \"user-assigned\" parameters is obsolete, will only remove system-assigned managed identity, and will not be supported in a future release." +WARNING_NO_USER_IDENTITY_RESOURCE_ID = "No resource ID of user-assigned managed identity is given for parameter \"user-assigned\", will remove ALL user-assigned managed identities." +OBSOLETE_APP_IDENTITY_ASSIGN = "Assign managed identities without \"system-assigned\" or \"user-assigned\" parameters is obsolete, will only enable system-assigned managed identity, and will not be supported in a future release." +ENABLE_LOWER = "enable" +DISABLE_LOWER = "disable" + + +def validate_app_identity_remove_or_warning(namespace): + if namespace.system_assigned is None and namespace.user_assigned is None: + logger.warning(OBSOLETE_APP_IDENTITY_REMOVE) + if namespace.user_assigned is not None: + if not isinstance(namespace.user_assigned, list): + raise InvalidArgumentValueError("Parameter value for \"user-assigned\" should be empty or a list of space-separated managed identity resource ID.") + if len(namespace.user_assigned) == 0: + logger.warning(WARNING_NO_USER_IDENTITY_RESOURCE_ID) + namespace.user_assigned = _normalized_user_identitiy_resource_id_list(namespace.user_assigned) + for resource_id in namespace.user_assigned: + is_valid = _is_valid_user_assigned_managed_identity_resource_id(resource_id) + if not is_valid: + raise InvalidArgumentValueError("Invalid user-assigned managed identity resource ID \"{}\".".format(resource_id)) + + +def _normalized_user_identitiy_resource_id_list(user_identity_resource_id_list): + result = [] + if not user_identity_resource_id_list: + return result + for id in user_identity_resource_id_list: + result.append(id.strip().lower()) + return result + + +def _is_valid_user_assigned_managed_identity_resource_id(resource_id): + if not is_valid_resource_id(resource_id.lower()): + return False + if "/providers/Microsoft.ManagedIdentity/userAssignedIdentities/".lower() not in resource_id.lower(): + return False + return True + + +def validate_app_identity_assign_or_warning(namespace): + _warn_if_no_identity_type_params(namespace) + _validate_role_and_scope_should_use_together(namespace) + _validate_role_and_scope_should_not_use_with_user_identity(namespace) + _validate_user_identity_resource_id(namespace) + _normalize_user_identity_resource_id(namespace) + + +def _warn_if_no_identity_type_params(namespace): + if namespace.system_assigned is None and namespace.user_assigned is None: + logger.warning(OBSOLETE_APP_IDENTITY_ASSIGN) + + +def _validate_role_and_scope_should_use_together(namespace): + if _has_role_or_scope(namespace) and not _has_role_and_scope(namespace): + raise InvalidArgumentValueError("Parameter \"role\" and \"scope\" should be used together.") + + +def _validate_role_and_scope_should_not_use_with_user_identity(namespace): + if _has_role_and_scope(namespace) and _only_has_user_assigned(namespace): + raise InvalidArgumentValueError("Invalid to use parameter \"role\" and \"scope\" with \"user-assigned\" parameter.") + + +def _has_role_and_scope(namespace): + return namespace.role and namespace.scope + + +def _has_role_or_scope(namespace): + return namespace.role or namespace.scope + + +def _only_has_user_assigned(namespace): + return (namespace.user_assigned) and (not namespace.system_assigned) + + +def _validate_user_identity_resource_id(namespace): + if namespace.user_assigned: + for resource_id in namespace.user_assigned: + if not _is_valid_user_assigned_managed_identity_resource_id(resource_id): + raise InvalidArgumentValueError("Invalid user-assigned managed identity resource ID \"{}\".".format(resource_id)) + + +def _normalize_user_identity_resource_id(namespace): + if namespace.user_assigned: + namespace.user_assigned = _normalized_user_identitiy_resource_id_list(namespace.user_assigned) + + +def validate_create_app_with_user_identity_or_warning(namespace): + _validate_user_identity_resource_id(namespace) + _normalize_user_identity_resource_id(namespace) + + +def validate_create_app_with_system_identity_or_warning(namespace): + """ + Note: assign_identity is deprecated, use system_assigned instead. + """ + if namespace.system_assigned is not None and namespace.assign_identity is not None: + raise InvalidArgumentValueError('Parameter "system-assigned" should not use together with "assign-identity".') + if namespace.assign_identity is not None: + namespace.system_assigned = namespace.assign_identity + + +def validate_app_force_set_system_identity_or_warning(namespace): + if namespace.system_assigned is None: + raise InvalidArgumentValueError('Parameter "system-assigned" expected at least one argument.') + namespace.system_assigned = namespace.system_assigned.strip().lower() + if namespace.system_assigned.strip().lower() not in (ENABLE_LOWER, DISABLE_LOWER): + raise InvalidArgumentValueError('Allowed values for "system-assigned" are: {}, {}.'.format(ENABLE_LOWER, DISABLE_LOWER)) + + +def validate_app_force_set_user_identity_or_warning(namespace): + if namespace.user_assigned is None or len(namespace.user_assigned) == 0: + raise InvalidArgumentValueError('Parameter "user-assigned" expected at least one argument.') + if len(namespace.user_assigned) == 1: + single_element = namespace.user_assigned[0].strip().lower() + if single_element != DISABLE_LOWER and not _is_valid_user_assigned_managed_identity_resource_id(single_element): + raise InvalidArgumentValueError('Allowed values for "user-assigned" are: {}, space-separated user-assigned managed identity resource IDs.'.format(DISABLE_LOWER)) + elif single_element == DISABLE_LOWER: + namespace.user_assigned = [DISABLE_LOWER] + else: + _normalize_user_identity_resource_id(namespace) + else: + _validate_user_identity_resource_id(namespace) + _normalize_user_identity_resource_id(namespace) diff --git a/src/spring-cloud/azext_spring_cloud/_client_factory.py b/src/spring-cloud/azext_spring_cloud/_client_factory.py index 1091fa8a36d..9638a19a707 100644 --- a/src/spring-cloud/azext_spring_cloud/_client_factory.py +++ b/src/spring-cloud/azext_spring_cloud/_client_factory.py @@ -11,6 +11,9 @@ from .vendored_sdks.appplatform.v2022_01_01_preview import ( AppPlatformManagementClient as AppPlatformManagementClient_20220101preview ) +from .vendored_sdks.appplatform.v2022_03_01_preview import ( + AppPlatformManagementClient as AppPlatformManagementClient_20220301preview +) from .vendored_sdks.appplatform.v2021_06_01_preview import ( AppPlatformManagementClient as AppPlatformManagementClient_20210601preview ) @@ -19,6 +22,10 @@ ) +def cf_spring_cloud_20220301preview(cli_ctx, *_): + return get_mgmt_service_client(cli_ctx, AppPlatformManagementClient_20220301preview) + + def cf_spring_cloud_20220101preview(cli_ctx, *_): return get_mgmt_service_client(cli_ctx, AppPlatformManagementClient_20220101preview) diff --git a/src/spring-cloud/azext_spring_cloud/_clierror.py b/src/spring-cloud/azext_spring_cloud/_clierror.py new file mode 100644 index 00000000000..7c5a49ec9e2 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/_clierror.py @@ -0,0 +1,11 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core.azclierror import UserFault + + +class ConflictRequestError(UserFault): + """ Conflict request: 409 error """ + pass diff --git a/src/spring-cloud/azext_spring_cloud/_help.py b/src/spring-cloud/azext_spring_cloud/_help.py index d5076a58c2a..67b5a4cf994 100644 --- a/src/spring-cloud/azext_spring_cloud/_help.py +++ b/src/spring-cloud/azext_spring_cloud/_help.py @@ -256,25 +256,31 @@ helps['spring-cloud app identity'] = """ type: group - short-summary: Manage an app's managed service identity. + short-summary: Manage an app's managed identities. """ helps['spring-cloud app identity assign'] = """ type: command - short-summary: Enable managed service identity on an app. + short-summary: Enable system-assigned managed identity or assign user-assigned managed identities to an app. examples: - name: Enable the system assigned identity. - text: az spring-cloud app identity assign -n MyApp -s MyCluster -g MyResourceGroup + text: az spring-cloud app identity assign -n MyApp -s MyCluster -g MyResourceGroup --system-assigned - name: Enable the system assigned identity on an app with the 'Reader' role. - text: az spring-cloud app identity assign -n MyApp -s MyCluster -g MyResourceGroup --role Reader --scope /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/xxxxx/providers/Microsoft.KeyVault/vaults/xxxxx + text: az spring-cloud app identity assign -n MyApp -s MyCluster -g MyResourceGroup --system-assigned --role Reader --scope /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/xxxxx/providers/Microsoft.KeyVault/vaults/xxxxx + - name: Assign two user-assigned managed identities to an app. + text: az spring-cloud app identity assign -n MyApp -s MyCluster -g MyResourceGroup --user-assigned IdentityResourceId1 IdentityResourceId2 """ helps['spring-cloud app identity remove'] = """ type: command - short-summary: Remove managed service identity from an app. + short-summary: Remove managed identity from an app. examples: - - name: Remove the system assigned identity from an app. - text: az spring-cloud app identity remove -n MyApp -s MyCluster -g MyResourceGroup + - name: Remove the system-assigned managed identity from an app. + text: az spring-cloud app identity remove -n MyApp -s MyCluster -g MyResourceGroup --system-assigned + - name: Remove the system-assigned and user-assigned managed identities from an app. + text: az spring-cloud app identity remove -n MyApp -s MyCluster -g MyResourceGroup --system-assigned --user-assigned IdentityResourceId1 IdentityResourceId2 + - name: Remove ALL user-assigned managed identities from an app. + text: az spring-cloud app identity remove -n MyApp -s MyCluster -g MyResourceGroup --user-assigned """ helps['spring-cloud app identity show'] = """ @@ -285,6 +291,18 @@ text: az spring-cloud app identity show -n MyApp -s MyCluster -g MyResourceGroup """ +helps['spring-cloud app identity force-set'] = """ + type: command + short-summary: Force set managed identities on an app. + examples: + - name: Force remove all managed identities on an app. + text: az spring-cloud app identity force-set -n MyApp -s MyCluster -g MyResourceGroup --system-assigned disable --user-assigned disable + - name: Force remove all user-assigned managed identities on an app, and enable or keep system-assigned managed identity. + text: az spring-cloud app identity force-set -n MyApp -s MyCluster -g MyResourceGroup --system-assigned enable --user-assigned disable + - name: Force remove system-assigned managed identity on an app, and assign or keep user-assigned managed identities. + text: az spring-cloud app identity force-set -n MyApp -s MyCluster -g MyResourceGroup --system-assigned disable --user-assigned IdentityResourceId1 IdentityResourceId2 +""" + helps['spring-cloud app set-deployment'] = """ type: command short-summary: Set production deployment of an app. diff --git a/src/spring-cloud/azext_spring_cloud/_params.py b/src/spring-cloud/azext_spring_cloud/_params.py index 94a685104c6..03e862aeacc 100644 --- a/src/spring-cloud/azext_spring_cloud/_params.py +++ b/src/spring-cloud/azext_spring_cloud/_params.py @@ -25,6 +25,10 @@ from ._app_validator import (fulfill_deployment_param, active_deployment_exist, ensure_not_active_deployment, validate_deloy_path, validate_deloyment_create_path, validate_cpu, validate_memory, fulfill_deployment_param_or_warning, active_deployment_exist_or_warning) +from ._app_managed_identity_validator import (validate_create_app_with_user_identity_or_warning, + validate_create_app_with_system_identity_or_warning, + validate_app_force_set_system_identity_or_warning, + validate_app_force_set_user_identity_or_warning) from ._utils import ApiType @@ -186,8 +190,21 @@ def load_arguments(self, _): c.argument('assign_endpoint', arg_type=get_three_state_flag(), help='If true, assign endpoint URL for direct access.', default=False, options_list=['--assign-endpoint', c.deprecate(target='--is-public', redirect='--assign-endpoint', hide=True)]) - c.argument('assign_identity', arg_type=get_three_state_flag(), - help='If true, assign managed service identity.') + c.argument('assign_identity', + arg_type=get_three_state_flag(), + validator=validate_create_app_with_system_identity_or_warning, + deprecate_info=c.deprecate(target='--assign-identity', + redirect='--system-assigned', + hide=True), + help='Enable system-assigned managed identity.') + c.argument('system_assigned', + arg_type=get_three_state_flag(), + help='Enable system-assigned managed identity.') + c.argument('user_assigned', + is_preview=True, + nargs='+', + validator=validate_create_app_with_user_identity_or_warning, + help="Space-separated user-assigned managed identity resource IDs to assgin to an app.") c.argument('cpu', arg_type=cpu_type, default="1") c.argument('memory', arg_type=memort_type, default="1Gi") c.argument('instance_count', type=int, @@ -236,8 +253,35 @@ def load_arguments(self, _): c.argument('name', name_type, help='Name of app.', validator=active_deployment_exist_or_warning) with self.argument_context('spring-cloud app identity assign') as c: - c.argument('scope', help="The scope the managed identity has access to") - c.argument('role', help="Role name or id the managed identity will be assigned") + c.argument('scope', + help="The scope the managed identity has access to") + c.argument('role', + help="Role name or id the managed identity will be assigned") + c.argument('system_assigned', + arg_type=get_three_state_flag(), + help="Enable system-assigned managed identity on an app.") + c.argument('user_assigned', + is_preview=True, + nargs='+', + help="Space-separated user-assigned managed identity resource IDs to assgin to an app.") + + with self.argument_context('spring-cloud app identity remove') as c: + c.argument('system_assigned', + arg_type=get_three_state_flag(), + help="Remove system-assigned managed identity.") + c.argument('user_assigned', + is_preview=True, + nargs='*', + help="Space-separated user-assigned managed identity resource IDs to remove. If no ID is provided, remove ALL user-assigned managed identities.") + + with self.argument_context('spring-cloud app identity force-set') as c: + c.argument('system_assigned', + validator=validate_app_force_set_system_identity_or_warning, + help="Allowed values: [\"enable\", \"disable\"]. Use \"enable\" to enable or keep system-assigned managed identity. Use \"disable\" to remove system-assigned managed identity.") + c.argument('user_assigned', + nargs='+', + validator=validate_app_force_set_user_identity_or_warning, + help="Allowed values: [\"disable\", space-separated user-assigned managed identity resource IDs]. Use \"disable\" to remove all user-assigned managed identities, use resource IDs to assign or keep user-assigned managed identities.") def prepare_logs_argument(c): '''`app log tail` is deprecated. `app logs` is the new choice. They share the same command processor.''' diff --git a/src/spring-cloud/azext_spring_cloud/app.py b/src/spring-cloud/azext_spring_cloud/app.py index 6d5e54c4aab..08952e83fdd 100644 --- a/src/spring-cloud/azext_spring_cloud/app.py +++ b/src/spring-cloud/azext_spring_cloud/app.py @@ -46,6 +46,8 @@ def app_create(cmd, client, resource_group, service, name, jvm_options=None, # app.create assign_identity=None, + system_assigned=None, + user_assigned=None, # app.update enable_persistent_storage=None, persistent_storage=None, @@ -71,7 +73,8 @@ def app_create(cmd, client, resource_group, service, name, } create_app_kwargs = { - 'assign_identity': assign_identity, + 'system_assigned': system_assigned, + 'user_assigned': user_assigned, 'enable_temporary_disk': True, 'enable_persistent_storage': enable_persistent_storage, 'persistent_storage': persistent_storage, diff --git a/src/spring-cloud/azext_spring_cloud/app_managed_identity.py b/src/spring-cloud/azext_spring_cloud/app_managed_identity.py new file mode 100644 index 00000000000..7b23a4ec97c --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/app_managed_identity.py @@ -0,0 +1,393 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from ._clierror import ConflictRequestError +from ._utils import wait_till_end +from .vendored_sdks.appplatform.v2022_03_01_preview import models as models_20220301preview +from azure.cli.core.azclierror import (AzureInternalError, CLIInternalError) +from azure.core.exceptions import HttpResponseError +from msrestazure.azure_exceptions import CloudError +from azure.cli.core.commands import arm as _arm +from azure.cli.core.commands.client_factory import get_mgmt_service_client +from azure.cli.core.profiles import (ResourceType, get_sdk) +from knack.log import get_logger +from time import sleep + + +logger = get_logger(__name__) + + +ENABLE_LOWER = "enable" +DISABLE_LOWER = "disable" +UPDATING_LOWER = "updating" +DELETING_LOWER = "deleting" +APP_CREATE_OR_UPDATE_SLEEP_INTERVAL = 2 + + +def app_identity_assign(cmd, + client, + resource_group, + service, + name, + role=None, + scope=None, + system_assigned=None, + user_assigned=None): + """ + Note: Always use sync method to operate managed identity to avoid data inconsistency. + :param role: role name of role assignment for system-assigned managed identity. + :param scope: scope of role assignment for system-assigned managed identity. + :param system_assigned: 1. None or False: Don't change system-assigned managed identity. + 2. Enable system-assigned managed identity on app. + :param user_assigned: 1. None: Don't change user-assigned managed identities. + 2. A non-empty list of user-assigned managed identity resource id to app. + 3. A empty list: should be blocked by validator. + """ + # TODO(jiec): Retire legacy identity assign after migration. + poller = None + if _is_legacy_identity_assign(system_assigned, user_assigned): + poller = _legacy_app_identity_assign(cmd, client, resource_group, service, name) + else: + poller = _new_app_identity_assign(cmd, client, resource_group, service, name, system_assigned, user_assigned) + wait_till_end(poller) + poller.result() + if "succeeded" != poller.status().lower(): + return poller + + if role and scope: + _create_role_assignment(cmd, client, resource_group, service, name, role, scope) + + return client.apps.get(resource_group, service, name) + + +def app_identity_remove(cmd, + client, + resource_group, + service, + name, + system_assigned=None, + user_assigned=None): + """ + Note: Always use sync method to operate managed identity to avoid data inconsistency. + :param system_assigned: 1) None or False: Don't change system-assigned managed identity. + 2) True: remove system-assigned managed identity + :param user_assigned: 1) None: Don't change user-assigned managed identities. + 2) An empty list: remove all user-assigned managed identities. + 3) A non-empty list of user-assigned managed identity resource id to remove. + """ + app = client.apps.get(resource_group, service, name) + if _app_not_updatable(app): + raise ConflictRequestError("Failed to remove managed identities since app is in {} state.".format(app.properties.provisioning_state)) + + if not app.identity: + logger.warning("Skip remove managed identity since no identities assigned to app.") + return + if not app.identity.type: + raise AzureInternalError("Invalid existed identity type {}.".format(app.identity.type)) + if app.identity.type == models_20220301preview.ManagedIdentityType.NONE: + logger.warning("Skip remove managed identity since identity type is {}.".format(app.identity.type)) + return + + # TODO(jiec): For back-compatible, convert to remove system-assigned only case. Remove code after migration. + if system_assigned is None and user_assigned is None: + system_assigned = True + + new_user_identities = _get_new_user_identities_for_remove(app.identity.user_assigned_identities, user_assigned) + new_identity_type = _get_new_identity_type_for_remove(app.identity.type, system_assigned, new_user_identities) + user_identity_payload = _get_user_identity_payload_for_remove(new_identity_type, user_assigned) + + target_identity = models_20220301preview.ManagedIdentityProperties() + target_identity.type = new_identity_type + target_identity.user_assigned_identities = user_identity_payload + + app_resource = models_20220301preview.AppResource() + app_resource.identity = target_identity + + poller = client.apps.begin_update(resource_group, service, name, app_resource) + wait_till_end(cmd, poller) + poller.result() + if "succeeded" != poller.status().lower(): + return poller + else: + return client.apps.get(resource_group, service, name) + + +def app_identity_force_set(cmd, + client, + resource_group, + service, + name, + system_assigned, + user_assigned): + """ + :param system_assigned: string, disable or enable + :param user_assigned: 1. A single-element string list with 'disable' + 2. A non-empty list of user-assigned managed identity resource ID. + """ + exist_app = client.apps.get(resource_group, service, name) + if _app_not_updatable(exist_app): + raise ConflictRequestError("Failed to force set managed identities since app is in {} state.".format( + exist_app.properties.provisioning_state)) + + new_identity_type = _get_new_identity_type_for_force_set(system_assigned, user_assigned) + user_identity_payload = _get_user_identity_payload_for_force_set(user_assigned) + + target_identity = models_20220301preview.ManagedIdentityProperties() + target_identity.type = new_identity_type + target_identity.user_assigned_identities = user_identity_payload + + # All read-only attributes will be droped by SDK automatically. + exist_app.identity = target_identity + + poller = client.apps.begin_create_or_update(resource_group, service, name, exist_app) + wait_till_end(cmd, poller) + poller.result() + if "succeeded" != poller.status().lower(): + return poller + else: + return client.apps.get(resource_group, service, name) + + +def app_identity_show(cmd, client, resource_group, service, name): + app = client.apps.get(resource_group, service, name) + return app.identity + + +def _is_legacy_identity_assign(system_assigned, user_assigned): + return not system_assigned and not user_assigned + + +def _legacy_app_identity_assign(cmd, client, resource_group, service, name): + """ + Enable system-assigned managed identity on app. + """ + app = client.apps.get(resource_group, service, name) + if _app_not_updatable(app): + raise ConflictRequestError("Failed to enable system-assigned managed identity since app is in {} state.".format( + app.properties.provisioning_state)) + + new_identity_type = models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED + if app.identity and app.identity.type in (models_20220301preview.ManagedIdentityType.USER_ASSIGNED, + models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED): + new_identity_type = models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED + target_identity = models_20220301preview.ManagedIdentityProperties(type=new_identity_type) + app_resource = models_20220301preview.AppResource(identity=target_identity) + + logger.warning("Start to enable system-assigned managed identity.") + return client.apps.begin_update(resource_group, service, name, app_resource) + + +def _new_app_identity_assign(cmd, client, resource_group, service, name, system_assigned, user_assigned): + app = client.apps.get(resource_group, service, name) + if _app_not_updatable(app): + raise ConflictRequestError( + "Failed to assign managed identities since app is in {} state.".format(app.properties.provisioning_state)) + + new_identity_type = _get_new_identity_type_for_assign(app, system_assigned, user_assigned) + user_identity_payload = _get_user_identity_payload_for_assign(new_identity_type, user_assigned) + + identity_payload = models_20220301preview.ManagedIdentityProperties() + identity_payload.type = new_identity_type + identity_payload.user_assigned_identities = user_identity_payload + + app_resource = models_20220301preview.AppResource(identity=identity_payload) + + logger.warning("Start to assign managed identities to app.") + return client.apps.begin_update(resource_group, service, name, app_resource) + + +def _get_new_identity_type_for_assign(app, system_assigned, user_assigned): + new_identity_type = None + + if app.identity and app.identity.type: + new_identity_type = app.identity.type + else: + new_identity_type = models_20220301preview.ManagedIdentityType.NONE + + if system_assigned: + if new_identity_type in (models_20220301preview.ManagedIdentityType.USER_ASSIGNED, + models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED): + new_identity_type = models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED + else: + new_identity_type = models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED + + if user_assigned: + if new_identity_type in (models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED, + models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED): + new_identity_type = models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED + else: + new_identity_type = models_20220301preview.ManagedIdentityType.USER_ASSIGNED + + if not new_identity_type or new_identity_type == models_20220301preview.ManagedIdentityType.NONE: + raise CLIInternalError("Internal error: invalid new identity type:{}.".format(new_identity_type)) + + return new_identity_type + + +def _get_user_identity_payload_for_assign(new_identity_type, new_user_identity_rid_list): + """ + :param new_user_identity_rid_list: 1. None object. + 2. A non-empty list of user-assigned managed identity resource ID. + :return 1. None object. + 2. A dict from user-assigned managed identity to an empty object. + """ + uid_payload = {} + if new_identity_type == models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED: + pass + elif new_identity_type in (models_20220301preview.ManagedIdentityType.USER_ASSIGNED, + models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED): + if new_user_identity_rid_list: + for rid in new_user_identity_rid_list: + uid_payload[rid] = models_20220301preview.UserAssignedManagedIdentity() + + if len(uid_payload) == 0: + uid_payload = None + + return uid_payload + + +def _create_role_assignment(cmd, client, resource_group, service, name, role, scope): + app = client.apps.get(resource_group, service, name) + + if not app.identity or not app.identity.principal_id: + raise AzureInternalError( + "Failed to create role assignment without object ID(principal ID) of system-assigned managed identity.") + + identity_role_id = _arm.resolve_role_id(cmd.cli_ctx, role, scope) + assignments_client = get_mgmt_service_client(cmd.cli_ctx, ResourceType.MGMT_AUTHORIZATION).role_assignments + RoleAssignmentCreateParameters = get_sdk(cmd.cli_ctx, ResourceType.MGMT_AUTHORIZATION, + 'RoleAssignmentCreateParameters', mod='models', + operation_group='role_assignments') + parameters = RoleAssignmentCreateParameters(role_definition_id=identity_role_id, + principal_id=app.identity.principal_id) + logger.warning("Creating an assignment with a role '%s' on the scope of '%s'", identity_role_id, scope) + retry_times = 36 + assignment_name = _arm._gen_guid() + for i in range(0, retry_times): + try: + assignments_client.create(scope=scope, role_assignment_name=assignment_name, + parameters=parameters) + break + except (HttpResponseError, CloudError) as ex: + if 'role assignment already exists' in ex.message: + logger.warning('Role assignment already exists') + break + elif i < retry_times and ' does not exist in the directory ' in ex.message: + sleep(APP_CREATE_OR_UPDATE_SLEEP_INTERVAL) + logger.warning('Retrying role assignment creation: %s/%s', i + 1, + retry_times) + continue + else: + raise + + +def _get_new_user_identities_for_remove(exist_user_identity_dict, user_identity_list_to_remove): + """ + :param exist_user_identity_dict: A dict from user-assigned managed identity resource id to identity objecct. + :param user_identity_list_to_remove: None, an empty list or a list of string of user-assigned managed identity resource id to remove. + :return A list of string of user-assigned managed identity resource ID. + """ + if not exist_user_identity_dict: + return [] + + # None + if user_identity_list_to_remove is None: + return list(exist_user_identity_dict.keys()) + + # Empty list means remove all user-assigned managed identities + if len(user_identity_list_to_remove) == 0: + return [] + + # Non-empty list + new_identities = [] + for id in exist_user_identity_dict.keys(): + if not id.lower() in user_identity_list_to_remove: + new_identities.append(id) + + return new_identities + + +def _get_new_identity_type_for_remove(exist_identity_type, is_remove_system_identity, new_user_identities): + new_identity_type = exist_identity_type + + exist_identity_type_str = exist_identity_type.lower() + + if exist_identity_type_str == models_20220301preview.ManagedIdentityType.NONE.lower(): + new_identity_type = models_20220301preview.ManagedIdentityType.NONE + elif exist_identity_type_str == models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED.lower(): + if is_remove_system_identity: + new_identity_type = models_20220301preview.ManagedIdentityType.NONE + else: + new_identity_type = models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED + elif exist_identity_type_str == models_20220301preview.ManagedIdentityType.USER_ASSIGNED.lower(): + if not new_user_identities: + new_identity_type = models_20220301preview.ManagedIdentityType.NONE + else: + new_identity_type = models_20220301preview.ManagedIdentityType.USER_ASSIGNED + elif exist_identity_type_str == models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED.lower(): + if is_remove_system_identity and not new_user_identities: + new_identity_type = models_20220301preview.ManagedIdentityType.NONE + elif not is_remove_system_identity and not new_user_identities: + new_identity_type = models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED + elif is_remove_system_identity and new_user_identities: + new_identity_type = models_20220301preview.ManagedIdentityType.USER_ASSIGNED + else: + new_identity_type = models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED + else: + raise AzureInternalError("Invalid identity type: {}.".format(exist_identity_type_str)) + + return new_identity_type + + +def _get_user_identity_payload_for_remove(new_identity_type, user_identity_list_to_remove): + """ + :param new_identity_type: ManagedIdentityType + :param user_identity_list_to_remove: None, an empty list or a list of string of user-assigned managed identity resource id to remove. + :return None object or a non-empty dict from user-assigned managed identity resource id to None object + """ + user_identity_payload = {} + if new_identity_type in (models_20220301preview.ManagedIdentityType.USER_ASSIGNED, + models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED): + # empty list means remove all user-assigned managed identites + if user_identity_list_to_remove is not None and len(user_identity_list_to_remove) == 0: + raise CLIInternalError("When remove all user-assigned managed identities, " + "target identity type should not be {}.".format(new_identity_type)) + # non-empty list + elif user_identity_list_to_remove: + for id in user_identity_list_to_remove: + user_identity_payload[id] = None + + if not user_identity_payload: + user_identity_payload = None + + return user_identity_payload + + +def _get_new_identity_type_for_force_set(system_assigned, user_assigned): + new_identity_type = models_20220301preview.ManagedIdentityType.NONE + if DISABLE_LOWER == system_assigned and DISABLE_LOWER != user_assigned[0]: + new_identity_type = models_20220301preview.ManagedIdentityType.USER_ASSIGNED + elif ENABLE_LOWER == system_assigned and DISABLE_LOWER == user_assigned[0]: + new_identity_type = models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED + elif ENABLE_LOWER == system_assigned and DISABLE_LOWER != user_assigned[0]: + new_identity_type = models_20220301preview.ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED + return new_identity_type + + +def _get_user_identity_payload_for_force_set(user_assigned): + if DISABLE_LOWER == user_assigned[0]: + return None + user_identity_payload = {} + for user_identity_resource_id in user_assigned: + user_identity_payload[user_identity_resource_id] = models_20220301preview.UserAssignedManagedIdentity() + if not user_identity_payload: + user_identity_payload = None + return user_identity_payload + + +def _app_not_updatable(app): + return app.properties \ + and app.properties.provisioning_state \ + and app.properties.provisioning_state.lower() in [UPDATING_LOWER, DELETING_LOWER] diff --git a/src/spring-cloud/azext_spring_cloud/commands.py b/src/spring-cloud/azext_spring_cloud/commands.py index 9752094fff6..6b7d67d56f3 100644 --- a/src/spring-cloud/azext_spring_cloud/commands.py +++ b/src/spring-cloud/azext_spring_cloud/commands.py @@ -7,7 +7,8 @@ from azure.cli.core.commands import CliCommandType from azext_spring_cloud._utils import handle_asc_exception -from ._client_factory import (cf_spring_cloud_20220101preview, +from ._client_factory import (cf_spring_cloud_20220301preview, + cf_spring_cloud_20220101preview, cf_spring_cloud_20201101preview, cf_config_servers) from ._transformers import (transform_spring_cloud_table_output, @@ -20,6 +21,8 @@ transform_spring_cloud_gateway_output, transform_api_portal_output) from ._validators_enterprise import (validate_gateway_update, validate_api_portal_update) +from ._app_managed_identity_validator import (validate_app_identity_remove_or_warning, + validate_app_identity_assign_or_warning) # pylint: disable=too-many-statements @@ -31,7 +34,12 @@ def load_command_table(self, _): app_command = CliCommandType( operations_tmpl='azext_spring_cloud.app#{}', - client_factory=cf_spring_cloud_20220101preview + client_factory=cf_spring_cloud_20220301preview + ) + + app_managed_identity_command = CliCommandType( + operations_tmpl='azext_spring_cloud.app_managed_identity#{}', + client_factory=cf_spring_cloud_20220301preview ) service_registry_cmd_group = CliCommandType( @@ -131,7 +139,8 @@ def load_command_table(self, _): g.custom_command('list', 'app_list', table_transformer=transform_app_table_output) g.custom_show_command( - 'show', 'app_get', table_transformer=transform_app_table_output) + 'show', 'app_get', table_transformer=transform_app_table_output, + client_factory=cf_spring_cloud_20220301preview) g.custom_command('start', 'app_start', supports_no_wait=True) g.custom_command('stop', 'app_stop', supports_no_wait=True) g.custom_command('restart', 'app_restart', supports_no_wait=True) @@ -139,10 +148,11 @@ def load_command_table(self, _): g.custom_command('append-persistent-storage', 'app_append_persistent_storage') g.custom_command('append-loaded-public-certificate', 'app_append_loaded_public_certificate') - with self.command_group('spring-cloud app identity', client_factory=cf_spring_cloud_20220101preview, + with self.command_group('spring-cloud app identity', custom_command_type=app_managed_identity_command, exception_handler=handle_asc_exception) as g: - g.custom_command('assign', 'app_identity_assign') - g.custom_command('remove', 'app_identity_remove') + g.custom_command('assign', 'app_identity_assign', validator=validate_app_identity_assign_or_warning) + g.custom_command('remove', 'app_identity_remove', validator=validate_app_identity_remove_or_warning) + g.custom_command('force-set', 'app_identity_force_set', is_preview=True) g.custom_show_command('show', 'app_identity_show') with self.command_group('spring-cloud app log', client_factory=cf_spring_cloud_20220101preview, diff --git a/src/spring-cloud/azext_spring_cloud/custom.py b/src/spring-cloud/azext_spring_cloud/custom.py index 0aca23ba82a..dacaf67e45c 100644 --- a/src/spring-cloud/azext_spring_cloud/custom.py +++ b/src/spring-cloud/azext_spring_cloud/custom.py @@ -8,7 +8,6 @@ import re import os -from azure.core.exceptions import HttpResponseError from azure.mgmt.cosmosdb import CosmosDBManagementClient from azure.mgmt.redis import RedisManagementClient from requests.auth import HTTPBasicAuth @@ -16,7 +15,7 @@ from time import sleep from ._stream_utils import stream_logs from azure.mgmt.core.tools import (parse_resource_id, is_valid_resource_id) -from ._utils import (get_portal_uri) +from ._utils import (get_portal_uri, wait_till_end) from knack.util import CLIError from .vendored_sdks.appplatform.v2020_07_01 import models from .vendored_sdks.appplatform.v2020_11_01_preview import models as models_20201101preview @@ -29,7 +28,6 @@ from azure.cli.core.azclierror import ClientRequestError, FileOperationError, InvalidArgumentValueError from azure.cli.core.commands.client_factory import get_mgmt_service_client from azure.cli.core.util import sdk_no_wait -from azure.cli.core.profiles import ResourceType, get_sdk from azure.mgmt.applicationinsights import ApplicationInsightsManagementClient from azure.cli.core.commands import cached_put from azure.core.exceptions import ResourceNotFoundError @@ -401,68 +399,6 @@ def app_tail_log(cmd, client, resource_group, service, name, raise exceptions[0] -def app_identity_assign(cmd, client, resource_group, service, name, role=None, scope=None): - app_resource = models_20220101preview.AppResource() - identity = models_20220101preview.ManagedIdentityProperties(type="systemassigned") - properties = models_20220101preview.AppResourceProperties() - resource = client.services.get(resource_group, service) - location = resource.location - - app_resource.identity = identity - app_resource.properties = properties - app_resource.location = location - client.apps.begin_update(resource_group, service, name, app_resource) - app = client.apps.get(resource_group, service, name) - if role: - principal_id = app.identity.principal_id - - from azure.cli.core.commands import arm as _arm - identity_role_id = _arm.resolve_role_id(cmd.cli_ctx, role, scope) - assignments_client = get_mgmt_service_client(cmd.cli_ctx, ResourceType.MGMT_AUTHORIZATION).role_assignments - RoleAssignmentCreateParameters = get_sdk(cmd.cli_ctx, ResourceType.MGMT_AUTHORIZATION, - 'RoleAssignmentCreateParameters', mod='models', - operation_group='role_assignments') - parameters = RoleAssignmentCreateParameters(role_definition_id=identity_role_id, principal_id=principal_id) - logger.info("Creating an assignment with a role '%s' on the scope of '%s'", identity_role_id, scope) - retry_times = 36 - assignment_name = _arm._gen_guid() - for i in range(0, retry_times): - try: - assignments_client.create(scope=scope, role_assignment_name=assignment_name, - parameters=parameters) - break - except HttpResponseError as ex: - if 'role assignment already exists' in ex.message: - logger.info('Role assignment already exists') - break - elif i < retry_times and ' does not exist in the directory ' in ex.message: - sleep(APP_CREATE_OR_UPDATE_SLEEP_INTERVAL) - logger.warning('Retrying role assignment creation: %s/%s', i + 1, - retry_times) - continue - else: - raise - return app - - -def app_identity_remove(cmd, client, resource_group, service, name): - app_resource = models_20220101preview.AppResource() - identity = models_20220101preview.ManagedIdentityProperties(type="none") - properties = models_20220101preview.AppResourceProperties() - resource = client.services.get(resource_group, service) - location = resource.location - - app_resource.identity = identity - app_resource.properties = properties - app_resource.location = location - return client.apps.begin_update(resource_group, service, name, app_resource) - - -def app_identity_show(cmd, client, resource_group, service, name): - app = client.apps.get(resource_group, service, name) - return app.identity - - def app_set_deployment(cmd, client, resource_group, service, name, deployment): active_deployment_collection = models_20220101preview.ActiveDeploymentCollection( active_deployment_names=[deployment] diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/__init__.py b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/__init__.py new file mode 100644 index 00000000000..99c0f28cd71 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/__init__.py @@ -0,0 +1,5 @@ +# ----------------------------------------------------------------------------- +# 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/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_app_identity_crud.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_app_identity_crud.yaml new file mode 100644 index 00000000000..e01dd8aef9d --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_app_identity_crud.yaml @@ -0,0 +1,2210 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"}},"type":"SystemAssigned,UserAssigned","principalId":"bb0a953d-7aa7-408f-9c65-a7ca70f0f386","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:15:28.4583463Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1249' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:29:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"identity": {"type": "None"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + Content-Length: + - '30' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"}},"type":"SystemAssigned,UserAssigned","principalId":"bb0a953d-7aa7-408f-9c65-a7ca70f0f386","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:29:24.2627818Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/c9f4b79e-f909-4719-b613-9a8dcc4b8a2c?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '1248' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:29:24 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/c9f4b79e-f909-4719-b613-9a8dcc4b8a2c/Spring/test-msi-app-1?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1198' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/c9f4b79e-f909-4719-b613-9a8dcc4b8a2c?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/c9f4b79e-f909-4719-b613-9a8dcc4b8a2c","name":"c9f4b79e-f909-4719-b613-9a8dcc4b8a2c","status":"Succeeded","startTime":"2022-03-22T11:29:24.67803Z","endTime":"2022-03-22T11:29:34.6364203Z"}' + headers: + cache-control: + - no-cache + content-length: + - '371' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:29:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:29:24.2627818Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '827' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:29:55 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11995' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:29:24.2627818Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '827' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:29:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11994' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity show + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-msi-app-1-default-14-c64d57654-qkhf7","status":"Running","reason":"Unschedulable","discoveryStatus":"UNKNOWN","startTime":"2022-03-20T14:03:39Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:34.571185Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T14:03:34.571185Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '971' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:30:24 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity show + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:29:24.2627818Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '827' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:30:25 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity assign + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:29:24.2627818Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '827' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:30:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11992' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"identity": {"type": "SystemAssigned"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity assign + Connection: + - keep-alive + Content-Length: + - '40' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:30:28.2576505Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/294afe9a-4603-4747-820d-6d477ea1ffb7?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '826' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:30:30 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/294afe9a-4603-4747-820d-6d477ea1ffb7/Spring/test-msi-app-1?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1197' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity assign + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/294afe9a-4603-4747-820d-6d477ea1ffb7?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/294afe9a-4603-4747-820d-6d477ea1ffb7","name":"294afe9a-4603-4747-820d-6d477ea1ffb7","status":"Succeeded","startTime":"2022-03-22T11:30:30.5989384Z","endTime":"2022-03-22T11:30:44.714044Z"}' + headers: + cache-control: + - no-cache + content-length: + - '372' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:31:00 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity assign + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"116ab438-1b87-44fb-b921-76e3ea876490","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:30:28.2576505Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '981' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:31:01 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11991' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity assign + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"116ab438-1b87-44fb-b921-76e3ea876490","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:30:28.2576505Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '981' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:31:05 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11990' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity assign + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"116ab438-1b87-44fb-b921-76e3ea876490","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:30:28.2576505Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '981' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:31:07 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"identity": {"type": "SystemAssigned,UserAssigned", "userAssignedIdentities": + {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1": + {}, "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2": + {}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity assign + Connection: + - keep-alive + Content-Length: + - '402' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"116ab438-1b87-44fb-b921-76e3ea876490","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:31:09.2234867Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/e4780ba8-91e8-4fd2-b5b0-24b1cd76db19?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '980' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:31:10 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/e4780ba8-91e8-4fd2-b5b0-24b1cd76db19/Spring/test-msi-app-1?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity assign + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/e4780ba8-91e8-4fd2-b5b0-24b1cd76db19?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/e4780ba8-91e8-4fd2-b5b0-24b1cd76db19","name":"e4780ba8-91e8-4fd2-b5b0-24b1cd76db19","status":"Succeeded","startTime":"2022-03-22T11:31:10.6755773Z","endTime":"2022-03-22T11:31:22.3970818Z"}' + headers: + cache-control: + - no-cache + content-length: + - '373' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:31:40 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity assign + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"}},"type":"SystemAssigned,UserAssigned","principalId":"116ab438-1b87-44fb-b921-76e3ea876490","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:31:09.2234867Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1512' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:31:41 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity assign + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"}},"type":"SystemAssigned,UserAssigned","principalId":"116ab438-1b87-44fb-b921-76e3ea876490","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:31:09.2234867Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1512' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:31:45 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"}},"type":"SystemAssigned,UserAssigned","principalId":"116ab438-1b87-44fb-b921-76e3ea876490","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:31:09.2234867Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1512' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:31:47 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"identity": {"type": "SystemAssigned,UserAssigned", "userAssignedIdentities": + {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1": + null}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + Content-Length: + - '246' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"}},"type":"SystemAssigned,UserAssigned","principalId":"116ab438-1b87-44fb-b921-76e3ea876490","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:31:48.9571136Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/ba695375-f006-44b0-b927-ed40d9f2556f?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '1511' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:31:50 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/ba695375-f006-44b0-b927-ed40d9f2556f/Spring/test-msi-app-1?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/ba695375-f006-44b0-b927-ed40d9f2556f?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/ba695375-f006-44b0-b927-ed40d9f2556f","name":"ba695375-f006-44b0-b927-ed40d9f2556f","status":"Succeeded","startTime":"2022-03-22T11:31:50.1398137Z","endTime":"2022-03-22T11:32:01.9057715Z"}' + headers: + cache-control: + - no-cache + content-length: + - '373' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:32:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"}},"type":"SystemAssigned,UserAssigned","principalId":"116ab438-1b87-44fb-b921-76e3ea876490","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:31:48.9571136Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1249' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:32:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"}},"type":"SystemAssigned,UserAssigned","principalId":"116ab438-1b87-44fb-b921-76e3ea876490","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:31:48.9571136Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1249' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:32:25 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"}},"type":"SystemAssigned,UserAssigned","principalId":"116ab438-1b87-44fb-b921-76e3ea876490","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:31:48.9571136Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1249' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:32:26 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"identity": {"type": "SystemAssigned"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + Content-Length: + - '40' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"}},"type":"SystemAssigned,UserAssigned","principalId":"116ab438-1b87-44fb-b921-76e3ea876490","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:32:28.2582306Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/cfdeca9a-e073-40ee-a01e-af4afd960e5a?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '1248' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:32:28 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/cfdeca9a-e073-40ee-a01e-af4afd960e5a/Spring/test-msi-app-1?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/cfdeca9a-e073-40ee-a01e-af4afd960e5a?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/cfdeca9a-e073-40ee-a01e-af4afd960e5a","name":"cfdeca9a-e073-40ee-a01e-af4afd960e5a","status":"Succeeded","startTime":"2022-03-22T11:32:29.4313623Z","endTime":"2022-03-22T11:32:39.4110337Z"}' + headers: + cache-control: + - no-cache + content-length: + - '373' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:32:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"116ab438-1b87-44fb-b921-76e3ea876490","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:32:28.2582306Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '981' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:33:00 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"116ab438-1b87-44fb-b921-76e3ea876490","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:32:28.2582306Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '981' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:33:04 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"116ab438-1b87-44fb-b921-76e3ea876490","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:32:28.2582306Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '981' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:33:06 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11995' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"identity": {"type": "None"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + Content-Length: + - '30' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"116ab438-1b87-44fb-b921-76e3ea876490","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:33:06.8633111Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/ac3cf8d5-4b9a-4e64-9a40-faed4bbb0bc8?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '980' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:33:08 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/ac3cf8d5-4b9a-4e64-9a40-faed4bbb0bc8/Spring/test-msi-app-1?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1198' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/ac3cf8d5-4b9a-4e64-9a40-faed4bbb0bc8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/ac3cf8d5-4b9a-4e64-9a40-faed4bbb0bc8","name":"ac3cf8d5-4b9a-4e64-9a40-faed4bbb0bc8","status":"Succeeded","startTime":"2022-03-22T11:33:08.7052105Z","endTime":"2022-03-22T11:33:18.7115215Z"}' + headers: + cache-control: + - no-cache + content-length: + - '373' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:33:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:33:06.8633111Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '827' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:33:39 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11994' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:33:06.8633111Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '827' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:33:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11993' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity assign + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:33:06.8633111Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '827' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:33:45 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"identity": {"type": "SystemAssigned,UserAssigned", "userAssignedIdentities": + {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1": + {}, "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2": + {}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity assign + Connection: + - keep-alive + Content-Length: + - '402' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:33:47.0102171Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/0344e56e-d1c8-421c-99eb-e60b063768c4?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '826' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:33:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/0344e56e-d1c8-421c-99eb-e60b063768c4/Spring/test-msi-app-1?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity assign + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/0344e56e-d1c8-421c-99eb-e60b063768c4?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/0344e56e-d1c8-421c-99eb-e60b063768c4","name":"0344e56e-d1c8-421c-99eb-e60b063768c4","status":"Succeeded","startTime":"2022-03-22T11:33:50.4980311Z","endTime":"2022-03-22T11:34:01.700367Z"}' + headers: + cache-control: + - no-cache + content-length: + - '372' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:34:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity assign + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"}},"type":"SystemAssigned,UserAssigned","principalId":"43d225fe-e7e1-47e1-9d72-dddc03e0a39c","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:33:47.0102171Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1512' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:34:21 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity assign + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"}},"type":"SystemAssigned,UserAssigned","principalId":"43d225fe-e7e1-47e1-9d72-dddc03e0a39c","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:33:47.0102171Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1512' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:34:26 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"}},"type":"SystemAssigned,UserAssigned","principalId":"43d225fe-e7e1-47e1-9d72-dddc03e0a39c","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:33:47.0102171Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1512' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:34:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11989' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"identity": {"type": "None"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + Content-Length: + - '30' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"}},"type":"SystemAssigned,UserAssigned","principalId":"43d225fe-e7e1-47e1-9d72-dddc03e0a39c","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:34:28.0732599Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/9ce70110-0a04-42fd-820e-89ec8612c089?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '1511' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:34:28 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/9ce70110-0a04-42fd-820e-89ec8612c089/Spring/test-msi-app-1?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1196' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/9ce70110-0a04-42fd-820e-89ec8612c089?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-app-1/operationId/9ce70110-0a04-42fd-820e-89ec8612c089","name":"9ce70110-0a04-42fd-820e-89ec8612c089","status":"Succeeded","startTime":"2022-03-22T11:34:28.5140021Z","endTime":"2022-03-22T11:34:38.0409754Z"}' + headers: + cache-control: + - no-cache + content-length: + - '373' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:34:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:34:28.0732599Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '827' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:34:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11988' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity remove + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-app-1","name":"test-msi-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T14:03:20.2023737Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T11:34:28.0732599Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '827' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 11:35:04 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11987' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_app_identity_force_set.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_app_identity_force_set.yaml new file mode 100644 index 00000000000..8694bfe3fbe --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_app_identity_force_set.yaml @@ -0,0 +1,2232 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-msi-force-set-default-26-69759fdfff-8csms","status":"Running","discoveryStatus":"UNKNOWN","startTime":"2022-03-22T14:21:41Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:39.2175487Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T14:21:39.2175487Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '973' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:47:34 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"d14005a2-0820-4507-ab07-ac47679a54d4","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:32:52.0191074Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1005' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:47:35 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": false, "addonConfigs": {"applicationConfigurationService": + {}, "serviceRegistry": {}}, "fqdn": "cli-unittest.asc-test.net", "httpsOnly": + false, "temporaryDisk": {"sizeInGB": 5, "mountPath": "/tmp"}, "persistentDisk": + {"sizeInGB": 0, "mountPath": "/persistent"}, "enableEndToEndTLS": false}, "identity": + {"type": "None"}, "location": "southeastasia"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + Content-Length: + - '378' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"d14005a2-0820-4507-ab07-ac47679a54d4","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:47:36.6654994Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/229b4b01-af77-4c61-b56e-02a61b4c05e0?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '1004' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:47:36 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/229b4b01-af77-4c61-b56e-02a61b4c05e0/Spring/test-msi-force-set?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1198' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/229b4b01-af77-4c61-b56e-02a61b4c05e0?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/229b4b01-af77-4c61-b56e-02a61b4c05e0","name":"229b4b01-af77-4c61-b56e-02a61b4c05e0","status":"Succeeded","startTime":"2022-03-22T15:47:36.9670409Z","endTime":"2022-03-22T15:47:47.6460597Z"}' + headers: + cache-control: + - no-cache + content-length: + - '385' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:48:06 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:47:36.6654994Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '851' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:48:07 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11995' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:47:36.6654994Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '851' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:48:11 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11994' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-msi-force-set-default-26-69759fdfff-8csms","status":"Running","discoveryStatus":"UNKNOWN","startTime":"2022-03-22T14:21:41Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:39.2175487Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T14:21:39.2175487Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '973' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:48:35 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:47:36.6654994Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '851' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:48:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": false, "addonConfigs": {"applicationConfigurationService": + {}, "serviceRegistry": {}}, "fqdn": "cli-unittest.asc-test.net", "httpsOnly": + false, "temporaryDisk": {"sizeInGB": 5, "mountPath": "/tmp"}, "persistentDisk": + {"sizeInGB": 0, "mountPath": "/persistent"}, "enableEndToEndTLS": false}, "identity": + {"type": "SystemAssigned"}, "location": "southeastasia"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + Content-Length: + - '388' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:48:38.352057Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/1b89c82b-d3ef-40e4-a7c7-17e331970e13?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '849' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:48:40 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/1b89c82b-d3ef-40e4-a7c7-17e331970e13/Spring/test-msi-force-set?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1198' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/1b89c82b-d3ef-40e4-a7c7-17e331970e13?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/1b89c82b-d3ef-40e4-a7c7-17e331970e13","name":"1b89c82b-d3ef-40e4-a7c7-17e331970e13","status":"Succeeded","startTime":"2022-03-22T15:48:40.8034542Z","endTime":"2022-03-22T15:48:50.8306529Z"}' + headers: + cache-control: + - no-cache + content-length: + - '385' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:49:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"3fedf7b0-7f5e-4a66-a04d-5fa36e346794","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:48:38.352057Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1004' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:49:11 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11995' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"3fedf7b0-7f5e-4a66-a04d-5fa36e346794","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:48:38.352057Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1004' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:49:16 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11994' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-msi-force-set-default-26-69759fdfff-8csms","status":"Running","discoveryStatus":"UNKNOWN","startTime":"2022-03-22T14:21:41Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:39.2175487Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T14:21:39.2175487Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '973' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:49:39 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"3fedf7b0-7f5e-4a66-a04d-5fa36e346794","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:48:38.352057Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1004' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:49:40 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": false, "addonConfigs": {"applicationConfigurationService": + {}, "serviceRegistry": {}}, "fqdn": "cli-unittest.asc-test.net", "httpsOnly": + false, "temporaryDisk": {"sizeInGB": 5, "mountPath": "/tmp"}, "persistentDisk": + {"sizeInGB": 0, "mountPath": "/persistent"}, "enableEndToEndTLS": false}, "identity": + {"type": "UserAssigned", "userAssignedIdentities": {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1": + {}}}, "location": "southeastasia"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + Content-Length: + - '572' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"3fedf7b0-7f5e-4a66-a04d-5fa36e346794","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:49:41.9036737Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/e006f797-f71c-400e-9166-e42f9099e440?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '1004' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:49:43 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/e006f797-f71c-400e-9166-e42f9099e440/Spring/test-msi-force-set?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1198' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/e006f797-f71c-400e-9166-e42f9099e440?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/e006f797-f71c-400e-9166-e42f9099e440","name":"e006f797-f71c-400e-9166-e42f9099e440","status":"Succeeded","startTime":"2022-03-22T15:49:44.6348855Z","endTime":"2022-03-22T15:49:54.2209054Z"}' + headers: + cache-control: + - no-cache + content-length: + - '385' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:50:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"}},"type":"UserAssigned","principalId":null,"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:49:41.9036737Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1224' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:50:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11995' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"}},"type":"UserAssigned","principalId":null,"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:49:41.9036737Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1224' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:50:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11994' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-msi-force-set-default-26-69759fdfff-8csms","status":"Running","discoveryStatus":"UNKNOWN","startTime":"2022-03-22T14:21:41Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:39.2175487Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T14:21:39.2175487Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '973' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:50:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"}},"type":"UserAssigned","principalId":null,"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:49:41.9036737Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1224' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:50:44 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": false, "addonConfigs": {"applicationConfigurationService": + {}, "serviceRegistry": {}}, "fqdn": "cli-unittest.asc-test.net", "httpsOnly": + false, "temporaryDisk": {"sizeInGB": 5, "mountPath": "/tmp"}, "persistentDisk": + {"sizeInGB": 0, "mountPath": "/persistent"}, "enableEndToEndTLS": false}, "identity": + {"type": "UserAssigned", "userAssignedIdentities": {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2": + {}}}, "location": "southeastasia"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + Content-Length: + - '577' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"}},"type":"UserAssigned","principalId":null,"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:50:45.9971711Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/46242033-27ad-4244-b609-7f8792c41098?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '1223' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:50:46 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/46242033-27ad-4244-b609-7f8792c41098/Spring/test-msi-force-set?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/46242033-27ad-4244-b609-7f8792c41098?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/46242033-27ad-4244-b609-7f8792c41098","name":"46242033-27ad-4244-b609-7f8792c41098","status":"Succeeded","startTime":"2022-03-22T15:50:47.0177143Z","endTime":"2022-03-22T15:50:57.8617697Z"}' + headers: + cache-control: + - no-cache + content-length: + - '385' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:51:16 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"}},"type":"UserAssigned","principalId":null,"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:50:45.9971711Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1229' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:51:18 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"}},"type":"UserAssigned","principalId":null,"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:50:45.9971711Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1229' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:51:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-msi-force-set-default-26-69759fdfff-8csms","status":"Running","discoveryStatus":"UNKNOWN","startTime":"2022-03-22T14:21:41Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:39.2175487Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T14:21:39.2175487Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '973' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:51:46 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"}},"type":"UserAssigned","principalId":null,"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:50:45.9971711Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1229' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:51:47 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11993' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": false, "addonConfigs": {"applicationConfigurationService": + {}, "serviceRegistry": {}}, "fqdn": "cli-unittest.asc-test.net", "httpsOnly": + false, "temporaryDisk": {"sizeInGB": 5, "mountPath": "/tmp"}, "persistentDisk": + {"sizeInGB": 0, "mountPath": "/persistent"}, "enableEndToEndTLS": false}, "identity": + {"type": "SystemAssigned,UserAssigned", "userAssignedIdentities": {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1": + {}, "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2": + {}}}, "location": "southeastasia"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + Content-Length: + - '750' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"}},"type":"UserAssigned","principalId":null,"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:51:48.0419341Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/c4513f6e-48d0-4f09-a7d4-c2f9a88d56c4?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '1228' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:51:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/c4513f6e-48d0-4f09-a7d4-c2f9a88d56c4/Spring/test-msi-force-set?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1197' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/c4513f6e-48d0-4f09-a7d4-c2f9a88d56c4?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/c4513f6e-48d0-4f09-a7d4-c2f9a88d56c4","name":"c4513f6e-48d0-4f09-a7d4-c2f9a88d56c4","status":"Succeeded","startTime":"2022-03-22T15:51:50.3787107Z","endTime":"2022-03-22T15:52:00.5374346Z"}' + headers: + cache-control: + - no-cache + content-length: + - '385' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:52:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"}},"type":"SystemAssigned,UserAssigned","principalId":"08117393-d3d8-4aaa-807d-b5e725567eb3","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:51:48.0419341Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1536' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:52:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11992' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"}},"type":"SystemAssigned,UserAssigned","principalId":"08117393-d3d8-4aaa-807d-b5e725567eb3","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:51:48.0419341Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1536' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:52:26 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11991' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-msi-force-set-default-26-69759fdfff-8csms","status":"Running","discoveryStatus":"UNKNOWN","startTime":"2022-03-22T14:21:41Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:39.2175487Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T14:21:39.2175487Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '973' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:52:48 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"}},"type":"SystemAssigned,UserAssigned","principalId":"08117393-d3d8-4aaa-807d-b5e725567eb3","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:51:48.0419341Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1536' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:52:49 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": false, "addonConfigs": {"applicationConfigurationService": + {}, "serviceRegistry": {}}, "fqdn": "cli-unittest.asc-test.net", "httpsOnly": + false, "temporaryDisk": {"sizeInGB": 5, "mountPath": "/tmp"}, "persistentDisk": + {"sizeInGB": 0, "mountPath": "/persistent"}, "enableEndToEndTLS": false}, "identity": + {"type": "SystemAssigned"}, "location": "southeastasia"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + Content-Length: + - '388' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"}},"type":"SystemAssigned,UserAssigned","principalId":"08117393-d3d8-4aaa-807d-b5e725567eb3","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:52:51.4057774Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/2b80203c-5a19-4a86-81c6-05e49093349c?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '1535' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:52:51 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/2b80203c-5a19-4a86-81c6-05e49093349c/Spring/test-msi-force-set?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/2b80203c-5a19-4a86-81c6-05e49093349c?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/2b80203c-5a19-4a86-81c6-05e49093349c","name":"2b80203c-5a19-4a86-81c6-05e49093349c","status":"Succeeded","startTime":"2022-03-22T15:52:52.0984457Z","endTime":"2022-03-22T15:53:02.3573681Z"}' + headers: + cache-control: + - no-cache + content-length: + - '385' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:53:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"08117393-d3d8-4aaa-807d-b5e725567eb3","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:52:51.4057774Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1005' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:53:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"08117393-d3d8-4aaa-807d-b5e725567eb3","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:52:51.4057774Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1005' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:53:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-msi-force-set-default-26-69759fdfff-8csms","status":"Running","discoveryStatus":"UNKNOWN","startTime":"2022-03-22T14:21:41Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:39.2175487Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T14:21:39.2175487Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '973' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:53:50 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"08117393-d3d8-4aaa-807d-b5e725567eb3","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:52:51.4057774Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1005' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:53:52 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11993' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": false, "addonConfigs": {"applicationConfigurationService": + {}, "serviceRegistry": {}}, "fqdn": "cli-unittest.asc-test.net", "httpsOnly": + false, "temporaryDisk": {"sizeInGB": 5, "mountPath": "/tmp"}, "persistentDisk": + {"sizeInGB": 0, "mountPath": "/persistent"}, "enableEndToEndTLS": false}, "identity": + {"type": "None"}, "location": "southeastasia"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + Content-Length: + - '378' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"08117393-d3d8-4aaa-807d-b5e725567eb3","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:53:52.9056555Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/2b72b5e0-d531-4a67-9d70-d2de8102b9b6?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '1004' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:53:52 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/2b72b5e0-d531-4a67-9d70-d2de8102b9b6/Spring/test-msi-force-set?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1197' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/2b72b5e0-d531-4a67-9d70-d2de8102b9b6?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-msi-force-set/operationId/2b72b5e0-d531-4a67-9d70-d2de8102b9b6","name":"2b72b5e0-d531-4a67-9d70-d2de8102b9b6","status":"Succeeded","startTime":"2022-03-22T15:53:53.2305642Z","endTime":"2022-03-22T15:54:03.8271388Z"}' + headers: + cache-control: + - no-cache + content-length: + - '385' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:54:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:53:52.9056555Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '851' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:54:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11992' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app identity force-set + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-msi-force-set","name":"test-msi-force-set","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T15:53:52.9056555Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '851' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 15:54:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11991' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_create_app_with_assign_identity.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_create_app_with_assign_identity.yaml new file mode 100644 index 00000000000..0a816513ebd --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_create_app_with_assign_identity.yaml @@ -0,0 +1,837 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-identity + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-1?api-version=2022-03-01-preview + response: + body: + string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-1","details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '253' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:43:03 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-identity + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"81dbe33cff93446d9600e197c83b7ed3","networkProfile":{"outboundIPs":{"publicIPs":["20.197.74.163","20.197.74.219"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"southeastasia","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T12:40:10.6091924Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T12:45:40.8594832Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '778' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:43:03 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "temporaryDisk": {"sizeInGB": + 5, "mountPath": "/tmp"}, "enableEndToEndTLS": false}, "identity": {"type": "SystemAssigned"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '176' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --assign-identity + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-1","name":"create-app-system-identity-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:43:04.9370145Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:43:04.9370145Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-system-identity-1/operationId/2f58f39f-4e6b-4a1e-b8a8-284ba3f02634?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '758' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:43:07 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/2f58f39f-4e6b-4a1e-b8a8-284ba3f02634/Spring/create-app-system-identity-1?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-identity + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-system-identity-1/operationId/2f58f39f-4e6b-4a1e-b8a8-284ba3f02634?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-system-identity-1/operationId/2f58f39f-4e6b-4a1e-b8a8-284ba3f02634","name":"2f58f39f-4e6b-4a1e-b8a8-284ba3f02634","status":"Succeeded","startTime":"2022-03-22T13:43:07.4377367Z","endTime":"2022-03-22T13:43:16.6842218Z"}' + headers: + cache-control: + - no-cache + content-length: + - '387' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:43:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-identity + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"8125f598-89ee-4407-b4d5-0044588102c8","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-1","name":"create-app-system-identity-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:43:04.9370145Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:43:04.9370145Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1009' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:43:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"source": {"type": "Jar", "relativePath": "", + "runtimeVersion": "Java_8"}, "deploymentSettings": {"resourceRequests": {"cpu": + "1", "memory": "1Gi"}}, "active": true}, "sku": {"name": "S0", "tier": "Standard", + "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '249' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --assign-identity + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-1/deployments/mock-deployment?api-version=2022-03-01-preview + response: + body: + string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive + a response from ''Microsoft.AppPlatform'' within the specified time period."}}' + headers: + cache-control: + - no-cache + connection: + - close + content-length: + - '149' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:44:42 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - service + status: + code: 504 + message: Gateway Timeout +- request: + body: '{"properties": {"source": {"type": "Jar", "relativePath": "", + "runtimeVersion": "Java_8"}, "deploymentSettings": {"resourceRequests": {"cpu": + "1", "memory": "1Gi"}}, "active": true}, "sku": {"name": "S0", "tier": "Standard", + "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '249' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --assign-identity + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-1/deployments/mock-deployment?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-1/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:43:42.9373304Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:44:44.5686221Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/b3b03e30-496b-4509-94b7-2342d76dc51a?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '817' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:44:45 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/b3b03e30-496b-4509-94b7-2342d76dc51a/Spring/default?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 202 + message: Accepted +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "enableEndToEndTLS": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '81' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --assign-identity + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"8125f598-89ee-4407-b4d5-0044588102c8","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-1","name":"create-app-system-identity-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:43:04.9370145Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:44:46.7092517Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-system-identity-1/operationId/e7a9f2bd-0ab3-4e7b-9d7d-a82f2559ee28?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '1008' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:44:46 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/e7a9f2bd-0ab3-4e7b-9d7d-a82f2559ee28/Spring/create-app-system-identity-1?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-identity + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/b3b03e30-496b-4509-94b7-2342d76dc51a?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/b3b03e30-496b-4509-94b7-2342d76dc51a","name":"b3b03e30-496b-4509-94b7-2342d76dc51a","status":"Running","startTime":"2022-03-22T13:44:46.329324Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:45:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-identity + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-system-identity-1/operationId/e7a9f2bd-0ab3-4e7b-9d7d-a82f2559ee28?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-system-identity-1/operationId/e7a9f2bd-0ab3-4e7b-9d7d-a82f2559ee28","name":"e7a9f2bd-0ab3-4e7b-9d7d-a82f2559ee28","status":"Succeeded","startTime":"2022-03-22T13:44:47.3847992Z","endTime":"2022-03-22T13:44:54.1116401Z"}' + headers: + cache-control: + - no-cache + content-length: + - '387' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:45:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-identity + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"8125f598-89ee-4407-b4d5-0044588102c8","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-1","name":"create-app-system-identity-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:43:04.9370145Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:44:46.7092517Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1009' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:45:18 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-identity + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/b3b03e30-496b-4509-94b7-2342d76dc51a?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/b3b03e30-496b-4509-94b7-2342d76dc51a","name":"b3b03e30-496b-4509-94b7-2342d76dc51a","status":"Running","startTime":"2022-03-22T13:44:46.329324Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:45:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-identity + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/b3b03e30-496b-4509-94b7-2342d76dc51a?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/b3b03e30-496b-4509-94b7-2342d76dc51a","name":"b3b03e30-496b-4509-94b7-2342d76dc51a","status":"Running","startTime":"2022-03-22T13:44:46.329324Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:45:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-identity + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/b3b03e30-496b-4509-94b7-2342d76dc51a?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/b3b03e30-496b-4509-94b7-2342d76dc51a","name":"b3b03e30-496b-4509-94b7-2342d76dc51a","status":"Failed","startTime":"2022-03-22T13:44:46.329324Z","endTime":"2022-03-22T13:45:44.2300146Z","error":{"code":"InternalServerError","message":"112404: + Failed to wait for deployment instances to be ready. Please check the application + log (see https://aka.ms/azure-spring-cloud-doc-log ), and try again later."}}' + headers: + cache-control: + - no-cache + content-length: + - '578' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:45:47 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-identity + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-1?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"8125f598-89ee-4407-b4d5-0044588102c8","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-1","name":"create-app-system-identity-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:43:04.9370145Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:44:46.7092517Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1009' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:45:53 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-identity + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-1/deployments?api-version=2022-03-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Failed","status":"Running","active":true,"instances":[]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-1/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:43:42.9373304Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:44:44.5686221Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '825' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:46:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_create_app_with_both_identity.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_create_app_with_both_identity.yaml new file mode 100644 index 00000000000..e49b1a6f47a --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_create_app_with_both_identity.yaml @@ -0,0 +1,1888 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-both-identity?api-version=2022-03-01-preview + response: + body: + string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-both-identity","details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '251' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:20:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"81dbe33cff93446d9600e197c83b7ed3","networkProfile":{"outboundIPs":{"publicIPs":["20.197.74.163","20.197.74.219"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"southeastasia","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T12:40:10.6091924Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T12:45:40.8594832Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '778' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:20:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "temporaryDisk": {"sizeInGB": + 5, "mountPath": "/tmp"}, "enableEndToEndTLS": false}, "identity": {"type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1": + {}, "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2": + {}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '538' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-both-identity?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-both-identity","name":"create-app-both-identity","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T14:21:00.9515998Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-both-identity/operationId/06442b7f-deec-4a65-aa9b-0297ee316da4?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '754' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:21:03 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/06442b7f-deec-4a65-aa9b-0297ee316da4/Spring/create-app-both-identity?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-both-identity/operationId/06442b7f-deec-4a65-aa9b-0297ee316da4?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-both-identity/operationId/06442b7f-deec-4a65-aa9b-0297ee316da4","name":"06442b7f-deec-4a65-aa9b-0297ee316da4","status":"Succeeded","startTime":"2022-03-22T14:21:03.6942506Z","endTime":"2022-03-22T14:21:13.1227584Z"}' + headers: + cache-control: + - no-cache + content-length: + - '385' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:21:33 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-both-identity?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"}},"type":"SystemAssigned,UserAssigned","principalId":"1367d86b-cec6-4b15-96a0-79556faca3cf","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-both-identity","name":"create-app-both-identity","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T14:21:00.9515998Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1536' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:21:34 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"source": {"type": "Jar", "relativePath": "", + "runtimeVersion": "Java_8"}, "deploymentSettings": {"resourceRequests": {"cpu": + "1", "memory": "1Gi"}}, "active": true}, "sku": {"name": "S0", "tier": "Standard", + "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '249' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-both-identity/deployments/mock-deployment?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-both-identity/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:39.2175487Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T14:21:39.2175487Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '815' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:22:03 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/923210c4-f884-4111-9203-8977c890d6a8/Spring/default?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 201 + message: Created +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "enableEndToEndTLS": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '81' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-both-identity?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"}},"type":"SystemAssigned,UserAssigned","principalId":"1367d86b-cec6-4b15-96a0-79556faca3cf","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-both-identity","name":"create-app-both-identity","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T14:22:03.6865339Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-both-identity/operationId/2a7b2f33-ebb8-40a1-94ca-ab09d2f9f6e5?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '1535' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:22:03 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/2a7b2f33-ebb8-40a1-94ca-ab09d2f9f6e5/Spring/create-app-both-identity?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1198' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:22:33 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-both-identity/operationId/2a7b2f33-ebb8-40a1-94ca-ab09d2f9f6e5?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-both-identity/operationId/2a7b2f33-ebb8-40a1-94ca-ab09d2f9f6e5","name":"2a7b2f33-ebb8-40a1-94ca-ab09d2f9f6e5","status":"Succeeded","startTime":"2022-03-22T14:22:03.8906981Z","endTime":"2022-03-22T14:22:11.7572628Z"}' + headers: + cache-control: + - no-cache + content-length: + - '385' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:22:34 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-both-identity?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"}},"type":"SystemAssigned,UserAssigned","principalId":"1367d86b-cec6-4b15-96a0-79556faca3cf","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-both-identity","name":"create-app-both-identity","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T14:22:03.6865339Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1536' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:22:34 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:22:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:22:55 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:23:07 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:23:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:23:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:23:39 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:23:49 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:23:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:24:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:24:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:24:32 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:24:42 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:24:52 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:25:03 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:25:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:25:24 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:25:34 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:25:44 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:25:55 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:26:08 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:26:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:26:29 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Running","startTime":"2022-03-22T14:22:03.3792822Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:26:39 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/923210c4-f884-4111-9203-8977c890d6a8","name":"923210c4-f884-4111-9203-8977c890d6a8","status":"Succeeded","startTime":"2022-03-22T14:22:03.3792822Z","endTime":"2022-03-22T14:26:43.3374579Z"}' + headers: + cache-control: + - no-cache + content-length: + - '366' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:26:49 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-both-identity/deployments/mock-deployment?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"create-app-both-identity-default-26-69759fdfff-8csms","status":"Running","discoveryStatus":"UNKNOWN","startTime":"2022-03-22T14:21:41Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-both-identity/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:39.2175487Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T14:21:39.2175487Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '961' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:27:12 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-both-identity?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"}},"type":"SystemAssigned,UserAssigned","principalId":"1367d86b-cec6-4b15-96a0-79556faca3cf","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-both-identity","name":"create-app-both-identity","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:00.9515998Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T14:22:03.6865339Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1536' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:27:14 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11995' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-both-identity/deployments?api-version=2022-03-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"create-app-both-identity-default-26-69759fdfff-8csms","status":"Running","discoveryStatus":"UNKNOWN","startTime":"2022-03-22T14:21:41Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-both-identity/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T14:21:39.2175487Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T14:21:39.2175487Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '973' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 14:27:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_create_app_with_system_assigned.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_create_app_with_system_assigned.yaml new file mode 100644 index 00000000000..1db9ca6cef8 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_create_app_with_system_assigned.yaml @@ -0,0 +1,2435 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-2?api-version=2022-03-01-preview + response: + body: + string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-2","details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '253' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:32:08 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"81dbe33cff93446d9600e197c83b7ed3","networkProfile":{"outboundIPs":{"publicIPs":["20.197.74.163","20.197.74.219"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"southeastasia","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T12:40:10.6091924Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T12:45:40.8594832Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '778' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:32:08 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "temporaryDisk": {"sizeInGB": + 5, "mountPath": "/tmp"}, "enableEndToEndTLS": false}, "identity": {"type": "SystemAssigned"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '176' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-2?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-2","name":"create-app-system-identity-2","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:32:09.938063Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:32:09.938063Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-system-identity-2/operationId/cb9da599-4e57-49e0-aded-f7f7adebc2b7?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '756' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:32:12 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/cb9da599-4e57-49e0-aded-f7f7adebc2b7/Spring/create-app-system-identity-2?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-system-identity-2/operationId/cb9da599-4e57-49e0-aded-f7f7adebc2b7?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-system-identity-2/operationId/cb9da599-4e57-49e0-aded-f7f7adebc2b7","name":"cb9da599-4e57-49e0-aded-f7f7adebc2b7","status":"Succeeded","startTime":"2022-03-22T13:32:12.2520711Z","endTime":"2022-03-22T13:32:24.5347063Z"}' + headers: + cache-control: + - no-cache + content-length: + - '387' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:32:42 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-2?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"e09b21b0-3022-44cb-94f1-2837d029cb1a","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-2","name":"create-app-system-identity-2","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:32:09.938063Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:32:09.938063Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1007' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:32:42 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"source": {"type": "Jar", "relativePath": "", + "runtimeVersion": "Java_8"}, "deploymentSettings": {"resourceRequests": {"cpu": + "1", "memory": "1Gi"}}, "active": true}, "sku": {"name": "S0", "tier": "Standard", + "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '249' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-2/deployments/mock-deployment?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-2/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:32:47.6100949Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:32:47.6100949Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '817' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:33:12 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/baba63eb-b0d3-4e6e-908f-319f337499dc/Spring/default?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 201 + message: Created +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "enableEndToEndTLS": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '81' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-2?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"e09b21b0-3022-44cb-94f1-2837d029cb1a","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-2","name":"create-app-system-identity-2","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:32:09.938063Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:33:13.9383397Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-system-identity-2/operationId/b9d4ebc9-ed93-475d-bb40-37dae2f4b9e9?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '1007' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:33:13 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/b9d4ebc9-ed93-475d-bb40-37dae2f4b9e9/Spring/create-app-system-identity-2?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1198' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:33:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-system-identity-2/operationId/b9d4ebc9-ed93-475d-bb40-37dae2f4b9e9?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-system-identity-2/operationId/b9d4ebc9-ed93-475d-bb40-37dae2f4b9e9","name":"b9d4ebc9-ed93-475d-bb40-37dae2f4b9e9","status":"Succeeded","startTime":"2022-03-22T13:33:14.1504789Z","endTime":"2022-03-22T13:33:20.6383834Z"}' + headers: + cache-control: + - no-cache + content-length: + - '387' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:33:44 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-2?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"e09b21b0-3022-44cb-94f1-2837d029cb1a","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-2","name":"create-app-system-identity-2","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:32:09.938063Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:33:13.9383397Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1008' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:33:44 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:33:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:34:04 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:34:14 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:34:24 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:34:35 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:34:45 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:34:55 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:35:05 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:35:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:35:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:35:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:35:47 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:35:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:36:08 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:36:18 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:36:29 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:36:39 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:36:49 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:36:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:37:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:37:21 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:37:31 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:37:41 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:37:52 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:38:02 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:38:12 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:38:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:38:33 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:38:44 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:38:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:39:04 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:39:14 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:39:25 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Running","startTime":"2022-03-22T13:33:13.6317091Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:39:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/baba63eb-b0d3-4e6e-908f-319f337499dc","name":"baba63eb-b0d3-4e6e-908f-319f337499dc","status":"Succeeded","startTime":"2022-03-22T13:33:13.6317091Z","endTime":"2022-03-22T13:39:43.0185171Z"}' + headers: + cache-control: + - no-cache + content-length: + - '366' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:39:47 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-2/deployments/mock-deployment?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"create-app-system-identity-2-default-28-56997c45f6-v46wh","status":"Running","discoveryStatus":"UNKNOWN","startTime":"2022-03-22T13:32:51Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-2/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:32:47.6100949Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:32:47.6100949Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '965' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:40:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-2?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":null,"type":"SystemAssigned","principalId":"e09b21b0-3022-44cb-94f1-2837d029cb1a","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-2","name":"create-app-system-identity-2","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:32:09.938063Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:33:13.9383397Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1008' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:40:14 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --system-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-2/deployments?api-version=2022-03-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"create-app-system-identity-2-default-28-56997c45f6-v46wh","status":"Running","discoveryStatus":"UNKNOWN","startTime":"2022-03-22T13:32:51Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-system-identity-2/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:32:47.6100949Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:32:47.6100949Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '977' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:40:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_create_app_with_user_identity.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_create_app_with_user_identity.yaml new file mode 100644 index 00000000000..8d7caa83340 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/recordings/test_create_app_with_user_identity.yaml @@ -0,0 +1,838 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-user-identity?api-version=2022-03-01-preview + response: + body: + string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-user-identity","details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '249' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:54:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11994' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"81dbe33cff93446d9600e197c83b7ed3","networkProfile":{"outboundIPs":{"publicIPs":["20.197.74.163","20.197.74.219"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"southeastasia","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T12:40:10.6091924Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T12:45:40.8594832Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '778' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:54:14 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "temporaryDisk": {"sizeInGB": + 5, "mountPath": "/tmp"}, "enableEndToEndTLS": false}, "identity": {"type": "UserAssigned", + "userAssignedIdentities": {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1": + {}, "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2": + {}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '523' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-user-identity?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-user-identity","name":"create-app-user-identity","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:54:15.865689Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:54:15.865689Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-user-identity/operationId/fbe684ae-498b-4590-98b0-dfcf8f05789f?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '748' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:54:16 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/fbe684ae-498b-4590-98b0-dfcf8f05789f/Spring/create-app-user-identity?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-user-identity/operationId/fbe684ae-498b-4590-98b0-dfcf8f05789f?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-user-identity/operationId/fbe684ae-498b-4590-98b0-dfcf8f05789f","name":"fbe684ae-498b-4590-98b0-dfcf8f05789f","status":"Succeeded","startTime":"2022-03-22T13:54:17.016838Z","endTime":"2022-03-22T13:54:27.670046Z"}' + headers: + cache-control: + - no-cache + content-length: + - '381' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:54:46 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-user-identity?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"}},"type":"UserAssigned","principalId":null,"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-user-identity","name":"create-app-user-identity","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:54:15.865689Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:54:15.865689Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1481' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:54:46 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11993' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"source": {"type": "Jar", "relativePath": "", + "runtimeVersion": "Java_8"}, "deploymentSettings": {"resourceRequests": {"cpu": + "1", "memory": "1Gi"}}, "active": true}, "sku": {"name": "S0", "tier": "Standard", + "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '249' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-user-identity/deployments/mock-deployment?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-user-identity/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:54:52.4284752Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:54:52.4284752Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/4ca9ccca-53e0-42e8-8125-1fcba468109b?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '813' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:55:19 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/4ca9ccca-53e0-42e8-8125-1fcba468109b/Spring/default?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 201 + message: Created +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "enableEndToEndTLS": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '81' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-user-identity?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"}},"type":"UserAssigned","principalId":null,"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-user-identity","name":"create-app-user-identity","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:54:15.865689Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:55:19.9599453Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-user-identity/operationId/a00344d1-9efb-47fd-9757-590f1efd652f?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '1481' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:55:20 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/a00344d1-9efb-47fd-9757-590f1efd652f/Spring/create-app-user-identity?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1198' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/4ca9ccca-53e0-42e8-8125-1fcba468109b?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/4ca9ccca-53e0-42e8-8125-1fcba468109b","name":"4ca9ccca-53e0-42e8-8125-1fcba468109b","status":"Running","startTime":"2022-03-22T13:55:19.5784404Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:55:49 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-user-identity/operationId/a00344d1-9efb-47fd-9757-590f1efd652f?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/create-app-user-identity/operationId/a00344d1-9efb-47fd-9757-590f1efd652f","name":"a00344d1-9efb-47fd-9757-590f1efd652f","status":"Succeeded","startTime":"2022-03-22T13:55:20.2211001Z","endTime":"2022-03-22T13:55:27.3568405Z"}' + headers: + cache-control: + - no-cache + content-length: + - '383' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:55:50 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-user-identity?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"}},"type":"UserAssigned","principalId":null,"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-user-identity","name":"create-app-user-identity","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:54:15.865689Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:55:19.9599453Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1482' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:55:50 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11992' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/4ca9ccca-53e0-42e8-8125-1fcba468109b?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/4ca9ccca-53e0-42e8-8125-1fcba468109b","name":"4ca9ccca-53e0-42e8-8125-1fcba468109b","status":"Running","startTime":"2022-03-22T13:55:19.5784404Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:55:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/4ca9ccca-53e0-42e8-8125-1fcba468109b?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/4ca9ccca-53e0-42e8-8125-1fcba468109b","name":"4ca9ccca-53e0-42e8-8125-1fcba468109b","status":"Running","startTime":"2022-03-22T13:55:19.5784404Z"}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:56:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/4ca9ccca-53e0-42e8-8125-1fcba468109b?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/4ca9ccca-53e0-42e8-8125-1fcba468109b","name":"4ca9ccca-53e0-42e8-8125-1fcba468109b","status":"Succeeded","startTime":"2022-03-22T13:55:19.5784404Z","endTime":"2022-03-22T13:56:17.0303377Z"}' + headers: + cache-control: + - no-cache + content-length: + - '366' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:56:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-user-identity/deployments/mock-deployment?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"create-app-user-identity-default-24-55b7f876c-k5g4w","status":"Running","discoveryStatus":"UNKNOWN","startTime":"2022-03-22T13:55:00Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-user-identity/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:54:52.4284752Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:54:52.4284752Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '956' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:56:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-user-identity?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-1":{"principalId":"5f3a9b2d-8040-40bd-9a3e-d7d0b58e7241","clientId":"36c2e1b3-750f-447d-83a7-fc54b2a282d6"},"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli/providers/microsoft.managedidentity/userassignedidentities/managed-identity-2":{"principalId":"b1780895-22f2-4f90-a892-03c4e673e1cb","clientId":"ab88a149-200a-4550-b269-1f2b0ae252bf"}},"type":"UserAssigned","principalId":null,"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-user-identity","name":"create-app-user-identity","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:54:15.865689Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:55:19.9599453Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1482' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:56:46 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11991' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --user-assigned + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-user-identity/deployments?api-version=2022-03-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"create-app-user-identity-default-24-55b7f876c-k5g4w","status":"Running","discoveryStatus":"UNKNOWN","startTime":"2022-03-22T13:55:00Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/create-app-user-identity/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-22T13:54:52.4284752Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-22T13:54:52.4284752Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '968' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Mar 2022 13:57:08 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 6676ffee-4a25-47ae-a338-e3732e131d78 + status: + code: 200 + message: OK +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_app_managed_identity_force_set_scenario.py b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_app_managed_identity_force_set_scenario.py new file mode 100644 index 00000000000..1e66e0b4617 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_app_managed_identity_force_set_scenario.py @@ -0,0 +1,128 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from azure.cli.testsdk import (ScenarioTest, record_only) +from ....vendored_sdks.appplatform.v2022_03_01_preview.models import ManagedIdentityType + + +""" +In order to re-run this scenario test, +1. Choose a subscription ID in which you'll create user-assigned managed identities, and fill in ${USER_IDENTITY_SUB_ID} +2. Create a resource group ${USER_IDENTITY_RESOURCE_GROUP} in ${USER_IDENTITY_SUB_ID} +3. Manually create 2 user-assigned managed identities for USER_IDENTITY_NAME_1 and USER_IDENTITY_NAME_2 in \ + group ${USER_IDENTITY_RESOURCE_GROUP} under subscription ${USER_IDENTITY_SUB_ID}. +4. After successfully re-run, Set ${USER_IDENTITY_SUB_ID} back to "00000000-0000-0000-0000-000000000000" +""" +USER_IDENTITY_SUB_ID = "00000000-0000-0000-0000-000000000000" + + +MASKED_SUB = "00000000-0000-0000-0000-000000000000" +USER_IDENTITY_RESOURCE_GROUP = "cli" +USER_IDENTITY_NAME_1 = "managed-identity-1" +USER_IDENTITY_NAME_2 = "managed-identity-2" +USER_IDENTITY_RESOURCE_ID_TEMPLATE = "/subscriptions/{}/resourcegroups/{}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{}" +MASKED_USER_IDENTITY_RESOURCE_ID_1 = USER_IDENTITY_RESOURCE_ID_TEMPLATE.format(MASKED_SUB, USER_IDENTITY_RESOURCE_GROUP, USER_IDENTITY_NAME_1) +MASKED_USER_IDENTITY_RESOURCE_ID_2 = USER_IDENTITY_RESOURCE_ID_TEMPLATE.format(MASKED_SUB, USER_IDENTITY_RESOURCE_GROUP, USER_IDENTITY_NAME_2) +USER_IDENTITY_RESOURCE_ID_1 = USER_IDENTITY_RESOURCE_ID_TEMPLATE.format(USER_IDENTITY_SUB_ID, USER_IDENTITY_RESOURCE_GROUP, USER_IDENTITY_NAME_1) +USER_IDENTITY_RESOURCE_ID_2 = USER_IDENTITY_RESOURCE_ID_TEMPLATE.format(USER_IDENTITY_SUB_ID, USER_IDENTITY_RESOURCE_GROUP, USER_IDENTITY_NAME_2) + + +@record_only() +class AppIdentityForceSet(ScenarioTest): + + def test_app_identity_force_set(self): + self.kwargs.update({ + 'app': 'test-msi-force-set', + 'serviceName': 'cli-unittest', + 'rg': 'cli', + 'ua1': USER_IDENTITY_RESOURCE_ID_1, + 'ua2': USER_IDENTITY_RESOURCE_ID_2 + }) + + self.cmd( + 'spring-cloud app identity force-set -n {app} -g {rg} -s {serviceName} --system-assigned disable --user-assigned disable', + checks=[ + self.check('identity', None) + ]) + + self.cmd( + 'spring-cloud app identity force-set -n {app} -g {rg} -s {serviceName} --system-assigned enable --user-assigned disable', + checks=[ + self.check('identity.type', ManagedIdentityType.SYSTEM_ASSIGNED, case_sensitive=False), + self.exists('identity.tenantId'), + self.exists('identity.principalId'), + self.check('identity.userAssignedIdentities', None) + ]) + + app = self.cmd( + 'spring-cloud app identity force-set -n {app} -g {rg} -s {serviceName} --system-assigned disable --user-assigned {ua1}', + checks=[ + self.check('identity.type', ManagedIdentityType.USER_ASSIGNED, case_sensitive=False), + self.exists('identity.tenantId'), + self.check('identity.principalId', None), + self.exists('identity.userAssignedIdentities') + ]).json_value + user_identity_dict = self._to_lower(app['identity']['userAssignedIdentities']) + self.assertTrue(type(user_identity_dict) == dict) + self.assertEquals(1, len(user_identity_dict)) + self.assertTrue(self._contains_user_id_1(user_identity_dict.keys())) + + app = self.cmd( + 'spring-cloud app identity force-set -n {app} -g {rg} -s {serviceName} --system-assigned disable --user-assigned {ua2}', + checks=[ + self.check('identity.type', ManagedIdentityType.USER_ASSIGNED, case_sensitive=False), + self.exists('identity.tenantId'), + self.check('identity.principalId', None), + self.exists('identity.userAssignedIdentities') + ]).json_value + user_identity_dict = self._to_lower(app['identity']['userAssignedIdentities']) + self.assertTrue(type(user_identity_dict) == dict) + self.assertEquals(1, len(user_identity_dict)) + self.assertTrue(self._contains_user_id_2(user_identity_dict.keys())) + + app = self.cmd( + 'spring-cloud app identity force-set -n {app} -g {rg} -s {serviceName} --system-assigned enable --user-assigned {ua1} {ua2}', + checks=[ + self.check('identity.type', ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED, case_sensitive=False), + self.exists('identity.tenantId'), + self.exists('identity.principalId'), + self.exists('identity.userAssignedIdentities') + ]).json_value + user_identity_dict = self._to_lower(app['identity']['userAssignedIdentities']) + self.assertTrue(type(user_identity_dict) == dict) + self.assertEquals(2, len(user_identity_dict)) + self.assertTrue(self._contains_user_id_1(user_identity_dict.keys())) + self.assertTrue(self._contains_user_id_2(user_identity_dict.keys())) + + self.cmd( + 'spring-cloud app identity force-set -n {app} -g {rg} -s {serviceName} --system-assigned enable --user-assigned disable', + checks=[ + self.check('identity.type', ManagedIdentityType.SYSTEM_ASSIGNED, case_sensitive=False), + self.exists('identity.tenantId'), + self.exists('identity.principalId'), + self.check('identity.userAssignedIdentities', None) + ]) + + self.cmd( + 'spring-cloud app identity force-set -n {app} -g {rg} -s {serviceName} --system-assigned disable --user-assigned disable', + checks=[ + self.check('identity', None) + ]) + + + def _contains_user_id_1(self, keys): + return MASKED_USER_IDENTITY_RESOURCE_ID_1.lower() in keys or USER_IDENTITY_RESOURCE_ID_1.lower() in keys + + + def _contains_user_id_2(self, keys): + return MASKED_USER_IDENTITY_RESOURCE_ID_2.lower() in keys or USER_IDENTITY_RESOURCE_ID_2.lower() in keys + + + def _to_lower(self, str_dict): + new_dict = {} + for key in str_dict.keys(): + new_dict[key.lower()] = str_dict[key] + return new_dict diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_app_managed_identity_force_set_validator.py b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_app_managed_identity_force_set_validator.py new file mode 100644 index 00000000000..ba3c6936b84 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_app_managed_identity_force_set_validator.py @@ -0,0 +1,108 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import unittest +from argparse import Namespace +from azure.cli.core.azclierror import InvalidArgumentValueError +from ...._app_managed_identity_validator import (validate_app_force_set_system_identity_or_warning, + validate_app_force_set_user_identity_or_warning) + + +FAKE_LOWER_USER_IDENTITY_RESOURCE_ID_0 = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/fake-rg/providers/microsoft.managedidentity/userassignedidentities/fake-identity-name-0" +FAKE_UPPER_USER_IDENTITY_RESOURCE_ID_0 = FAKE_LOWER_USER_IDENTITY_RESOURCE_ID_0.upper() +FAKE_LOWER_USER_IDENTITY_RESOURCE_ID_1 = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/fake-rg/providers/microsoft.managedidentity/userassignedidentities/fake-identity-name-1" +FAKE_UPPER_USER_IDENTITY_RESOURCE_ID_1 = FAKE_LOWER_USER_IDENTITY_RESOURCE_ID_1.upper() + + +class TestAppForceSetSystemIdentityValitor(unittest.TestCase): + + def test_force_set_system_identity_valid_input_1(self): + ns = Namespace(system_assigned="DISAble") + validate_app_force_set_system_identity_or_warning(ns) + self.assertTrue("disable", ns.system_assigned) + + + def test_force_set_system_identity_valid_input_2(self): + ns = Namespace(system_assigned="disable") + validate_app_force_set_system_identity_or_warning(ns) + self.assertTrue("disable", ns.system_assigned) + + + def test_force_set_system_identity_valid_input_3(self): + ns = Namespace(system_assigned="DISABLE") + validate_app_force_set_system_identity_or_warning(ns) + self.assertTrue("disable", ns.system_assigned) + + + def test_force_set_system_identity_valid_input_4(self): + ns = Namespace(system_assigned="enAble") + validate_app_force_set_system_identity_or_warning(ns) + self.assertTrue("enable", ns.system_assigned) + + + def test_force_set_system_identity_valid_input_5(self): + ns = Namespace(system_assigned="enable") + validate_app_force_set_system_identity_or_warning(ns) + self.assertTrue("enable", ns.system_assigned) + + + def test_force_set_system_identity_valid_input_6(self): + ns = Namespace(system_assigned="ENABLE") + validate_app_force_set_system_identity_or_warning(ns) + self.assertTrue("enable", ns.system_assigned) + + + def test_force_set_system_identity_invalid_input(self): + ns = Namespace(system_assigned="randomestring") + with self.assertRaises(InvalidArgumentValueError) as context: + validate_app_force_set_system_identity_or_warning(ns) + self.assertTrue('Allowed values for "system-assigned" are:' in str(context.exception)) + + +class TestAppForceSetUserIdentityValitor(unittest.TestCase): + + def test_valid_input_1(self): + ns = Namespace(user_assigned=["DISable"]) + validate_app_force_set_user_identity_or_warning(ns) + self.assertEquals("disable", ns.user_assigned[0]) + + + def test_valid_input_2(self): + ns = Namespace(user_assigned=["disable"]) + validate_app_force_set_user_identity_or_warning(ns) + self.assertEquals("disable", ns.user_assigned[0]) + + + def test_valid_input_3(self): + ns = Namespace(user_assigned=["DISABLE"]) + validate_app_force_set_user_identity_or_warning(ns) + self.assertEquals("disable", ns.user_assigned[0]) + + + def test_valid_input_4(self): + ns = Namespace(user_assigned=[FAKE_UPPER_USER_IDENTITY_RESOURCE_ID_0]) + validate_app_force_set_user_identity_or_warning(ns) + self.assertEquals(FAKE_LOWER_USER_IDENTITY_RESOURCE_ID_0, ns.user_assigned[0]) + + + def test_valid_input_5(self): + ns = Namespace(user_assigned=[FAKE_UPPER_USER_IDENTITY_RESOURCE_ID_0, FAKE_LOWER_USER_IDENTITY_RESOURCE_ID_1]) + validate_app_force_set_user_identity_or_warning(ns) + self.assertEquals(FAKE_LOWER_USER_IDENTITY_RESOURCE_ID_0, ns.user_assigned[0]) + self.assertEquals(FAKE_LOWER_USER_IDENTITY_RESOURCE_ID_1, ns.user_assigned[1]) + + + def test_invalid_input_1(self): + ns = Namespace(user_assigned=["random_input"]) + with self.assertRaises(InvalidArgumentValueError) as context: + validate_app_force_set_user_identity_or_warning(ns) + self.assertTrue('Allowed values for "user-assigned" are:' in str(context.exception)) + + + def test_invalid_input_2(self): + ns = Namespace(user_assigned=["ua1", "ua2"]) + with self.assertRaises(InvalidArgumentValueError) as context: + validate_app_force_set_user_identity_or_warning(ns) + self.assertTrue('Invalid user-assigned managed identity resource ID' in str(context.exception)) diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_app_managed_identity_remove.py b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_app_managed_identity_remove.py new file mode 100644 index 00000000000..cef494a3031 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_app_managed_identity_remove.py @@ -0,0 +1,207 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import unittest +from argparse import Namespace +from ....vendored_sdks.appplatform.v2022_03_01_preview.models import ManagedIdentityType +from ....app_managed_identity import (_get_new_identity_type_for_remove) + + +class TestAppManagedIdentityRemoveForTypeNone(unittest.TestCase): + + def test_get_new_identity_type_for_remove_for_type_none_1(self): + exist_identity_type = ManagedIdentityType.NONE + is_remove_system_identity = False + new_user_identities = [] + new_identity_type = _get_new_identity_type_for_remove(exist_identity_type, + is_remove_system_identity, + new_user_identities) + self.assertEqual(new_identity_type, ManagedIdentityType.NONE) + + + def test_get_new_identity_type_for_remove_for_type_none_2(self): + exist_identity_type = ManagedIdentityType.NONE + is_remove_system_identity = True + new_user_identities = [] + new_identity_type = _get_new_identity_type_for_remove(exist_identity_type, + is_remove_system_identity, + new_user_identities) + self.assertEqual(new_identity_type, ManagedIdentityType.NONE) + + +class TestAppManagedIdentityRemoveForTypeSystemAssigned(unittest.TestCase): + + def test_get_new_identity_type_for_remove_for_system_assigned_1(self): + exist_identity_type = ManagedIdentityType.SYSTEM_ASSIGNED + is_remove_system_identity = False + new_user_identities = [] + new_identity_type = _get_new_identity_type_for_remove(exist_identity_type, + is_remove_system_identity, + new_user_identities) + self.assertEqual(new_identity_type, ManagedIdentityType.SYSTEM_ASSIGNED) + + + def test_get_new_identity_type_for_remove_for_system_assigned_2(self): + exist_identity_type = ManagedIdentityType.SYSTEM_ASSIGNED + is_remove_system_identity = True + new_user_identities = [] + new_identity_type = _get_new_identity_type_for_remove(exist_identity_type, + is_remove_system_identity, + new_user_identities) + self.assertEqual(new_identity_type, ManagedIdentityType.NONE) + + + def test_get_new_identity_type_for_remove_for_system_assigned_3(self): + exist_identity_type = ManagedIdentityType.SYSTEM_ASSIGNED + is_remove_system_identity = False + new_user_identities = ["ua1"] + new_identity_type = _get_new_identity_type_for_remove(exist_identity_type, + is_remove_system_identity, + new_user_identities) + self.assertEqual(new_identity_type, ManagedIdentityType.SYSTEM_ASSIGNED) + + + def test_get_new_identity_type_for_remove_for_system_assigned_4(self): + exist_identity_type = ManagedIdentityType.SYSTEM_ASSIGNED + is_remove_system_identity = True + new_user_identities = ["ua1"] + new_identity_type = _get_new_identity_type_for_remove(exist_identity_type, + is_remove_system_identity, + new_user_identities) + self.assertEqual(new_identity_type, ManagedIdentityType.NONE) + + + def test_get_new_identity_type_for_remove_for_system_assigned_5(self): + exist_identity_type = ManagedIdentityType.SYSTEM_ASSIGNED + is_remove_system_identity = None + new_user_identities = ["ua1"] + new_identity_type = _get_new_identity_type_for_remove(exist_identity_type, + is_remove_system_identity, + new_user_identities) + self.assertEqual(new_identity_type, ManagedIdentityType.SYSTEM_ASSIGNED) + + +class TestAppManagedIdentityRemoveForTypeUserAssigned(unittest.TestCase): + + def test_get_new_identity_type_for_remove_for_user_assigned_1(self): + exist_identity_type = ManagedIdentityType.USER_ASSIGNED + is_remove_system_identity = True + new_user_identities = [] + new_identity_type = _get_new_identity_type_for_remove(exist_identity_type, + is_remove_system_identity, + new_user_identities) + self.assertEqual(new_identity_type, ManagedIdentityType.NONE) + + + def test_get_new_identity_type_for_remove_for_user_assigned_2(self): + exist_identity_type = ManagedIdentityType.USER_ASSIGNED + is_remove_system_identity = False + new_user_identities = [] + new_identity_type = _get_new_identity_type_for_remove(exist_identity_type, + is_remove_system_identity, + new_user_identities) + self.assertEqual(new_identity_type, ManagedIdentityType.NONE) + + + def test_get_new_identity_type_for_remove_for_user_assigned_3(self): + exist_identity_type = ManagedIdentityType.USER_ASSIGNED + is_remove_system_identity = None + new_user_identities = [] + new_identity_type = _get_new_identity_type_for_remove(exist_identity_type, + is_remove_system_identity, + new_user_identities) + self.assertEqual(new_identity_type, ManagedIdentityType.NONE) + + + def test_get_new_identity_type_for_remove_for_user_assigned_4(self): + exist_identity_type = ManagedIdentityType.USER_ASSIGNED + is_remove_system_identity = True + new_user_identities = ["ua1"] + new_identity_type = _get_new_identity_type_for_remove(exist_identity_type, + is_remove_system_identity, + new_user_identities) + self.assertEqual(new_identity_type, ManagedIdentityType.USER_ASSIGNED) + + + def test_get_new_identity_type_for_remove_for_user_assigned_5(self): + exist_identity_type = ManagedIdentityType.USER_ASSIGNED + is_remove_system_identity = False + new_user_identities = ["ua1"] + new_identity_type = _get_new_identity_type_for_remove(exist_identity_type, + is_remove_system_identity, + new_user_identities) + self.assertEqual(new_identity_type, ManagedIdentityType.USER_ASSIGNED) + + + def test_get_new_identity_type_for_remove_for_user_assigned_6(self): + exist_identity_type = ManagedIdentityType.USER_ASSIGNED + is_remove_system_identity = None + new_user_identities = ["ua1"] + new_identity_type = _get_new_identity_type_for_remove(exist_identity_type, + is_remove_system_identity, + new_user_identities) + self.assertEqual(new_identity_type, ManagedIdentityType.USER_ASSIGNED) + + +class TestAppManagedIdentityRemoveForTypeBothAssigned(unittest.TestCase): + + def test_get_new_identity_type_for_remove_for_both_assigned_1(self): + exist_identity_type = ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED + is_remove_system_identity = True + new_user_identities = [] + new_identity_type = _get_new_identity_type_for_remove(exist_identity_type, + is_remove_system_identity, + new_user_identities) + self.assertEqual(new_identity_type, ManagedIdentityType.NONE) + + + def test_get_new_identity_type_for_remove_for_both_assigned_2(self): + exist_identity_type = ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED + is_remove_system_identity = False + new_user_identities = [] + new_identity_type = _get_new_identity_type_for_remove(exist_identity_type, + is_remove_system_identity, + new_user_identities) + self.assertEqual(new_identity_type, ManagedIdentityType.SYSTEM_ASSIGNED) + + + def test_get_new_identity_type_for_remove_for_both_assigned_3(self): + exist_identity_type = ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED + is_remove_system_identity = None + new_user_identities = [] + new_identity_type = _get_new_identity_type_for_remove(exist_identity_type, + is_remove_system_identity, + new_user_identities) + self.assertEqual(new_identity_type, ManagedIdentityType.SYSTEM_ASSIGNED) + + + def test_get_new_identity_type_for_remove_for_both_assigned_4(self): + exist_identity_type = ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED + is_remove_system_identity = True + new_user_identities = ["ua1"] + new_identity_type = _get_new_identity_type_for_remove(exist_identity_type, + is_remove_system_identity, + new_user_identities) + self.assertEqual(new_identity_type, ManagedIdentityType.USER_ASSIGNED) + + + def test_get_new_identity_type_for_remove_for_both_assigned_5(self): + exist_identity_type = ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED + is_remove_system_identity = False + new_user_identities = ["ua1"] + new_identity_type = _get_new_identity_type_for_remove(exist_identity_type, + is_remove_system_identity, + new_user_identities) + self.assertEqual(new_identity_type, ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED) + + + def test_get_new_identity_type_for_remove_for_both_assigned_6(self): + exist_identity_type = ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED + is_remove_system_identity = None + new_user_identities = ["ua1"] + new_identity_type = _get_new_identity_type_for_remove(exist_identity_type, + is_remove_system_identity, + new_user_identities) + self.assertEqual(new_identity_type, ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED) diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_app_managed_identity_scenario.py b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_app_managed_identity_scenario.py new file mode 100644 index 00000000000..f6a35390c84 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_app_managed_identity_scenario.py @@ -0,0 +1,118 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from azure.cli.testsdk import (ScenarioTest, record_only) +from ....vendored_sdks.appplatform.v2022_03_01_preview.models import ManagedIdentityType + + +""" +In order to re-run this scenario test, +1. Choose a subscription ID in which you'll create user-assigned managed identities, and fill in ${USER_IDENTITY_SUB_ID} +2. Create a resource group ${USER_IDENTITY_RESOURCE_GROUP} in ${USER_IDENTITY_SUB_ID} +3. Manually create 2 user-assigned managed identities for USER_IDENTITY_NAME_1 and USER_IDENTITY_NAME_2 in \ + group ${USER_IDENTITY_RESOURCE_GROUP} under subscription ${USER_IDENTITY_SUB_ID}. +4. After successfully re-run, Set ${USER_IDENTITY_SUB_ID} back to "00000000-0000-0000-0000-000000000000" +""" +USER_IDENTITY_SUB_ID = "00000000-0000-0000-0000-000000000000" + + +MASKED_SUB = "00000000-0000-0000-0000-000000000000" +USER_IDENTITY_RESOURCE_GROUP = "cli" +USER_IDENTITY_NAME_1 = "managed-identity-1" +USER_IDENTITY_NAME_2 = "managed-identity-2" +USER_IDENTITY_RESOURCE_ID_TEMPLATE = "/subscriptions/{}/resourcegroups/{}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{}" +MASKED_USER_IDENTITY_RESOURCE_ID_1 = USER_IDENTITY_RESOURCE_ID_TEMPLATE.format(MASKED_SUB, USER_IDENTITY_RESOURCE_GROUP, USER_IDENTITY_NAME_1) +MASKED_USER_IDENTITY_RESOURCE_ID_2 = USER_IDENTITY_RESOURCE_ID_TEMPLATE.format(MASKED_SUB, USER_IDENTITY_RESOURCE_GROUP, USER_IDENTITY_NAME_2) +USER_IDENTITY_RESOURCE_ID_1 = USER_IDENTITY_RESOURCE_ID_TEMPLATE.format(USER_IDENTITY_SUB_ID, USER_IDENTITY_RESOURCE_GROUP, USER_IDENTITY_NAME_1) +USER_IDENTITY_RESOURCE_ID_2 = USER_IDENTITY_RESOURCE_ID_TEMPLATE.format(USER_IDENTITY_SUB_ID, USER_IDENTITY_RESOURCE_GROUP, USER_IDENTITY_NAME_2) + + +@record_only() +class AppIdentityAssign(ScenarioTest): + + def test_app_identity_crud(self): + self.kwargs.update({ + 'app': 'test-msi-app-1', + 'serviceName': 'cli-unittest', + 'rg': 'cli', + 'ua1': USER_IDENTITY_RESOURCE_ID_1, + 'ua2': USER_IDENTITY_RESOURCE_ID_2 + }) + + self.cmd('spring-cloud app identity remove -n {app} -g {rg} -s {serviceName} --system-assigned --user-assigned', checks=[ + self.check('identity.type', None) + ]) + + self.cmd('spring-cloud app identity show -n {app} -g {rg} -s {serviceName}', checks=[ + self.is_empty() + ]) + + self.cmd('spring-cloud app identity assign -n {app} -g {rg} -s {serviceName} --system-assigned', checks=[ + self.check('identity.type', ManagedIdentityType.SYSTEM_ASSIGNED, case_sensitive=False), + self.exists('identity.tenantId'), + self.exists('identity.principalId') + ]) + + app = self.cmd('spring-cloud app identity assign -n {app} -g {rg} -s {serviceName} --user-assigned {ua1} {ua2}', checks=[ + self.check('identity.type', ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED, case_sensitive=False), + self.exists('identity.tenantId'), + self.exists('identity.principalId'), + self.exists('identity.userAssignedIdentities') + ]).json_value + user_identity_dict = self._to_lower(app['identity']['userAssignedIdentities']) + self.assertTrue(type(user_identity_dict) == dict) + self.assertTrue(self._contains_user_id_1(user_identity_dict.keys())) + self.assertTrue(self._contains_user_id_2(user_identity_dict.keys())) + + app = self.cmd('spring-cloud app identity remove -n {app} -g {rg} -s {serviceName} --user-assigned {ua1}', checks=[ + self.check('identity.type', ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED, case_sensitive=False), + self.exists('identity.tenantId'), + self.exists('identity.principalId'), + self.exists('identity.userAssignedIdentities') + ]).json_value + user_identity_dict = self._to_lower(app['identity']['userAssignedIdentities']) + self.assertTrue(type(user_identity_dict) == dict) + self.assertTrue(len(user_identity_dict) == 1) + self.assertTrue(self._contains_user_id_2(user_identity_dict.keys())) + + self.cmd('spring-cloud app identity remove -n {app} -g {rg} -s {serviceName} --user-assigned {ua2}',checks=[ + self.check('identity.type', ManagedIdentityType.SYSTEM_ASSIGNED, case_sensitive=False), + self.exists('identity.tenantId'), + self.exists('identity.principalId'), + self.check('identity.userAssignedIdentities', None) + ]) + + self.cmd('spring-cloud app identity remove -n {app} -g {rg} -s {serviceName} --system-assigned', + checks=[self.check('identity', None)]) + + app = self.cmd('spring-cloud app identity assign -n {app} -g {rg} -s {serviceName} --system-assigned --user-assigned {ua1} {ua2}', checks=[ + self.check('identity.type', ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED, case_sensitive=False), + self.exists('identity.tenantId'), + self.exists('identity.principalId'), + self.exists('identity.userAssignedIdentities') + ]).json_value + user_identity_dict = self._to_lower(app['identity']['userAssignedIdentities']) + self.assertTrue(type(user_identity_dict) == dict) + self.assertTrue(self._contains_user_id_1(user_identity_dict.keys())) + self.assertTrue(self._contains_user_id_2(user_identity_dict.keys())) + + self.cmd('spring-cloud app identity remove -n {app} -g {rg} -s {serviceName} --system-assigned --user-assigned {ua1} {ua2}', + checks=[self.check('identity', None)]) + + + def _contains_user_id_1(self, keys): + return MASKED_USER_IDENTITY_RESOURCE_ID_1.lower() in keys or USER_IDENTITY_RESOURCE_ID_1.lower() in keys + + + def _contains_user_id_2(self, keys): + return MASKED_USER_IDENTITY_RESOURCE_ID_2.lower() in keys or USER_IDENTITY_RESOURCE_ID_2.lower() in keys + + + def _to_lower(self, str_dict): + new_dict = {} + for key in str_dict.keys(): + new_dict[key.lower()] = str_dict[key] + return new_dict diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_app_managed_identity_validator.py b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_app_managed_identity_validator.py new file mode 100644 index 00000000000..65e7270796a --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_app_managed_identity_validator.py @@ -0,0 +1,163 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import unittest +from argparse import Namespace +from azure.cli.core.azclierror import InvalidArgumentValueError +from ...._app_managed_identity_validator import (validate_app_identity_remove_or_warning, + validate_app_identity_assign_or_warning) + + +FAKE_USER_IDENTITY_RESOURCE_ID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/fake-rg/providers/microsoft.managedidentity/userassignedidentities/fake-identity-name" + + +class TestAppManagedIdentityRemoveValitor(unittest.TestCase): + def test_invalid_user_identity_resource_id(self): + fake_id = "fake-resource-id-1" + user_assigned = [fake_id] + ns = Namespace(user_assigned=user_assigned, system_assigned=None) + with self.assertRaises(InvalidArgumentValueError) as context: + validate_app_identity_remove_or_warning(ns) + self.assertTrue("Invalid user-assigned managed identity resource ID" in str(context.exception)) + + + def test_invalid_user_identities(self): + fake_id = FAKE_USER_IDENTITY_RESOURCE_ID + user_assigned = set(fake_id) + ns = Namespace(user_assigned=user_assigned, system_assigned=None) + with self.assertRaises(InvalidArgumentValueError) as context: + validate_app_identity_remove_or_warning(ns) + self.assertTrue("Parameter value for \"user-assigned\" should be empty or a list of space-separated managed identity resource ID." in str(context.exception)) + + +class TestAppManagedIdentityAssignValitor(unittest.TestCase): + def test_scope_and_role_not_used_together_1(self): + ns = Namespace( + role="fake-role", + scope=None, + system_assigned=None, + user_assigned=None) + with self.assertRaises(InvalidArgumentValueError) as context: + validate_app_identity_assign_or_warning(ns) + self.assertTrue("Parameter \"role\" and \"scope\" should be used together." in str(context.exception)) + + + def test_scope_and_role_not_used_together_2(self): + ns = Namespace( + role=None, + scope="fake-scope", + system_assigned=None, + user_assigned=None) + with self.assertRaises(InvalidArgumentValueError) as context: + validate_app_identity_assign_or_warning(ns) + self.assertTrue("Parameter \"role\" and \"scope\" should be used together." in str(context.exception)) + + + def test_scope_and_role_not_used_together_3(self): + ns = Namespace( + role="fake-role", + scope=None, + system_assigned=True, + user_assigned=None) + with self.assertRaises(InvalidArgumentValueError) as context: + validate_app_identity_assign_or_warning(ns) + self.assertTrue("Parameter \"role\" and \"scope\" should be used together." in str(context.exception)) + + + def test_scope_and_role_not_used_together_4(self): + ns = Namespace( + role="fake-role", + scope=None, + system_assigned=True, + user_assigned=["ua1"]) + with self.assertRaises(InvalidArgumentValueError) as context: + validate_app_identity_assign_or_warning(ns) + self.assertTrue("Parameter \"role\" and \"scope\" should be used together." in str(context.exception)) + + + def test_scope_and_role_not_used_together_5(self): + ns = Namespace( + role=None, + scope="fake-scope", + system_assigned=True, + user_assigned=None) + with self.assertRaises(InvalidArgumentValueError) as context: + validate_app_identity_assign_or_warning(ns) + self.assertTrue("Parameter \"role\" and \"scope\" should be used together." in str(context.exception)) + + + def test_scope_and_role_not_used_together_6(self): + ns = Namespace( + role=None, + scope="fake-scope", + system_assigned=True, + user_assigned=["ua1"]) + with self.assertRaises(InvalidArgumentValueError) as context: + validate_app_identity_assign_or_warning(ns) + self.assertTrue("Parameter \"role\" and \"scope\" should be used together." in str(context.exception)) + + + def test_scope_and_role_without_system_identity_but_with_user_identity_1(self): + ns = Namespace( + role="fake-role", + scope="fake-scope", + system_assigned=None, + user_assigned=["ua1"]) + with self.assertRaises(InvalidArgumentValueError) as context: + validate_app_identity_assign_or_warning(ns) + self.assertTrue("Invalid to use parameter \"role\" and \"scope\" with \"user-assigned\" parameter." in str(context.exception)) + + + def test_scope_and_role_without_system_identity_but_with_user_identity_2(self): + ns = Namespace( + role="fake-role", + scope="fake-scope", + system_assigned=False, + user_assigned=["ua1"]) + with self.assertRaises(InvalidArgumentValueError) as context: + validate_app_identity_assign_or_warning(ns) + self.assertTrue("Invalid to use parameter \"role\" and \"scope\" with \"user-assigned\" parameter." in str(context.exception)) + + + def test_invalid_user_identity_resource_id_1(self): + ns = Namespace( + role=None, + scope=None, + system_assigned=True, + user_assigned=["ua1"]) + with self.assertRaises(InvalidArgumentValueError) as context: + validate_app_identity_assign_or_warning(ns) + self.assertTrue("Invalid user-assigned managed identity resource ID" in str(context.exception)) + + + def test_invalid_user_identity_resource_id_2(self): + ns = Namespace( + role=None, + scope=None, + system_assigned=False, + user_assigned=["ua1"]) + with self.assertRaises(InvalidArgumentValueError) as context: + validate_app_identity_assign_or_warning(ns) + self.assertTrue("Invalid user-assigned managed identity resource ID" in str(context.exception)) + + + def test_invalid_user_identity_resource_id_3(self): + ns = Namespace( + role=None, + scope=None, + system_assigned=None, + user_assigned=["ua1"]) + with self.assertRaises(InvalidArgumentValueError) as context: + validate_app_identity_assign_or_warning(ns) + self.assertTrue("Invalid user-assigned managed identity resource ID" in str(context.exception)) + + + def test_invalid_user_identity_resource_id_4(self): + ns = Namespace( + role=None, + scope=None, + system_assigned=None, + user_assigned=[FAKE_USER_IDENTITY_RESOURCE_ID]) + validate_app_identity_assign_or_warning(ns) diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_create_app_with_both_identity_scenario.py b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_create_app_with_both_identity_scenario.py new file mode 100644 index 00000000000..1805dbf5a40 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_create_app_with_both_identity_scenario.py @@ -0,0 +1,70 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from azure.cli.testsdk import (ScenarioTest, record_only) +from ....vendored_sdks.appplatform.v2022_03_01_preview.models import ManagedIdentityType + + +""" +In order to re-run this scenario test, +1. Choose a subscription ID in which you'll create user-assigned managed identities, and fill in ${USER_IDENTITY_SUB_ID} +2. Create a resource group ${USER_IDENTITY_RESOURCE_GROUP} in ${USER_IDENTITY_SUB_ID} +3. Manually create 2 user-assigned managed identities for USER_IDENTITY_NAME_1 and USER_IDENTITY_NAME_2 in \ + group ${USER_IDENTITY_RESOURCE_GROUP} under subscription ${USER_IDENTITY_SUB_ID}. +4. After successfully re-run, Set ${USER_IDENTITY_SUB_ID} back to "00000000-0000-0000-0000-000000000000" +""" +USER_IDENTITY_SUB_ID = "00000000-0000-0000-0000-000000000000" + + +MASKED_SUB = "00000000-0000-0000-0000-000000000000" +USER_IDENTITY_RESOURCE_GROUP = "cli" +USER_IDENTITY_NAME_1 = "managed-identity-1" +USER_IDENTITY_NAME_2 = "managed-identity-2" +USER_IDENTITY_RESOURCE_ID_TEMPLATE = "/subscriptions/{}/resourcegroups/{}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{}" +MASKED_USER_IDENTITY_RESOURCE_ID_1 = USER_IDENTITY_RESOURCE_ID_TEMPLATE.format(MASKED_SUB, USER_IDENTITY_RESOURCE_GROUP, USER_IDENTITY_NAME_1) +MASKED_USER_IDENTITY_RESOURCE_ID_2 = USER_IDENTITY_RESOURCE_ID_TEMPLATE.format(MASKED_SUB, USER_IDENTITY_RESOURCE_GROUP, USER_IDENTITY_NAME_2) +USER_IDENTITY_RESOURCE_ID_1 = USER_IDENTITY_RESOURCE_ID_TEMPLATE.format(USER_IDENTITY_SUB_ID, USER_IDENTITY_RESOURCE_GROUP, USER_IDENTITY_NAME_1) +USER_IDENTITY_RESOURCE_ID_2 = USER_IDENTITY_RESOURCE_ID_TEMPLATE.format(USER_IDENTITY_SUB_ID, USER_IDENTITY_RESOURCE_GROUP, USER_IDENTITY_NAME_2) + + +@record_only() +class CreateAppWithBothIdentity(ScenarioTest): + + def test_create_app_with_both_identity(self): + self.kwargs.update({ + 'app': 'create-app-both-identity', + 'serviceName': 'cli-unittest', + 'rg': 'cli', + 'ua1': USER_IDENTITY_RESOURCE_ID_1, + 'ua2': USER_IDENTITY_RESOURCE_ID_2 + }) + + app = self.cmd('spring-cloud app create -n {app} -g {rg} -s {serviceName} --system-assigned --user-assigned {ua1} {ua2}', checks=[ + self.check('identity.type', ManagedIdentityType.SYSTEM_ASSIGNED_USER_ASSIGNED, case_sensitive=False), + self.exists('identity.principalId'), + self.exists('identity.tenantId'), + self.exists('identity.userAssignedIdentities') + ]).json_value + user_identity_dict = self._to_lower(app['identity']['userAssignedIdentities']) + self.assertTrue(type(user_identity_dict) == dict) + self.assertEquals(len(user_identity_dict), 2) + self.assertTrue(self._contains_user_id_1(user_identity_dict.keys())) + self.assertTrue(self._contains_user_id_2(user_identity_dict.keys())) + + + def _contains_user_id_1(self, keys): + return MASKED_USER_IDENTITY_RESOURCE_ID_1.lower() in keys or USER_IDENTITY_RESOURCE_ID_1.lower() in keys + + + def _contains_user_id_2(self, keys): + return MASKED_USER_IDENTITY_RESOURCE_ID_2.lower() in keys or USER_IDENTITY_RESOURCE_ID_2.lower() in keys + + + def _to_lower(self, str_dict): + new_dict = {} + for key in str_dict.keys(): + new_dict[key.lower()] = str_dict[key] + return new_dict diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_create_app_with_managed_identity_validator.py b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_create_app_with_managed_identity_validator.py new file mode 100644 index 00000000000..ed958b47c48 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_create_app_with_managed_identity_validator.py @@ -0,0 +1,126 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import unittest +from argparse import Namespace +from azure.cli.core.azclierror import InvalidArgumentValueError +from ...._app_managed_identity_validator import (validate_create_app_with_system_identity_or_warning, + validate_create_app_with_user_identity_or_warning) + + +FAKE_USER_IDENTITY_RESOURCE_ID = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/fake-rg/providers/microsoft.managedidentity/userassignedidentities/fake-identity-name" + + +class TestCreateAppWithManagedIdentityValitorWithConflict(unittest.TestCase): + + def test_system_identity_override_1(self): + ns = Namespace(system_assigned=None, + assign_identity=False) + validate_create_app_with_system_identity_or_warning(ns) + self.assertEquals(ns.system_assigned, False) + + + def test_system_identity_override_2(self): + ns = Namespace(system_assigned=None, + assign_identity=True) + validate_create_app_with_system_identity_or_warning(ns) + self.assertEquals(ns.system_assigned, True) + + + def test_system_identity_override_3(self): + ns = Namespace(system_assigned=True, + assign_identity=None) + validate_create_app_with_system_identity_or_warning(ns) + self.assertEquals(ns.system_assigned, True) + + + def test_system_identity_override_4(self): + ns = Namespace(system_assigned=False, + assign_identity=None) + validate_create_app_with_system_identity_or_warning(ns) + self.assertEquals(ns.system_assigned, False) + + +class TestCreateAppWithManagedIdentityValitorWithConflict(unittest.TestCase): + + def test_conflict_parameter_1(self): + ns = Namespace(system_assigned=None, + assign_identity=None) + validate_create_app_with_system_identity_or_warning(ns) + + + def test_conflict_parameter_2(self): + ns = Namespace(system_assigned=False, + assign_identity=None) + validate_create_app_with_system_identity_or_warning(ns) + + + def test_conflict_parameter_3(self): + ns = Namespace(system_assigned=True, + assign_identity=None) + validate_create_app_with_system_identity_or_warning(ns) + + + def test_conflict_parameter_4(self): + ns = Namespace(system_assigned=None, + assign_identity=False) + validate_create_app_with_system_identity_or_warning(ns) + + + def test_conflict_parameter_5(self): + ns = Namespace(system_assigned=False, + assign_identity=False) + with self.assertRaises(InvalidArgumentValueError) as context: + validate_create_app_with_system_identity_or_warning(ns) + self.assertTrue('Parameter "system-assigned" should not use together with "assign-identity".' in str(context.exception)) + + + def test_conflict_parameter_6(self): + ns = Namespace(system_assigned=True, + assign_identity=False) + with self.assertRaises(InvalidArgumentValueError) as context: + validate_create_app_with_system_identity_or_warning(ns) + self.assertTrue('Parameter "system-assigned" should not use together with "assign-identity".' in str(context.exception)) + + + def test_conflict_parameter_7(self): + ns = Namespace(system_assigned=None, + assign_identity=True) + validate_create_app_with_system_identity_or_warning(ns) + + + def test_conflict_parameter_8(self): + ns = Namespace(system_assigned=False, + assign_identity=True) + with self.assertRaises(InvalidArgumentValueError) as context: + validate_create_app_with_system_identity_or_warning(ns) + self.assertTrue('Parameter "system-assigned" should not use together with "assign-identity".' in str(context.exception)) + + + def test_conflict_parameter_9(self): + ns = Namespace(system_assigned=True, + assign_identity=True) + with self.assertRaises(InvalidArgumentValueError) as context: + validate_create_app_with_system_identity_or_warning(ns) + self.assertTrue('Parameter "system-assigned" should not use together with "assign-identity".' in str(context.exception)) + + +class TestCreateAppWithManagedIdentityValitorWithUserIdentityId(unittest.TestCase): + + def test_user_identity_resource_id_1(self): + ns = Namespace(user_assigned=None) + validate_create_app_with_user_identity_or_warning(ns) + + + def test_user_identity_resource_id_2(self): + ns = Namespace(user_assigned=[FAKE_USER_IDENTITY_RESOURCE_ID]) + validate_create_app_with_user_identity_or_warning(ns) + + + def test_user_identity_resource_id_3(self): + ns = Namespace(user_assigned=["ua1"]) + with self.assertRaises(InvalidArgumentValueError) as context: + validate_create_app_with_user_identity_or_warning(ns) + self.assertTrue("Invalid user-assigned managed identity resource ID" in str(context.exception)) diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_create_app_with_system_identity_scenario.py b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_create_app_with_system_identity_scenario.py new file mode 100644 index 00000000000..f7b1274941b --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_create_app_with_system_identity_scenario.py @@ -0,0 +1,41 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from azure.cli.testsdk import (ScenarioTest, record_only) +from ....vendored_sdks.appplatform.v2022_03_01_preview.models import ManagedIdentityType + + +@record_only() +class CreateAppWithSystemIdentity(ScenarioTest): + + def test_create_app_with_assign_identity(self): + self.kwargs.update({ + 'app': 'create-app-system-identity-1', + 'serviceName': 'cli-unittest', + 'rg': 'cli' + }) + + self.cmd('spring-cloud app create -n {app} -g {rg} -s {serviceName} --assign-identity', checks=[ + self.check('identity.type', ManagedIdentityType.SYSTEM_ASSIGNED, case_sensitive=False), + self.exists('identity.principalId'), + self.exists('identity.tenantId'), + self.check('identity.userAssignedIdentities', None) + ]) + + + def test_create_app_with_system_assigned(self): + self.kwargs.update({ + 'app': 'create-app-system-identity-2', + 'serviceName': 'cli-unittest', + 'rg': 'cli' + }) + + self.cmd('spring-cloud app create -n {app} -g {rg} -s {serviceName} --system-assigned', checks=[ + self.check('identity.type', ManagedIdentityType.SYSTEM_ASSIGNED, case_sensitive=False), + self.exists('identity.principalId'), + self.exists('identity.tenantId'), + self.check('identity.userAssignedIdentities', None) + ]) diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_create_app_with_user_identity_scenario.py b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_create_app_with_user_identity_scenario.py new file mode 100644 index 00000000000..3934d31a092 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/app_managed_identity/test_create_app_with_user_identity_scenario.py @@ -0,0 +1,70 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from azure.cli.testsdk import (ScenarioTest, record_only) +from ....vendored_sdks.appplatform.v2022_03_01_preview.models import ManagedIdentityType + + +""" +In order to re-run this scenario test, +1. Choose a subscription ID in which you'll create user-assigned managed identities, and fill in ${USER_IDENTITY_SUB_ID} +2. Create a resource group ${USER_IDENTITY_RESOURCE_GROUP} in ${USER_IDENTITY_SUB_ID} +3. Manually create 2 user-assigned managed identities for USER_IDENTITY_NAME_1 and USER_IDENTITY_NAME_2 in \ + group ${USER_IDENTITY_RESOURCE_GROUP} under subscription ${USER_IDENTITY_SUB_ID}. +4. After successfully re-run, Set ${USER_IDENTITY_SUB_ID} back to "00000000-0000-0000-0000-000000000000" +""" +USER_IDENTITY_SUB_ID = "00000000-0000-0000-0000-000000000000" + + +MASKED_SUB = "00000000-0000-0000-0000-000000000000" +USER_IDENTITY_RESOURCE_GROUP = "cli" +USER_IDENTITY_NAME_1 = "managed-identity-1" +USER_IDENTITY_NAME_2 = "managed-identity-2" +USER_IDENTITY_RESOURCE_ID_TEMPLATE = "/subscriptions/{}/resourcegroups/{}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{}" +MASKED_USER_IDENTITY_RESOURCE_ID_1 = USER_IDENTITY_RESOURCE_ID_TEMPLATE.format(MASKED_SUB, USER_IDENTITY_RESOURCE_GROUP, USER_IDENTITY_NAME_1) +MASKED_USER_IDENTITY_RESOURCE_ID_2 = USER_IDENTITY_RESOURCE_ID_TEMPLATE.format(MASKED_SUB, USER_IDENTITY_RESOURCE_GROUP, USER_IDENTITY_NAME_2) +USER_IDENTITY_RESOURCE_ID_1 = USER_IDENTITY_RESOURCE_ID_TEMPLATE.format(USER_IDENTITY_SUB_ID, USER_IDENTITY_RESOURCE_GROUP, USER_IDENTITY_NAME_1) +USER_IDENTITY_RESOURCE_ID_2 = USER_IDENTITY_RESOURCE_ID_TEMPLATE.format(USER_IDENTITY_SUB_ID, USER_IDENTITY_RESOURCE_GROUP, USER_IDENTITY_NAME_2) + + +@record_only() +class CreateAppWithUserIdentity(ScenarioTest): + + def test_create_app_with_user_identity(self): + self.kwargs.update({ + 'app': 'create-app-user-identity', + 'serviceName': 'cli-unittest', + 'rg': 'cli', + 'ua1': USER_IDENTITY_RESOURCE_ID_1, + 'ua2': USER_IDENTITY_RESOURCE_ID_2 + }) + + app = self.cmd('spring-cloud app create -n {app} -g {rg} -s {serviceName} --user-assigned {ua1} {ua2}', checks=[ + self.check('identity.type', ManagedIdentityType.USER_ASSIGNED, case_sensitive=False), + self.check('identity.principalId', None), + self.exists('identity.tenantId'), + self.exists('identity.userAssignedIdentities') + ]).json_value + user_identity_dict = self._to_lower(app['identity']['userAssignedIdentities']) + self.assertTrue(type(user_identity_dict) == dict) + self.assertEquals(len(user_identity_dict), 2) + self.assertTrue(self._contains_user_id_1(user_identity_dict.keys())) + self.assertTrue(self._contains_user_id_2(user_identity_dict.keys())) + + + def _contains_user_id_1(self, keys): + return MASKED_USER_IDENTITY_RESOURCE_ID_1.lower() in keys or USER_IDENTITY_RESOURCE_ID_1.lower() in keys + + + def _contains_user_id_2(self, keys): + return MASKED_USER_IDENTITY_RESOURCE_ID_2.lower() in keys or USER_IDENTITY_RESOURCE_ID_2.lower() in keys + + + def _to_lower(self, str_dict): + new_dict = {} + for key in str_dict.keys(): + new_dict[key.lower()] = str_dict[key] + return new_dict diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_crud.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_crud.yaml index 6200bce36e6..813960fb4b0 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_crud.yaml +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_crud.yaml @@ -13,61 +13,9 @@ interactions: ParameterSetName: - -n -g -s --cpu --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '759' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 03:23:15 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -g -s --cpu --env - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-03-01-preview response: body: string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","details":null}}' @@ -75,17 +23,17 @@ interactions: cache-control: - no-cache content-length: - - '227' + - '253' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:23:17 GMT + - Sun, 20 Mar 2022 06:38:24 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -93,9 +41,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11996' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 404 message: Not Found @@ -113,27 +61,28 @@ interactions: ParameterSetName: - -n -g -s --cpu --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"0c7bf6b91ae840c78655bb6f57ea0391","networkProfile":{"outboundIPs":{"publicIPs":["20.24.160.30","20.24.160.222"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"southeastasia","tags":{"asc-test":"prod","api-target":"arm","service-create-time":"2022-03-20 + 02:02:01 +0800","service-expire-time":"2022-03-20 13:02:01 +0800"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-03-19T18:02:10.1198327Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-03-19T19:56:42.9425082Z"}}' headers: cache-control: - no-cache content-length: - - '759' + - '1011' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:23:18 GMT + - Sun, 20 Mar 2022 06:38:24 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -147,7 +96,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -170,31 +119,31 @@ interactions: ParameterSetName: - -n -g -s --cpu --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:19.3931018Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:23:19.3931018Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:38:25.7053649Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:38:25.7053649Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/352f18d8-28da-45b2-8ea8-33c592a3c76d?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-crud-app/operationId/44bff47f-8195-4ec3-aec1-aba72eb0883d?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '718' + - '743' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:23:19 GMT + - Sun, 20 Mar 2022 06:38:33 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/352f18d8-28da-45b2-8ea8-33c592a3c76d/Spring/test-crud-app?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/44bff47f-8195-4ec3-aec1-aba72eb0883d/Spring/test-crud-app?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -202,9 +151,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '1199' + - '1198' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 201 message: Created @@ -222,27 +171,27 @@ interactions: ParameterSetName: - -n -g -s --cpu --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/352f18d8-28da-45b2-8ea8-33c592a3c76d?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-crud-app/operationId/44bff47f-8195-4ec3-aec1-aba72eb0883d?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/352f18d8-28da-45b2-8ea8-33c592a3c76d","name":"352f18d8-28da-45b2-8ea8-33c592a3c76d","status":"Succeeded","startTime":"2022-02-24T03:23:20.2018038Z","endTime":"2022-02-24T03:23:26.5272921Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-crud-app/operationId/44bff47f-8195-4ec3-aec1-aba72eb0883d","name":"44bff47f-8195-4ec3-aec1-aba72eb0883d","status":"Succeeded","startTime":"2022-03-20T06:38:34.7837881Z","endTime":"2022-03-20T06:38:41.1028471Z"}' headers: cache-control: - no-cache content-length: - - '357' + - '375' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:23:51 GMT + - Sun, 20 Mar 2022 06:39:04 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -254,7 +203,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -272,27 +221,27 @@ interactions: ParameterSetName: - -n -g -s --cpu --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:19.3931018Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:23:19.3931018Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:38:25.7053649Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:38:25.7053649Z"}}' headers: cache-control: - no-cache content-length: - - '812' + - '861' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:23:52 GMT + - Sun, 20 Mar 2022 06:39:05 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -304,9 +253,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11995' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -331,31 +280,31 @@ interactions: ParameterSetName: - -n -g -s --cpu --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:55.8683765Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:23:55.8683765Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:39:10.0805587Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:39:10.0805587Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/8f7bc38c-9660-40bd-8551-69936a1f9050?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/737d261e-545c-400e-b7ff-26fd76a556ab?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '808' + - '826' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:23:58 GMT + - Sun, 20 Mar 2022 06:39:11 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/8f7bc38c-9660-40bd-8551-69936a1f9050/Spring/default?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/737d261e-545c-400e-b7ff-26fd76a556ab/Spring/default?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -365,7 +314,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1198' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 201 message: Created @@ -388,31 +337,31 @@ interactions: ParameterSetName: - -n -g -s --cpu --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:19.3931018Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:23:58.6533966Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:38:25.7053649Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:39:11.7993116Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/19744c8f-33a1-4080-a6cc-e0d8a1e77159?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-crud-app/operationId/9d90db75-96c3-49cd-b3c2-f6dd981e0270?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '811' + - '860' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:23:59 GMT + - Sun, 20 Mar 2022 06:39:11 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/19744c8f-33a1-4080-a6cc-e0d8a1e77159/Spring/test-crud-app?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/9d90db75-96c3-49cd-b3c2-f6dd981e0270/Spring/test-crud-app?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -420,9 +369,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '1198' + - '1197' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -440,27 +389,27 @@ interactions: ParameterSetName: - -n -g -s --cpu --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/8f7bc38c-9660-40bd-8551-69936a1f9050?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/737d261e-545c-400e-b7ff-26fd76a556ab?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/8f7bc38c-9660-40bd-8551-69936a1f9050","name":"8f7bc38c-9660-40bd-8551-69936a1f9050","status":"Succeeded","startTime":"2022-02-24T03:23:58.2775739Z","endTime":"2022-02-24T03:24:23.3766818Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/737d261e-545c-400e-b7ff-26fd76a556ab","name":"737d261e-545c-400e-b7ff-26fd76a556ab","status":"Succeeded","startTime":"2022-03-20T06:39:11.499709Z","endTime":"2022-03-20T06:39:25.546966Z"}' headers: cache-control: - no-cache content-length: - - '351' + - '367' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:24:28 GMT + - Sun, 20 Mar 2022 06:39:41 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -472,7 +421,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -490,27 +439,27 @@ interactions: ParameterSetName: - -n -g -s --cpu --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-default-13-7694558b4d-j6brn","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T03:24:04Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:55.8683765Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:23:55.8683765Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-default-13-66996dd58f-2ppwh","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:39:14Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:39:10.0805587Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:39:10.0805587Z"}}' headers: cache-control: - no-cache content-length: - - '936' + - '954' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:24:29 GMT + - Sun, 20 Mar 2022 06:39:41 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -522,9 +471,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11996' + - '11997' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -542,37 +491,39 @@ interactions: ParameterSetName: - -n -g -s --cpu --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/19744c8f-33a1-4080-a6cc-e0d8a1e77159?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-crud-app/operationId/9d90db75-96c3-49cd-b3c2-f6dd981e0270?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/19744c8f-33a1-4080-a6cc-e0d8a1e77159","name":"19744c8f-33a1-4080-a6cc-e0d8a1e77159","status":"Succeeded","startTime":"2022-02-24T03:23:58.9755596Z","endTime":"2022-02-24T03:24:06.1744247Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-crud-app/operationId/9d90db75-96c3-49cd-b3c2-f6dd981e0270","name":"9d90db75-96c3-49cd-b3c2-f6dd981e0270","status":"Succeeded","startTime":"2022-03-20T06:39:12.1266234Z","endTime":"2022-03-20T06:39:19.5227321Z"}' headers: cache-control: - no-cache content-length: - - '357' + - '375' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:24:30 GMT + - Sun, 20 Mar 2022 06:39:43 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked vary: - - Accept-Encoding + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -590,177 +541,27 @@ interactions: ParameterSetName: - -n -g -s --cpu --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:19.3931018Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:23:58.6533966Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:38:25.7053649Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:39:11.7993116Z"}}' headers: cache-control: - no-cache content-length: - - '812' + - '861' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:24:31 GMT + - Sun, 20 Mar 2022 06:39:43 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -g -s --cpu --env - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:19.3931018Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:23:58.6533966Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '812' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 03:24:34 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11996' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -g -s --cpu --env - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments?api-version=2022-01-01-preview - response: - body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-default-13-7694558b4d-j6brn","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T03:24:04Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:55.8683765Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:23:55.8683765Z"}}]}' - headers: - cache-control: - - no-cache - content-length: - - '948' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 03:24:35 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app deployment create - Connection: - - keep-alive - ParameterSetName: - - -n --app -g -s --instance-count - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '759' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 03:24:37 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -772,9 +573,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -786,33 +587,33 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - spring-cloud app deployment create + - spring-cloud app create Connection: - keep-alive ParameterSetName: - - -n --app -g -s --instance-count + - -n -g -s --cpu --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:38:25.7053649Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:39:11.7993116Z"}}' headers: cache-control: - no-cache content-length: - - '759' + - '861' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:24:39 GMT + - Sun, 20 Mar 2022 06:39:48 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -824,9 +625,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' + - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -838,33 +639,33 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - spring-cloud app deployment create + - spring-cloud app create Connection: - keep-alive ParameterSetName: - - -n --app -g -s --instance-count + - -n -g -s --cpu --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments?api-version=2022-03-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-default-13-66996dd58f-2ppwh","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:39:14Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:39:10.0805587Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:39:10.0805587Z"}}]}' headers: cache-control: - no-cache content-length: - - '759' + - '966' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:24:41 GMT + - Sun, 20 Mar 2022 06:39:49 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -876,9 +677,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -896,27 +697,27 @@ interactions: ParameterSetName: - -n --app -g -s --instance-count User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments?api-version=2022-03-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-default-13-7694558b4d-j6brn","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T03:24:04Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:55.8683765Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:23:55.8683765Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-default-13-66996dd58f-2ppwh","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:39:14Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:39:10.0805587Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:39:10.0805587Z"}}]}' headers: cache-control: - no-cache content-length: - - '948' + - '966' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:24:43 GMT + - Sun, 20 Mar 2022 06:39:50 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -930,7 +731,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -955,31 +756,31 @@ interactions: ParameterSetName: - -n --app -g -s --instance-count User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Creating","status":"Running","active":false,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":2},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:24:44.4805568Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:24:44.4805568Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Creating","status":"Running","active":false,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":2},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:39:52.2185677Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:39:52.2185677Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/cadc5af3-f369-40c8-bd82-8235f284c0d6?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/green/operationId/5e73e921-f0de-41e8-bcff-fcd312ac5c40?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '805' + - '823' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:24:46 GMT + - Sun, 20 Mar 2022 06:39:54 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/cadc5af3-f369-40c8-bd82-8235f284c0d6/Spring/green?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/5e73e921-f0de-41e8-bcff-fcd312ac5c40/Spring/green?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -989,7 +790,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 201 message: Created @@ -1007,27 +808,27 @@ interactions: ParameterSetName: - -n --app -g -s --instance-count User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/cadc5af3-f369-40c8-bd82-8235f284c0d6?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/green/operationId/5e73e921-f0de-41e8-bcff-fcd312ac5c40?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/cadc5af3-f369-40c8-bd82-8235f284c0d6","name":"cadc5af3-f369-40c8-bd82-8235f284c0d6","status":"Succeeded","startTime":"2022-02-24T03:24:46.6580316Z","endTime":"2022-02-24T03:25:13.4583662Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/green/operationId/5e73e921-f0de-41e8-bcff-fcd312ac5c40","name":"5e73e921-f0de-41e8-bcff-fcd312ac5c40","status":"Succeeded","startTime":"2022-03-20T06:39:54.5899151Z","endTime":"2022-03-20T06:40:07.5842391Z"}' headers: cache-control: - no-cache content-length: - - '349' + - '367' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:25:17 GMT + - Sun, 20 Mar 2022 06:40:24 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1039,7 +840,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1057,27 +858,27 @@ interactions: ParameterSetName: - -n --app -g -s --instance-count User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-crud-app-green-13-67478dbdc4-l7s28","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T03:24:53Z"},{"name":"test-crud-app-green-13-67478dbdc4-q5pr7","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T03:24:53Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":2},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:24:44.4805568Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:24:44.4805568Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-crud-app-green-13-5c966c975-gsnhd","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:39:57Z"},{"name":"test-crud-app-green-13-5c966c975-x2dvs","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:39:57Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":2},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:39:52.2185677Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:39:52.2185677Z"}}' headers: cache-control: - no-cache content-length: - - '1083' + - '1099' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:25:18 GMT + - Sun, 20 Mar 2022 06:40:24 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1091,7 +892,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1109,27 +910,27 @@ interactions: ParameterSetName: - -n -g -s --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments?api-version=2022-01-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-default-13-7694558b4d-j6brn","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T03:24:04Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:55.8683765Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:23:55.8683765Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-crud-app-green-13-67478dbdc4-l7s28","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T03:24:53Z"},{"name":"test-crud-app-green-13-67478dbdc4-q5pr7","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T03:24:53Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":2},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:24:44.4805568Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:24:44.4805568Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-default-13-66996dd58f-2ppwh","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:39:14Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:39:10.0805587Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:39:10.0805587Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-crud-app-green-13-5c966c975-gsnhd","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:39:57Z"},{"name":"test-crud-app-green-13-5c966c975-x2dvs","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:39:57Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":2},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:39:52.2185677Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:39:52.2185677Z"}}]}' headers: cache-control: - no-cache content-length: - - '2032' + - '2066' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:25:21 GMT + - Sun, 20 Mar 2022 06:40:27 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1141,9 +942,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1161,27 +962,28 @@ interactions: ParameterSetName: - -n -g -s --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"0c7bf6b91ae840c78655bb6f57ea0391","networkProfile":{"outboundIPs":{"publicIPs":["20.24.160.30","20.24.160.222"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"southeastasia","tags":{"asc-test":"prod","api-target":"arm","service-create-time":"2022-03-20 + 02:02:01 +0800","service-expire-time":"2022-03-20 13:02:01 +0800"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-03-19T18:02:10.1198327Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-03-19T19:56:42.9425082Z"}}' headers: cache-control: - no-cache content-length: - - '759' + - '1011' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:25:21 GMT + - Sun, 20 Mar 2022 06:40:28 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1195,7 +997,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1217,31 +1019,31 @@ interactions: ParameterSetName: - -n -g -s --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:19.3931018Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:25:24.1061311Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:38:25.7053649Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:40:29.677089Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/0d145033-facb-4142-94ff-00bef2302eb6?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-crud-app/operationId/7b36f6f7-8dc5-47ad-8b46-791e2a0f02eb?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '811' + - '859' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:25:24 GMT + - Sun, 20 Mar 2022 06:40:30 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/0d145033-facb-4142-94ff-00bef2302eb6/Spring/test-crud-app?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/7b36f6f7-8dc5-47ad-8b46-791e2a0f02eb/Spring/test-crud-app?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1249,9 +1051,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '1199' + - '1198' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -1275,31 +1077,31 @@ interactions: ParameterSetName: - -n -g -s --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:55.8683765Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:25:26.9161254Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:39:10.0805587Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:40:30.6458502Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/4094270a-56ca-45a5-a9d0-6b95eb94e76c?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/866a7160-fbfe-4f7e-8d82-5516276bd8a6?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '809' + - '827' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:25:28 GMT + - Sun, 20 Mar 2022 06:40:31 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/4094270a-56ca-45a5-a9d0-6b95eb94e76c/Spring/default?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/866a7160-fbfe-4f7e-8d82-5516276bd8a6/Spring/default?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1307,9 +1109,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '1199' + - '1198' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -1327,27 +1129,27 @@ interactions: ParameterSetName: - -n -g -s --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/0d145033-facb-4142-94ff-00bef2302eb6?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-crud-app/operationId/7b36f6f7-8dc5-47ad-8b46-791e2a0f02eb?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/0d145033-facb-4142-94ff-00bef2302eb6","name":"0d145033-facb-4142-94ff-00bef2302eb6","status":"Succeeded","startTime":"2022-02-24T03:25:25.3070345Z","endTime":"2022-02-24T03:25:31.58004Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-crud-app/operationId/7b36f6f7-8dc5-47ad-8b46-791e2a0f02eb","name":"7b36f6f7-8dc5-47ad-8b46-791e2a0f02eb","status":"Succeeded","startTime":"2022-03-20T06:40:30.3502985Z","endTime":"2022-03-20T06:40:37.7132311Z"}' headers: cache-control: - no-cache content-length: - - '355' + - '375' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:25:56 GMT + - Sun, 20 Mar 2022 06:41:00 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1359,7 +1161,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1377,27 +1179,27 @@ interactions: ParameterSetName: - -n -g -s --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:19.3931018Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:25:24.1061311Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:38:25.7053649Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:40:29.677089Z"}}' headers: cache-control: - no-cache content-length: - - '812' + - '860' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:25:57 GMT + - Sun, 20 Mar 2022 06:41:00 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1409,9 +1211,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11997' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1429,27 +1231,27 @@ interactions: ParameterSetName: - -n -g -s --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/4094270a-56ca-45a5-a9d0-6b95eb94e76c?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/866a7160-fbfe-4f7e-8d82-5516276bd8a6?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/4094270a-56ca-45a5-a9d0-6b95eb94e76c","name":"4094270a-56ca-45a5-a9d0-6b95eb94e76c","status":"Running","startTime":"2022-02-24T03:25:28.9341729Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/866a7160-fbfe-4f7e-8d82-5516276bd8a6","name":"866a7160-fbfe-4f7e-8d82-5516276bd8a6","status":"Running","startTime":"2022-03-20T06:40:31.4357044Z"}' headers: cache-control: - no-cache content-length: - - '308' + - '326' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:25:59 GMT + - Sun, 20 Mar 2022 06:41:01 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1461,7 +1263,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1479,27 +1281,27 @@ interactions: ParameterSetName: - -n -g -s --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/4094270a-56ca-45a5-a9d0-6b95eb94e76c?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/866a7160-fbfe-4f7e-8d82-5516276bd8a6?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/4094270a-56ca-45a5-a9d0-6b95eb94e76c","name":"4094270a-56ca-45a5-a9d0-6b95eb94e76c","status":"Succeeded","startTime":"2022-02-24T03:25:28.9341729Z","endTime":"2022-02-24T03:26:00.3024348Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/866a7160-fbfe-4f7e-8d82-5516276bd8a6","name":"866a7160-fbfe-4f7e-8d82-5516276bd8a6","status":"Succeeded","startTime":"2022-03-20T06:40:31.4357044Z","endTime":"2022-03-20T06:41:02.6783687Z"}' headers: cache-control: - no-cache content-length: - - '351' + - '369' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:26:10 GMT + - Sun, 20 Mar 2022 06:41:11 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1511,7 +1313,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1529,27 +1331,27 @@ interactions: ParameterSetName: - -n -g -s --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-default-13-67d9bdbbb6-4nlmk","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T03:25:36Z"},{"name":"test-crud-app-default-13-7694558b4d-j6brn","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T03:24:04Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:55.8683765Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:25:26.9161254Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-default-13-b5cc4b89c-dx8nq","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:40:48Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:39:10.0805587Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:40:30.6458502Z"}}' headers: cache-control: - no-cache content-length: - - '1073' + - '954' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:26:11 GMT + - Sun, 20 Mar 2022 06:41:12 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1561,9 +1363,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1581,27 +1383,27 @@ interactions: ParameterSetName: - -n -g -s --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:19.3931018Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:25:24.1061311Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:38:25.7053649Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:40:29.677089Z"}}' headers: cache-control: - no-cache content-length: - - '812' + - '860' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:26:14 GMT + - Sun, 20 Mar 2022 06:41:16 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1613,9 +1415,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11996' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1633,27 +1435,27 @@ interactions: ParameterSetName: - -n -g -s --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments?api-version=2022-03-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-default-13-67d9bdbbb6-4nlmk","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T03:25:36Z"},{"name":"test-crud-app-default-13-7694558b4d-j6brn","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T03:24:04Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:55.8683765Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:25:26.9161254Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-crud-app-green-13-67478dbdc4-l7s28","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T03:24:53Z"},{"name":"test-crud-app-green-13-67478dbdc4-q5pr7","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T03:24:53Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":2},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:24:44.4805568Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:24:44.4805568Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-default-13-b5cc4b89c-dx8nq","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:40:48Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:39:10.0805587Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:40:30.6458502Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-crud-app-green-13-5c966c975-gsnhd","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:39:57Z"},{"name":"test-crud-app-green-13-5c966c975-x2dvs","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:39:57Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":2},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:39:52.2185677Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:39:52.2185677Z"}}]}' headers: cache-control: - no-cache content-length: - - '2169' + - '2066' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:26:15 GMT + - Sun, 20 Mar 2022 06:41:16 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1665,9 +1467,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11997' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1685,27 +1487,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:19.3931018Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:25:24.1061311Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:38:25.7053649Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:40:29.677089Z"}}' headers: cache-control: - no-cache content-length: - - '812' + - '860' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:26:18 GMT + - Sun, 20 Mar 2022 06:41:18 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1717,9 +1519,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11997' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1739,7 +1541,7 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview response: @@ -1747,21 +1549,21 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/927e14a2-c427-48c5-9d85-4d3e707a4ac3?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-crud-app/operationId/5d05310c-154e-4319-8338-7db58067fa02?api-version=2022-01-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 24 Feb 2022 03:26:20 GMT + - Sun, 20 Mar 2022 06:41:19 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/927e14a2-c427-48c5-9d85-4d3e707a4ac3/Spring/test-crud-app?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/5d05310c-154e-4319-8338-7db58067fa02/Spring/test-crud-app?api-version=2022-01-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1771,7 +1573,7 @@ interactions: x-ms-ratelimit-remaining-subscription-deletes: - '14999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -1789,27 +1591,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/927e14a2-c427-48c5-9d85-4d3e707a4ac3?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-crud-app/operationId/5d05310c-154e-4319-8338-7db58067fa02?api-version=2022-01-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/927e14a2-c427-48c5-9d85-4d3e707a4ac3","name":"927e14a2-c427-48c5-9d85-4d3e707a4ac3","status":"Succeeded","startTime":"2022-02-24T03:26:21.0013896Z","endTime":"2022-02-24T03:26:30.1129824Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-crud-app/operationId/5d05310c-154e-4319-8338-7db58067fa02","name":"5d05310c-154e-4319-8338-7db58067fa02","status":"Succeeded","startTime":"2022-03-20T06:41:20.2471621Z","endTime":"2022-03-20T06:41:29.1001787Z"}' headers: cache-control: - no-cache content-length: - - '357' + - '375' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:26:51 GMT + - Sun, 20 Mar 2022 06:41:51 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1821,7 +1623,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_crud_1.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_crud_1.yaml index 7c63ea9794d..dea0959c8c5 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_crud_1.yaml +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_crud_1.yaml @@ -13,61 +13,9 @@ interactions: ParameterSetName: - -n -g -s --assign-endpoint --memory User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '759' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 03:26:54 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -g -s --assign-endpoint --memory - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1?api-version=2022-03-01-preview response: body: string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1","details":null}}' @@ -75,27 +23,29 @@ interactions: cache-control: - no-cache content-length: - - '229' + - '261' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:26:57 GMT + - Sun, 20 Mar 2022 07:13:26 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11997' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 404 message: Not Found @@ -113,27 +63,28 @@ interactions: ParameterSetName: - -n -g -s --assign-endpoint --memory User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"0c7bf6b91ae840c78655bb6f57ea0391","networkProfile":{"outboundIPs":{"publicIPs":["20.24.160.30","20.24.160.222"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"southeastasia","tags":{"asc-test":"prod","api-target":"arm","service-create-time":"2022-03-20 + 02:02:01 +0800","service-expire-time":"2022-03-20 13:02:01 +0800"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-03-19T18:02:10.1198327Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-03-19T19:56:42.9425082Z"}}' headers: cache-control: - no-cache content-length: - - '759' + - '1011' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:26:57 GMT + - Sun, 20 Mar 2022 07:13:27 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -145,9 +96,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11996' + - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -170,31 +121,31 @@ interactions: ParameterSetName: - -n -g -s --assign-endpoint --memory User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":true,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1","name":"test-crud-app-1","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:26:58.9875792Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:26:58.9875792Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":true,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1","name":"test-crud-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:13:27.4297062Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:13:27.4297062Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app-1/operationId/841394bb-9107-4057-a5ff-45cfb3c2147c?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-crud-app-1/operationId/cdeee2fb-8048-4f06-b7fb-15caaeda9f50?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '721' + - '758' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:26:59 GMT + - Sun, 20 Mar 2022 07:13:27 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/841394bb-9107-4057-a5ff-45cfb3c2147c/Spring/test-crud-app-1?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/cdeee2fb-8048-4f06-b7fb-15caaeda9f50/Spring/test-crud-app-1?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -202,9 +153,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '1199' + - '1197' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 201 message: Created @@ -222,27 +173,27 @@ interactions: ParameterSetName: - -n -g -s --assign-endpoint --memory User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app-1/operationId/841394bb-9107-4057-a5ff-45cfb3c2147c?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-crud-app-1/operationId/cdeee2fb-8048-4f06-b7fb-15caaeda9f50?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app-1/operationId/841394bb-9107-4057-a5ff-45cfb3c2147c","name":"841394bb-9107-4057-a5ff-45cfb3c2147c","status":"Succeeded","startTime":"2022-02-24T03:26:59.3522125Z","endTime":"2022-02-24T03:27:06.3088354Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-crud-app-1/operationId/cdeee2fb-8048-4f06-b7fb-15caaeda9f50","name":"cdeee2fb-8048-4f06-b7fb-15caaeda9f50","status":"Succeeded","startTime":"2022-03-20T07:13:27.9126587Z","endTime":"2022-03-20T07:13:34.2226684Z"}' headers: cache-control: - no-cache content-length: - - '359' + - '383' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:27:29 GMT + - Sun, 20 Mar 2022 07:13:57 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -254,7 +205,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -272,27 +223,27 @@ interactions: ParameterSetName: - -n -g -s --assign-endpoint --memory User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1","name":"test-crud-app-1","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:26:58.9875792Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:26:58.9875792Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1","name":"test-crud-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:13:27.4297062Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:13:27.4297062Z"}}' headers: cache-control: - no-cache content-length: - - '816' + - '877' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:27:30 GMT + - Sun, 20 Mar 2022 07:13:58 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -304,9 +255,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11996' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -331,31 +282,31 @@ interactions: ParameterSetName: - -n -g -s --assign-endpoint --memory User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"2Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:27:35.0520192Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:27:35.0520192Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"2Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:14:03.2579259Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:14:03.2579259Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/4b8aa6c2-9346-438e-8a73-a18796384d13?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/5d49927b-eb05-4870-a169-e790eebeb884?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '801' + - '825' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:27:36 GMT + - Sun, 20 Mar 2022 07:14:03 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/4b8aa6c2-9346-438e-8a73-a18796384d13/Spring/default?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/5d49927b-eb05-4870-a169-e790eebeb884/Spring/default?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -363,9 +314,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '1199' + - '1198' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 201 message: Created @@ -388,31 +339,31 @@ interactions: ParameterSetName: - -n -g -s --assign-endpoint --memory User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":true,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1","name":"test-crud-app-1","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:26:58.9875792Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:27:37.5867715Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":true,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1","name":"test-crud-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:13:27.4297062Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:14:04.4142095Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app-1/operationId/996dca8f-a752-4409-b34a-3cce8cbcb566?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-crud-app-1/operationId/5879e233-51fa-4138-b2e9-1737fd4e4512?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '814' + - '875' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:27:37 GMT + - Sun, 20 Mar 2022 07:14:04 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/996dca8f-a752-4409-b34a-3cce8cbcb566/Spring/test-crud-app-1?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/5879e233-51fa-4138-b2e9-1737fd4e4512/Spring/test-crud-app-1?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -420,9 +371,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '1198' + - '1196' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -440,27 +391,27 @@ interactions: ParameterSetName: - -n -g -s --assign-endpoint --memory User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/4b8aa6c2-9346-438e-8a73-a18796384d13?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/5d49927b-eb05-4870-a169-e790eebeb884?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/4b8aa6c2-9346-438e-8a73-a18796384d13","name":"4b8aa6c2-9346-438e-8a73-a18796384d13","status":"Succeeded","startTime":"2022-02-24T03:27:37.1133549Z","endTime":"2022-02-24T03:28:07.4471395Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/5d49927b-eb05-4870-a169-e790eebeb884","name":"5d49927b-eb05-4870-a169-e790eebeb884","status":"Succeeded","startTime":"2022-03-20T07:14:04.1246629Z","endTime":"2022-03-20T07:14:33.7416925Z"}' headers: cache-control: - no-cache content-length: - - '351' + - '369' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:28:06 GMT + - Sun, 20 Mar 2022 07:14:33 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -472,7 +423,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -490,27 +441,27 @@ interactions: ParameterSetName: - -n -g -s --assign-endpoint --memory User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"2Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-1-default-15-7c6b5cb594-2v8jx","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T03:27:42Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:27:35.0520192Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:27:35.0520192Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"2Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-1-default-21-849546fb6d-hnpqb","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T07:14:10Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:14:03.2579259Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:14:03.2579259Z"}}' headers: cache-control: - no-cache content-length: - - '931' + - '961' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:28:08 GMT + - Sun, 20 Mar 2022 07:14:34 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -522,9 +473,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11996' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -542,27 +493,27 @@ interactions: ParameterSetName: - -n -g -s --assign-endpoint --memory User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app-1/operationId/996dca8f-a752-4409-b34a-3cce8cbcb566?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-crud-app-1/operationId/5879e233-51fa-4138-b2e9-1737fd4e4512?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app-1/operationId/996dca8f-a752-4409-b34a-3cce8cbcb566","name":"996dca8f-a752-4409-b34a-3cce8cbcb566","status":"Succeeded","startTime":"2022-02-24T03:27:37.9821269Z","endTime":"2022-02-24T03:27:49.3094024Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-crud-app-1/operationId/5879e233-51fa-4138-b2e9-1737fd4e4512","name":"5879e233-51fa-4138-b2e9-1737fd4e4512","status":"Succeeded","startTime":"2022-03-20T07:14:04.8236398Z","endTime":"2022-03-20T07:14:17.0689912Z"}' headers: cache-control: - no-cache content-length: - - '359' + - '383' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:28:10 GMT + - Sun, 20 Mar 2022 07:14:35 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -574,7 +525,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -592,27 +543,27 @@ interactions: ParameterSetName: - -n -g -s --assign-endpoint --memory User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":true,"url":"https://cli-unittest-test-crud-app-1.asc-test.net","provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1","name":"test-crud-app-1","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:26:58.9875792Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:27:37.5867715Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":true,"url":"https://cli-unittest-test-crud-app-1.asc-test.net","provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1","name":"test-crud-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:13:27.4297062Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:14:04.4142095Z"}}' headers: cache-control: - no-cache content-length: - - '873' + - '964' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:28:11 GMT + - Sun, 20 Mar 2022 07:14:35 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -624,9 +575,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11995' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -644,27 +595,27 @@ interactions: ParameterSetName: - -n -g -s --assign-endpoint --memory User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":true,"url":"https://cli-unittest-test-crud-app-1.asc-test.net","provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1","name":"test-crud-app-1","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:26:58.9875792Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:27:37.5867715Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":true,"url":"https://cli-unittest-test-crud-app-1.asc-test.net","provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1","name":"test-crud-app-1","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:13:27.4297062Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:14:04.4142095Z"}}' headers: cache-control: - no-cache content-length: - - '873' + - '964' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:28:14 GMT + - Sun, 20 Mar 2022 07:14:39 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -676,9 +627,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11994' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -696,27 +647,27 @@ interactions: ParameterSetName: - -n -g -s --assign-endpoint --memory User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments?api-version=2022-03-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"2Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-1-default-15-7c6b5cb594-2v8jx","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T03:27:42Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:27:35.0520192Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:27:35.0520192Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"2Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-1-default-21-849546fb6d-hnpqb","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T07:14:10Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:14:03.2579259Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:14:03.2579259Z"}}]}' headers: cache-control: - no-cache content-length: - - '943' + - '973' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:28:15 GMT + - Sun, 20 Mar 2022 07:14:40 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -728,9 +679,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11996' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -748,27 +699,28 @@ interactions: ParameterSetName: - -n --app -g -s --skip-clone-settings User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"0c7bf6b91ae840c78655bb6f57ea0391","networkProfile":{"outboundIPs":{"publicIPs":["20.24.160.30","20.24.160.222"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"southeastasia","tags":{"asc-test":"prod","api-target":"arm","service-create-time":"2022-03-20 + 02:02:01 +0800","service-expire-time":"2022-03-20 13:02:01 +0800"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-03-19T18:02:10.1198327Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-03-19T19:56:42.9425082Z"}}' headers: cache-control: - no-cache content-length: - - '759' + - '1011' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:28:18 GMT + - Sun, 20 Mar 2022 07:14:42 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -782,12 +734,15 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK - request: - body: null + body: '{"properties": {"source": {"type": "Jar", "relativePath": "", + "runtimeVersion": "Java_8"}, "deploymentSettings": {"resourceRequests": {"cpu": + "1", "memory": "1Gi"}, "environmentVariables": {}}}, "sku": {"name": "S0", "tier": + "Standard", "capacity": 1}}' headers: Accept: - application/json @@ -797,104 +752,56 @@ interactions: - spring-cloud app deployment create Connection: - keep-alive - ParameterSetName: - - -n --app -g -s --skip-clone-settings - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '759' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 03:28:19 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11996' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: + Content-Length: + - '261' + Content-Type: - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app deployment create - Connection: - - keep-alive ParameterSetName: - -n --app -g -s --skip-clone-settings User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":{}},"provisioningState":"Creating","status":"Running","active":false,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:14:43.6867805Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:14:43.6867805Z"}}' headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/green/operationId/23488d90-fbb0-456a-98cf-cde23f27f384?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '759' + - '820' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:28:21 GMT + - Sun, 20 Mar 2022 07:14:44 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/23488d90-fbb0-456a-98cf-cde23f27f384/Spring/green?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '1198' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: - code: 200 - message: OK + code: 201 + message: Created - request: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -904,27 +811,27 @@ interactions: ParameterSetName: - -n --app -g -s --skip-clone-settings User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/green/operationId/23488d90-fbb0-456a-98cf-cde23f27f384?api-version=2022-03-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/green/operationId/23488d90-fbb0-456a-98cf-cde23f27f384","name":"23488d90-fbb0-456a-98cf-cde23f27f384","status":"Running","startTime":"2022-03-20T07:14:45.1162374Z"}' headers: cache-control: - no-cache content-length: - - '759' + - '324' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:28:23 GMT + - Sun, 20 Mar 2022 07:15:14 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -935,72 +842,11 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK -- request: - body: '{"properties": {"source": {"type": "Jar", "relativePath": "", - "runtimeVersion": "Java_8"}, "deploymentSettings": {"resourceRequests": {"cpu": - "1", "memory": "1Gi"}, "environmentVariables": {}}}, "sku": {"name": "S0", "tier": - "Standard", "capacity": 1}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app deployment create - Connection: - - keep-alive - Content-Length: - - '261' - Content-Type: - - application/json - ParameterSetName: - - -n --app -g -s --skip-clone-settings - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/mock-deployment?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":{}},"provisioningState":"Creating","status":"Running","active":false,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:28:24.6029622Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:28:24.6029622Z"}}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/4424cb56-3e99-4c29-a038-46e0a750ba0f?api-version=2022-01-01-preview - cache-control: - - no-cache - content-length: - - '796' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 03:28:26 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/4424cb56-3e99-4c29-a038-46e0a750ba0f/Spring/green?api-version=2022-01-01-preview - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '1199' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 201 - message: Created - request: body: null headers: @@ -1015,27 +861,27 @@ interactions: ParameterSetName: - -n --app -g -s --skip-clone-settings User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/4424cb56-3e99-4c29-a038-46e0a750ba0f?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/green/operationId/23488d90-fbb0-456a-98cf-cde23f27f384?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/4424cb56-3e99-4c29-a038-46e0a750ba0f","name":"4424cb56-3e99-4c29-a038-46e0a750ba0f","status":"Succeeded","startTime":"2022-02-24T03:28:26.7669134Z","endTime":"2022-02-24T03:28:52.3038838Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/green/operationId/23488d90-fbb0-456a-98cf-cde23f27f384","name":"23488d90-fbb0-456a-98cf-cde23f27f384","status":"Succeeded","startTime":"2022-03-20T07:14:45.1162374Z","endTime":"2022-03-20T07:15:18.6276151Z"}' headers: cache-control: - no-cache content-length: - - '349' + - '367' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:28:58 GMT + - Sun, 20 Mar 2022 07:15:25 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1047,7 +893,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1065,27 +911,27 @@ interactions: ParameterSetName: - -n --app -g -s --skip-clone-settings User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":{}},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-crud-app-1-green-15-7bc9fd994f-4nxv2","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T03:28:31Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:28:24.6029622Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:28:24.6029622Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":{}},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-crud-app-1-green-21-77fc8bbdf7-v9pwt","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T07:14:55Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:14:43.6867805Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:14:43.6867805Z"}}' headers: cache-control: - no-cache content-length: - - '936' + - '966' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 03:28:59 GMT + - Sun, 20 Mar 2022 07:15:25 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1099,7 +945,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11996' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_deploy_container.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_deploy_container.yaml index 57d570b00a3..18127e48f0f 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_deploy_container.yaml +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_deploy_container.yaml @@ -15,7 +15,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' @@ -65,7 +65,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container?api-version=2022-03-01-preview response: body: string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container","details":null}}' @@ -113,7 +113,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' @@ -170,7 +170,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container?api-version=2022-03-01-preview response: body: string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container","name":"test-container","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:18.9016189Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:10:18.9016189Z"}}' @@ -272,7 +272,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container?api-version=2022-03-01-preview response: body: string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container","name":"test-container","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:18.9016189Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:10:18.9016189Z"}}' @@ -331,7 +331,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-03-01-preview response: body: string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:55.1167761Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:10:55.1167761Z"}}' @@ -388,7 +388,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container?api-version=2022-03-01-preview response: body: string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container","name":"test-container","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:18.9016189Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:10:56.8067785Z"}}' @@ -540,7 +540,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container?api-version=2022-03-01-preview response: body: string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container","name":"test-container","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:18.9016189Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:10:56.8067785Z"}}' @@ -742,7 +742,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-03-01-preview response: body: string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-container-default-14-7d888965c7-q7b9q","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T08:11:04Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:55.1167761Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:10:55.1167761Z"}}' @@ -794,7 +794,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container?api-version=2022-03-01-preview response: body: string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container","name":"test-container","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:18.9016189Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:10:56.8067785Z"}}' @@ -846,7 +846,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments?api-version=2022-03-01-preview response: body: string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-container-default-14-7d888965c7-q7b9q","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T08:11:04Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:55.1167761Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:10:55.1167761Z"}}]}' @@ -950,7 +950,59 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments?api-version=2022-03-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-container-default-14-7d888965c7-q7b9q","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T08:11:04Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:55.1167761Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:10:55.1167761Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '941' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:12:06 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --container-image + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' @@ -1002,7 +1054,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' @@ -1054,7 +1106,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' @@ -1113,7 +1165,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-03-01-preview response: body: string: '{"properties":{"source":{"type":"Container","version":"","customContainer":{"containerImage":"springio/gs-spring-boot-docker","server":"docker.io"}},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"jvmOptions":"","environmentVariables":null},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:55.1167761Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:12:13.9598533Z"}}' @@ -1215,7 +1267,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-03-01-preview response: body: string: '{"properties":{"source":{"type":"Container","version":"","customContainer":{"containerImage":"springio/gs-spring-boot-docker","server":"docker.io"}},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"jvmOptions":"","environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-container-default-14-7b896dd978-s6rrj","status":"Running","discoveryStatus":"N/A","startTime":"2022-02-24T08:12:26Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:55.1167761Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:12:13.9598533Z"}}' @@ -1267,7 +1319,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' @@ -1319,7 +1371,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' @@ -1371,7 +1423,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' @@ -1459,6 +1511,58 @@ interactions: status: code: 200 message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - -g -s --app -n --container-image + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments?api-version=2022-03-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Container","version":"","customContainer":{"containerImage":"springio/gs-spring-boot-docker","server":"docker.io"}},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"jvmOptions":"","environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-container-default-14-7b896dd978-s6rrj","status":"Running","discoveryStatus":"N/A","startTime":"2022-02-24T08:12:26Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:55.1167761Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:12:13.9598533Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1015' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:12:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK - request: body: '{"properties": {"source": {"type": "Container", "customContainer": {"server": "docker.io", "containerImage": "springio/gs-spring-boot-docker"}}, "deploymentSettings": @@ -1482,7 +1586,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-03-01-preview response: body: string: '{"properties":{"source":{"type":"Container","customContainer":{"containerImage":"springio/gs-spring-boot-docker","server":"docker.io"}},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":false,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:12:58.9051731Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:12:58.9051731Z"}}' @@ -1584,7 +1688,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-03-01-preview response: body: string: '{"properties":{"source":{"type":"Container","customContainer":{"containerImage":"springio/gs-spring-boot-docker","server":"docker.io"}},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-container-green-14-648cbc5b87-sj5zw","status":"Running","discoveryStatus":"N/A","startTime":"2022-02-24T08:13:01Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:12:58.9051731Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:12:58.9051731Z"}}' @@ -1636,7 +1740,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments?api-version=2022-03-01-preview response: body: string: '{"value":[{"properties":{"source":{"type":"Container","version":"","customContainer":{"containerImage":"springio/gs-spring-boot-docker","server":"docker.io"}},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"jvmOptions":"","environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-container-default-14-7b896dd978-s6rrj","status":"Running","discoveryStatus":"N/A","startTime":"2022-02-24T08:12:26Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:55.1167761Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:12:13.9598533Z"}},{"properties":{"source":{"type":"Container","customContainer":{"containerImage":"springio/gs-spring-boot-docker","server":"docker.io"}},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-container-green-14-648cbc5b87-sj5zw","status":"Running","discoveryStatus":"N/A","startTime":"2022-02-24T08:13:01Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:12:58.9051731Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:12:58.9051731Z"}}]}' @@ -1688,7 +1792,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' @@ -1740,7 +1844,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' @@ -1792,7 +1896,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' @@ -1846,7 +1950,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/getResourceUploadUrl?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/getResourceUploadUrl?api-version=2022-03-01-preview response: body: string: '{"relativePath":"resources/5a84fe31320ed80c98e92477f218dabb4f9a607ace9933e280a502f626ec89cf-2022022408-475616c7-8c3f-42af-af24-5f8ab8e54903","uploadUrl":"https://0ceb2111a7684e3db339ef7d.file.core.windows.net/6cd9062ba20843ac97492d47595a0f6c/resources/5a84fe31320ed80c98e92477f218dabb4f9a607ace9933e280a502f626ec89cf-2022022408-475616c7-8c3f-42af-af24-5f8ab8e54903?1234567"}' @@ -2009,7 +2113,7 @@ interactions: User-Agent: - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-03-01-preview response: body: string: '{"properties":{"source":{"type":"Jar","relativePath":"resources/5a84fe31320ed80c98e92477f218dabb4f9a607ace9933e280a502f626ec89cf-2022022408-475616c7-8c3f-42af-af24-5f8ab8e54903","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:55.1167761Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:13:49.2620106Z"}}' diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_i2a_tls.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_i2a_tls.yaml index 8537e74b9ea..3c2c06a55cf 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_i2a_tls.yaml +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_i2a_tls.yaml @@ -13,61 +13,9 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '759' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:43:31 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -g -s - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-03-01-preview response: body: string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","details":null}}' @@ -75,17 +23,17 @@ interactions: cache-control: - no-cache content-length: - - '229' + - '255' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:43:33 GMT + - Sun, 20 Mar 2022 06:47:08 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -95,7 +43,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 404 message: Not Found @@ -113,27 +61,28 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"0c7bf6b91ae840c78655bb6f57ea0391","networkProfile":{"outboundIPs":{"publicIPs":["20.24.160.30","20.24.160.222"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"southeastasia","tags":{"asc-test":"prod","api-target":"arm","service-create-time":"2022-03-20 + 02:02:01 +0800","service-expire-time":"2022-03-20 13:02:01 +0800"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-03-19T18:02:10.1198327Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-03-19T19:56:42.9425082Z"}}' headers: cache-control: - no-cache content-length: - - '759' + - '1011' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:43:34 GMT + - Sun, 20 Mar 2022 06:47:09 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -145,9 +94,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -170,31 +119,31 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:43:35.7583506Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:10.0170537Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:47:10.0170537Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/2f2e1891-3953-46c7-acc4-3e143db3fec6?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-i2atls-app/operationId/fdb057c8-d80d-4c93-b6c1-286129aefd35?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '722' + - '747' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:43:35 GMT + - Sun, 20 Mar 2022 06:47:10 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/2f2e1891-3953-46c7-acc4-3e143db3fec6/Spring/test-i2atls-app?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/fdb057c8-d80d-4c93-b6c1-286129aefd35/Spring/test-i2atls-app?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -204,7 +153,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 201 message: Created @@ -222,27 +171,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/2f2e1891-3953-46c7-acc4-3e143db3fec6?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-i2atls-app/operationId/fdb057c8-d80d-4c93-b6c1-286129aefd35?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/2f2e1891-3953-46c7-acc4-3e143db3fec6","name":"2f2e1891-3953-46c7-acc4-3e143db3fec6","status":"Succeeded","startTime":"2022-02-24T02:43:36.454197Z","endTime":"2022-02-24T02:43:42.7919934Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-i2atls-app/operationId/fdb057c8-d80d-4c93-b6c1-286129aefd35","name":"fdb057c8-d80d-4c93-b6c1-286129aefd35","status":"Succeeded","startTime":"2022-03-20T06:47:10.7162308Z","endTime":"2022-03-20T06:47:17.6384081Z"}' headers: cache-control: - no-cache content-length: - - '358' + - '377' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:44:06 GMT + - Sun, 20 Mar 2022 06:47:40 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -254,7 +203,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -272,27 +221,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:43:35.7583506Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:10.0170537Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:47:10.0170537Z"}}' headers: cache-control: - no-cache content-length: - - '816' + - '865' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:44:07 GMT + - Sun, 20 Mar 2022 06:47:41 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -306,7 +255,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -331,31 +280,31 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:46.0483761Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:47:46.0483761Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/de9166e3-a2f4-4333-a3b3-c2b2d11e97a5?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '801' + - '819' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:44:14 GMT + - Sun, 20 Mar 2022 06:47:48 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/0866312d-3c3e-4e55-8a71-7c0bdb439b2d/Spring/default?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/de9166e3-a2f4-4333-a3b3-c2b2d11e97a5/Spring/default?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -365,7 +314,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1198' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 201 message: Created @@ -388,31 +337,31 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:14.5836455Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:10.0170537Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:47:49.0484095Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/ca958b6f-d22f-46fb-b70a-c371e3ae27cf?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-i2atls-app/operationId/ff9e2bfb-2546-4d26-80b9-6ff13de95c3c?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '815' + - '864' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:44:15 GMT + - Sun, 20 Mar 2022 06:47:48 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/ca958b6f-d22f-46fb-b70a-c371e3ae27cf/Spring/test-i2atls-app?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/ff9e2bfb-2546-4d26-80b9-6ff13de95c3c/Spring/test-i2atls-app?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -422,7 +371,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1198' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -440,27 +389,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/de9166e3-a2f4-4333-a3b3-c2b2d11e97a5?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d","name":"0866312d-3c3e-4e55-8a71-7c0bdb439b2d","status":"Running","startTime":"2022-02-24T02:44:14.2241405Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/de9166e3-a2f4-4333-a3b3-c2b2d11e97a5","name":"de9166e3-a2f4-4333-a3b3-c2b2d11e97a5","status":"Running","startTime":"2022-03-20T06:47:48.7585059Z"}' headers: cache-control: - no-cache content-length: - - '308' + - '326' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:44:44 GMT + - Sun, 20 Mar 2022 06:48:19 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -472,7 +421,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -490,27 +439,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/ca958b6f-d22f-46fb-b70a-c371e3ae27cf?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-i2atls-app/operationId/ff9e2bfb-2546-4d26-80b9-6ff13de95c3c?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/ca958b6f-d22f-46fb-b70a-c371e3ae27cf","name":"ca958b6f-d22f-46fb-b70a-c371e3ae27cf","status":"Succeeded","startTime":"2022-02-24T02:44:14.9915152Z","endTime":"2022-02-24T02:44:21.459485Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-i2atls-app/operationId/ff9e2bfb-2546-4d26-80b9-6ff13de95c3c","name":"ff9e2bfb-2546-4d26-80b9-6ff13de95c3c","status":"Succeeded","startTime":"2022-03-20T06:47:49.3687217Z","endTime":"2022-03-20T06:47:55.534294Z"}' headers: cache-control: - no-cache content-length: - - '358' + - '376' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:44:46 GMT + - Sun, 20 Mar 2022 06:48:20 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -522,7 +471,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -540,27 +489,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:14.5836455Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:10.0170537Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:47:49.0484095Z"}}' headers: cache-control: - no-cache content-length: - - '816' + - '865' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:44:46 GMT + - Sun, 20 Mar 2022 06:48:21 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -574,57 +523,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11997' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -g -s - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d?api-version=2022-01-01-preview - response: - body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d","name":"0866312d-3c3e-4e55-8a71-7c0bdb439b2d","status":"Running","startTime":"2022-02-24T02:44:14.2241405Z"}' - headers: - cache-control: - - no-cache - content-length: - - '308' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:44:55 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -642,27 +541,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/de9166e3-a2f4-4333-a3b3-c2b2d11e97a5?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d","name":"0866312d-3c3e-4e55-8a71-7c0bdb439b2d","status":"Running","startTime":"2022-02-24T02:44:14.2241405Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/de9166e3-a2f4-4333-a3b3-c2b2d11e97a5","name":"de9166e3-a2f4-4333-a3b3-c2b2d11e97a5","status":"Running","startTime":"2022-03-20T06:47:48.7585059Z"}' headers: cache-control: - no-cache content-length: - - '308' + - '326' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:45:10 GMT + - Sun, 20 Mar 2022 06:48:29 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -674,7 +573,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -692,27 +591,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/de9166e3-a2f4-4333-a3b3-c2b2d11e97a5?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d","name":"0866312d-3c3e-4e55-8a71-7c0bdb439b2d","status":"Running","startTime":"2022-02-24T02:44:14.2241405Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/de9166e3-a2f4-4333-a3b3-c2b2d11e97a5","name":"de9166e3-a2f4-4333-a3b3-c2b2d11e97a5","status":"Running","startTime":"2022-03-20T06:47:48.7585059Z"}' headers: cache-control: - no-cache content-length: - - '308' + - '326' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:45:21 GMT + - Sun, 20 Mar 2022 06:48:39 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -724,7 +623,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -742,27 +641,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/de9166e3-a2f4-4333-a3b3-c2b2d11e97a5?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d","name":"0866312d-3c3e-4e55-8a71-7c0bdb439b2d","status":"Running","startTime":"2022-02-24T02:44:14.2241405Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/de9166e3-a2f4-4333-a3b3-c2b2d11e97a5","name":"de9166e3-a2f4-4333-a3b3-c2b2d11e97a5","status":"Running","startTime":"2022-03-20T06:47:48.7585059Z"}' headers: cache-control: - no-cache content-length: - - '308' + - '326' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:45:31 GMT + - Sun, 20 Mar 2022 06:48:50 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -774,7 +673,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -792,27 +691,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/de9166e3-a2f4-4333-a3b3-c2b2d11e97a5?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d","name":"0866312d-3c3e-4e55-8a71-7c0bdb439b2d","status":"Running","startTime":"2022-02-24T02:44:14.2241405Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/de9166e3-a2f4-4333-a3b3-c2b2d11e97a5","name":"de9166e3-a2f4-4333-a3b3-c2b2d11e97a5","status":"Running","startTime":"2022-03-20T06:47:48.7585059Z"}' headers: cache-control: - no-cache content-length: - - '308' + - '326' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:45:43 GMT + - Sun, 20 Mar 2022 06:49:00 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -824,7 +723,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -842,27 +741,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/de9166e3-a2f4-4333-a3b3-c2b2d11e97a5?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d","name":"0866312d-3c3e-4e55-8a71-7c0bdb439b2d","status":"Running","startTime":"2022-02-24T02:44:14.2241405Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/de9166e3-a2f4-4333-a3b3-c2b2d11e97a5","name":"de9166e3-a2f4-4333-a3b3-c2b2d11e97a5","status":"Running","startTime":"2022-03-20T06:47:48.7585059Z"}' headers: cache-control: - no-cache content-length: - - '308' + - '326' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:45:54 GMT + - Sun, 20 Mar 2022 06:49:10 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -874,7 +773,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -892,27 +791,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/de9166e3-a2f4-4333-a3b3-c2b2d11e97a5?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d","name":"0866312d-3c3e-4e55-8a71-7c0bdb439b2d","status":"Succeeded","startTime":"2022-02-24T02:44:14.2241405Z","endTime":"2022-02-24T02:45:55.2106086Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/de9166e3-a2f4-4333-a3b3-c2b2d11e97a5","name":"de9166e3-a2f4-4333-a3b3-c2b2d11e97a5","status":"Succeeded","startTime":"2022-03-20T06:47:48.7585059Z","endTime":"2022-03-20T06:49:17.3119599Z"}' headers: cache-control: - no-cache content-length: - - '351' + - '369' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:46:05 GMT + - Sun, 20 Mar 2022 06:49:21 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -924,7 +823,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -942,27 +841,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-d9b948fb-hq6xf","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:48:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:46.0483761Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:47:46.0483761Z"}}' headers: cache-control: - no-cache content-length: - - '930' + - '947' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:46:10 GMT + - Sun, 20 Mar 2022 06:49:21 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -974,9 +873,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11996' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -994,27 +893,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:14.5836455Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:10.0170537Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:47:49.0484095Z"}}' headers: cache-control: - no-cache content-length: - - '816' + - '865' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:46:15 GMT + - Sun, 20 Mar 2022 06:49:24 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1028,7 +927,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11996' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1046,27 +945,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-03-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-d9b948fb-hq6xf","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:48:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:46.0483761Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:47:46.0483761Z"}}]}' headers: cache-control: - no-cache content-length: - - '942' + - '959' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:46:16 GMT + - Sun, 20 Mar 2022 06:49:24 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1078,9 +977,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' + - '11995' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1098,27 +997,27 @@ interactions: ParameterSetName: - -n -g -s --enable-ingress-to-app-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-01-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-d9b948fb-hq6xf","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:48:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:46.0483761Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:47:46.0483761Z"}}]}' headers: cache-control: - no-cache content-length: - - '942' + - '959' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:46:18 GMT + - Sun, 20 Mar 2022 06:49:26 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1130,61 +1029,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app update - Connection: - - keep-alive - ParameterSetName: - - -n -g -s --enable-ingress-to-app-tls - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '759' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:46:20 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' + - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1206,31 +1053,31 @@ interactions: ParameterSetName: - -n -g -s --enable-ingress-to-app-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":true},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:46:22.2257807Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":true},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:10.0170537Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:49:28.109392Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/9b1bd090-a126-4eb7-acf4-d1a8e875874a?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-i2atls-app/operationId/33a30e88-bc70-42b9-87c0-24390264bffd?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '814' + - '862' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:46:23 GMT + - Sun, 20 Mar 2022 06:49:28 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/9b1bd090-a126-4eb7-acf4-d1a8e875874a/Spring/test-i2atls-app?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/33a30e88-bc70-42b9-87c0-24390264bffd/Spring/test-i2atls-app?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1238,9 +1085,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '1199' + - '1197' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -1263,27 +1110,27 @@ interactions: ParameterSetName: - -n -g -s --enable-ingress-to-app-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-d9b948fb-hq6xf","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:48:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:46.0483761Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:47:46.0483761Z"}}' headers: cache-control: - no-cache content-length: - - '930' + - '947' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:46:23 GMT + - Sun, 20 Mar 2022 06:49:29 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1295,9 +1142,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '1199' + - '1197' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1315,27 +1162,27 @@ interactions: ParameterSetName: - -n -g -s --enable-ingress-to-app-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/9b1bd090-a126-4eb7-acf4-d1a8e875874a?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-i2atls-app/operationId/33a30e88-bc70-42b9-87c0-24390264bffd?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/9b1bd090-a126-4eb7-acf4-d1a8e875874a","name":"9b1bd090-a126-4eb7-acf4-d1a8e875874a","status":"Succeeded","startTime":"2022-02-24T02:46:23.347509Z","endTime":"2022-02-24T02:46:29.6899442Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-i2atls-app/operationId/33a30e88-bc70-42b9-87c0-24390264bffd","name":"33a30e88-bc70-42b9-87c0-24390264bffd","status":"Succeeded","startTime":"2022-03-20T06:49:28.7088765Z","endTime":"2022-03-20T06:49:35.5524731Z"}' headers: cache-control: - no-cache content-length: - - '358' + - '377' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:46:53 GMT + - Sun, 20 Mar 2022 06:49:58 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1347,7 +1194,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1365,27 +1212,27 @@ interactions: ParameterSetName: - -n -g -s --enable-ingress-to-app-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":true},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:46:22.2257807Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":true},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:10.0170537Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:49:28.109392Z"}}' headers: cache-control: - no-cache content-length: - - '815' + - '863' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:46:54 GMT + - Sun, 20 Mar 2022 06:49:59 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1397,9 +1244,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11995' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1417,27 +1264,27 @@ interactions: ParameterSetName: - -n -g -s --enable-ingress-to-app-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":true},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:46:22.2257807Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":true},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:10.0170537Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:49:28.109392Z"}}' headers: cache-control: - no-cache content-length: - - '815' + - '863' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:46:59 GMT + - Sun, 20 Mar 2022 06:50:04 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1449,9 +1296,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' + - '11994' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1469,27 +1316,27 @@ interactions: ParameterSetName: - -n -g -s --enable-ingress-to-app-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-03-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-d9b948fb-hq6xf","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:48:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:46.0483761Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:47:46.0483761Z"}}]}' headers: cache-control: - no-cache content-length: - - '942' + - '959' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:47:00 GMT + - Sun, 20 Mar 2022 06:50:05 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1501,9 +1348,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11997' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1521,79 +1368,27 @@ interactions: ParameterSetName: - -n -g -s --enable-ingress-to-app-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-01-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}]}' - headers: - cache-control: - - no-cache - content-length: - - '942' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:47:02 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app update - Connection: - - keep-alive - ParameterSetName: - - -n -g -s --enable-ingress-to-app-tls - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-d9b948fb-hq6xf","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:48:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:46.0483761Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:47:46.0483761Z"}}]}' headers: cache-control: - no-cache content-length: - - '759' + - '959' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:47:04 GMT + - Sun, 20 Mar 2022 06:50:06 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1605,9 +1400,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' + - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1629,31 +1424,31 @@ interactions: ParameterSetName: - -n -g -s --enable-ingress-to-app-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:47:06.9329294Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:10.0170537Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:50:07.734522Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/6246f4a2-9c88-4f80-bd35-9835d6571b97?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-i2atls-app/operationId/adbeee7a-a000-4d2f-99e3-ffce4ed26f81?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '815' + - '863' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:47:07 GMT + - Sun, 20 Mar 2022 06:50:08 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/6246f4a2-9c88-4f80-bd35-9835d6571b97/Spring/test-i2atls-app?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/adbeee7a-a000-4d2f-99e3-ffce4ed26f81/Spring/test-i2atls-app?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1663,7 +1458,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -1686,27 +1481,27 @@ interactions: ParameterSetName: - -n -g -s --enable-ingress-to-app-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-d9b948fb-hq6xf","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:48:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:46.0483761Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:47:46.0483761Z"}}' headers: cache-control: - no-cache content-length: - - '930' + - '947' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:47:09 GMT + - Sun, 20 Mar 2022 06:50:09 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1720,7 +1515,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1738,27 +1533,27 @@ interactions: ParameterSetName: - -n -g -s --enable-ingress-to-app-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/6246f4a2-9c88-4f80-bd35-9835d6571b97?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-i2atls-app/operationId/adbeee7a-a000-4d2f-99e3-ffce4ed26f81?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/6246f4a2-9c88-4f80-bd35-9835d6571b97","name":"6246f4a2-9c88-4f80-bd35-9835d6571b97","status":"Succeeded","startTime":"2022-02-24T02:47:08.0664155Z","endTime":"2022-02-24T02:47:15.8072071Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-i2atls-app/operationId/adbeee7a-a000-4d2f-99e3-ffce4ed26f81","name":"adbeee7a-a000-4d2f-99e3-ffce4ed26f81","status":"Succeeded","startTime":"2022-03-20T06:50:08.3913642Z","endTime":"2022-03-20T06:50:15.4099686Z"}' headers: cache-control: - no-cache content-length: - - '359' + - '377' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:47:39 GMT + - Sun, 20 Mar 2022 06:50:38 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1770,7 +1565,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1788,27 +1583,27 @@ interactions: ParameterSetName: - -n -g -s --enable-ingress-to-app-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:47:06.9329294Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:10.0170537Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:50:07.734522Z"}}' headers: cache-control: - no-cache content-length: - - '816' + - '864' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:47:40 GMT + - Sun, 20 Mar 2022 06:50:38 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1822,7 +1617,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1840,27 +1635,27 @@ interactions: ParameterSetName: - -n -g -s --enable-ingress-to-app-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:47:06.9329294Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:10.0170537Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:50:07.734522Z"}}' headers: cache-control: - no-cache content-length: - - '816' + - '864' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:47:42 GMT + - Sun, 20 Mar 2022 06:50:44 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1874,7 +1669,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1892,27 +1687,27 @@ interactions: ParameterSetName: - -n -g -s --enable-ingress-to-app-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-03-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-d9b948fb-hq6xf","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:48:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:46.0483761Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:47:46.0483761Z"}}]}' headers: cache-control: - no-cache content-length: - - '942' + - '959' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:47:43 GMT + - Sun, 20 Mar 2022 06:50:45 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1924,9 +1719,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' + - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1944,79 +1739,27 @@ interactions: ParameterSetName: - -n -g -s --enable-end-to-end-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-01-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}]}' - headers: - cache-control: - - no-cache - content-length: - - '942' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:47:45 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app update - Connection: - - keep-alive - ParameterSetName: - - -n -g -s --enable-end-to-end-tls - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-d9b948fb-hq6xf","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:48:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:46.0483761Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:47:46.0483761Z"}}]}' headers: cache-control: - no-cache content-length: - - '759' + - '959' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:47:46 GMT + - Sun, 20 Mar 2022 06:50:46 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2028,9 +1771,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2052,31 +1795,31 @@ interactions: ParameterSetName: - -n -g -s --enable-end-to-end-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":true},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:47:48.1270572Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":true},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:10.0170537Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:50:48.3596956Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/b192639a-1c19-4a2d-b86a-0010273fd3af?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-i2atls-app/operationId/f2aa7f5d-2551-42a0-82c1-fca2abae9685?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '814' + - '863' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:47:49 GMT + - Sun, 20 Mar 2022 06:50:49 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/b192639a-1c19-4a2d-b86a-0010273fd3af/Spring/test-i2atls-app?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/f2aa7f5d-2551-42a0-82c1-fca2abae9685/Spring/test-i2atls-app?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2084,9 +1827,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '1199' + - '1198' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -2109,27 +1852,27 @@ interactions: ParameterSetName: - -n -g -s --enable-end-to-end-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-d9b948fb-hq6xf","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:48:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:46.0483761Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:47:46.0483761Z"}}' headers: cache-control: - no-cache content-length: - - '930' + - '947' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:47:50 GMT + - Sun, 20 Mar 2022 06:50:50 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2141,9 +1884,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '1199' + - '1198' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2161,27 +1904,27 @@ interactions: ParameterSetName: - -n -g -s --enable-end-to-end-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/b192639a-1c19-4a2d-b86a-0010273fd3af?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-i2atls-app/operationId/f2aa7f5d-2551-42a0-82c1-fca2abae9685?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/b192639a-1c19-4a2d-b86a-0010273fd3af","name":"b192639a-1c19-4a2d-b86a-0010273fd3af","status":"Succeeded","startTime":"2022-02-24T02:47:49.0763012Z","endTime":"2022-02-24T02:47:57.7646691Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-i2atls-app/operationId/f2aa7f5d-2551-42a0-82c1-fca2abae9685","name":"f2aa7f5d-2551-42a0-82c1-fca2abae9685","status":"Succeeded","startTime":"2022-03-20T06:50:49.684123Z","endTime":"2022-03-20T06:50:56.9575759Z"}' headers: cache-control: - no-cache content-length: - - '359' + - '376' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:48:20 GMT + - Sun, 20 Mar 2022 06:51:19 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2193,7 +1936,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2211,79 +1954,27 @@ interactions: ParameterSetName: - -n -g -s --enable-end-to-end-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":true},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:47:48.1270572Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":true},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:10.0170537Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:50:48.3596956Z"}}' headers: cache-control: - no-cache content-length: - - '815' + - '864' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:48:20 GMT + - Sun, 20 Mar 2022 06:51:19 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app update - Connection: - - keep-alive - ParameterSetName: - - -n -g -s --enable-end-to-end-tls - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":true},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:47:48.1270572Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '815' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:48:25 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2297,7 +1988,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11997' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2315,27 +2006,27 @@ interactions: ParameterSetName: - -n -g -s --enable-end-to-end-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-03-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}]}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":true},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:10.0170537Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:50:48.3596956Z"}}' headers: cache-control: - no-cache content-length: - - '942' + - '864' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:48:26 GMT + - Sun, 20 Mar 2022 06:51:20 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2347,9 +2038,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11996' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2367,27 +2058,27 @@ interactions: ParameterSetName: - -n -g -s --enable-end-to-end-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-03-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-d9b948fb-hq6xf","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:48:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:46.0483761Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:47:46.0483761Z"}}]}' headers: cache-control: - no-cache content-length: - - '942' + - '959' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:48:28 GMT + - Sun, 20 Mar 2022 06:51:22 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2401,7 +2092,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11997' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2419,27 +2110,27 @@ interactions: ParameterSetName: - -n -g -s --enable-end-to-end-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-01-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-d9b948fb-hq6xf","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:48:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:46.0483761Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:47:46.0483761Z"}}]}' headers: cache-control: - no-cache content-length: - - '759' + - '959' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:48:30 GMT + - Sun, 20 Mar 2022 06:51:24 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2451,9 +2142,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11997' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2475,31 +2166,31 @@ interactions: ParameterSetName: - -n -g -s --enable-end-to-end-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:48:31.4720451Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:10.0170537Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:51:26.3122303Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/c323d0d9-2b6f-4c97-b403-bf674d0cb09b?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-i2atls-app/operationId/ea95c4f8-526c-4a30-ae88-88f57b882ffa?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '815' + - '864' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:48:31 GMT + - Sun, 20 Mar 2022 06:51:25 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/c323d0d9-2b6f-4c97-b403-bf674d0cb09b/Spring/test-i2atls-app?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/ea95c4f8-526c-4a30-ae88-88f57b882ffa/Spring/test-i2atls-app?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2509,7 +2200,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -2532,27 +2223,27 @@ interactions: ParameterSetName: - -n -g -s --enable-end-to-end-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-d9b948fb-hq6xf","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:48:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:46.0483761Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:47:46.0483761Z"}}' headers: cache-control: - no-cache content-length: - - '930' + - '947' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:48:32 GMT + - Sun, 20 Mar 2022 06:51:26 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2566,7 +2257,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2584,27 +2275,27 @@ interactions: ParameterSetName: - -n -g -s --enable-end-to-end-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/c323d0d9-2b6f-4c97-b403-bf674d0cb09b?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-i2atls-app/operationId/ea95c4f8-526c-4a30-ae88-88f57b882ffa?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/c323d0d9-2b6f-4c97-b403-bf674d0cb09b","name":"c323d0d9-2b6f-4c97-b403-bf674d0cb09b","status":"Succeeded","startTime":"2022-02-24T02:48:31.7805808Z","endTime":"2022-02-24T02:48:38.1735923Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-i2atls-app/operationId/ea95c4f8-526c-4a30-ae88-88f57b882ffa","name":"ea95c4f8-526c-4a30-ae88-88f57b882ffa","status":"Succeeded","startTime":"2022-03-20T06:51:26.7507517Z","endTime":"2022-03-20T06:51:33.0023319Z"}' headers: cache-control: - no-cache content-length: - - '359' + - '377' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:49:03 GMT + - Sun, 20 Mar 2022 06:51:57 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2616,7 +2307,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2634,27 +2325,27 @@ interactions: ParameterSetName: - -n -g -s --enable-end-to-end-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:48:31.4720451Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:10.0170537Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:51:26.3122303Z"}}' headers: cache-control: - no-cache content-length: - - '816' + - '865' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:49:03 GMT + - Sun, 20 Mar 2022 06:51:57 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2666,9 +2357,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11997' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2686,27 +2377,27 @@ interactions: ParameterSetName: - -n -g -s --enable-end-to-end-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:48:31.4720451Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:10.0170537Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:51:26.3122303Z"}}' headers: cache-control: - no-cache content-length: - - '816' + - '865' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:49:08 GMT + - Sun, 20 Mar 2022 06:52:02 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2718,9 +2409,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11996' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2738,27 +2429,27 @@ interactions: ParameterSetName: - -n -g -s --enable-end-to-end-tls User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-03-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-d9b948fb-hq6xf","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:48:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:47:46.0483761Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:47:46.0483761Z"}}]}' headers: cache-control: - no-cache content-length: - - '942' + - '959' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:49:09 GMT + - Sun, 20 Mar 2022 06:52:03 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2770,9 +2461,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11997' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_bind_cert_to_domain.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_bind_cert_to_domain.yaml index 56d24c1ae4c..caea89c8bbe 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_bind_cert_to_domain.yaml +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_bind_cert_to_domain.yaml @@ -1,1908 +1,1864 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -s -g - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '771' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:00:14 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -s -g - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain?api-version=2022-01-01-preview - response: - body: - string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain","details":null}}' - headers: - cache-control: - - no-cache - content-length: - - '232' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:00:27 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 404 - message: Not Found -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -s -g - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"001f4a930bfa4780ba1a552a647b4357","networkProfile":{"outboundIPs":{"publicIPs":["20.121.224.171","20.121.224.173"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T12:51:41.72193Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T12:51:41.72193Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '756' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:00:28 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: '{"properties": {"httpsOnly": false, "temporaryDisk": {"sizeInGB": 5, "mountPath": - "/tmp"}, "enableEndToEndTLS": false}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - Content-Length: - - '119' - Content-Type: - - application/json - ParameterSetName: - - -n -s -g - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain","name":"test-custom-domain","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:00:29.46556Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:00:29.46556Z"}}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-custom-domain/operationId/522d5202-846c-4150-8062-94fb04a525a0?api-version=2022-01-01-preview - cache-control: - - no-cache - content-length: - - '720' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:00:29 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/522d5202-846c-4150-8062-94fb04a525a0/Spring/test-custom-domain?api-version=2022-01-01-preview - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '1199' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -s -g - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-custom-domain/operationId/522d5202-846c-4150-8062-94fb04a525a0?api-version=2022-01-01-preview - response: - body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-custom-domain/operationId/522d5202-846c-4150-8062-94fb04a525a0","name":"522d5202-846c-4150-8062-94fb04a525a0","status":"Succeeded","startTime":"2021-12-24T13:00:29.727524Z","endTime":"2021-12-24T13:00:35.876134Z"}' - headers: - cache-control: - - no-cache - content-length: - - '360' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:00:59 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -s -g - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain","name":"test-custom-domain","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:00:29.46556Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:00:29.46556Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '814' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:01:00 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: '{"properties": {"source": {"type": "Jar", "relativePath": ""}, - "deploymentSettings": {"resourceRequests": {"cpu": "1", "memory": "1Gi"}}, "active": - true}, "sku": {"name": "S0", "tier": "Standard", "capacity": 1}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - Content-Length: - - '221' - Content-Type: - - application/json - ParameterSetName: - - -n -s -g - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/mock-deployment?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"appName":"test-custom-domain","deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:01:05.2408263Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:05.2408263Z"}}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/fdbcdc7d-b698-4701-a772-c688d15f199b?api-version=2022-01-01-preview - cache-control: - - no-cache - content-length: - - '831' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:01:07 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/fdbcdc7d-b698-4701-a772-c688d15f199b/Spring/default?api-version=2022-01-01-preview - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '1199' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 201 - message: Created -- request: - body: '{"properties": {"public": false, "httpsOnly": false, "enableEndToEndTLS": - false}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - Content-Length: - - '81' - Content-Type: - - application/json - ParameterSetName: - - -n -s -g - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain","name":"test-custom-domain","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:00:29.46556Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:08.7458462Z"}}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-custom-domain/operationId/2e91d801-0f51-4608-936a-fdb7182f84b1?api-version=2022-01-01-preview - cache-control: - - no-cache - content-length: - - '815' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:01:08 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/2e91d801-0f51-4608-936a-fdb7182f84b1/Spring/test-custom-domain?api-version=2022-01-01-preview - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '1198' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -s -g - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/fdbcdc7d-b698-4701-a772-c688d15f199b?api-version=2022-01-01-preview - response: - body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/fdbcdc7d-b698-4701-a772-c688d15f199b","name":"fdbcdc7d-b698-4701-a772-c688d15f199b","status":"Running","startTime":"2021-12-24T13:01:08.199268Z"}' - headers: - cache-control: - - no-cache - content-length: - - '307' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:01:39 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -s -g - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-custom-domain/operationId/2e91d801-0f51-4608-936a-fdb7182f84b1?api-version=2022-01-01-preview - response: - body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-custom-domain/operationId/2e91d801-0f51-4608-936a-fdb7182f84b1","name":"2e91d801-0f51-4608-936a-fdb7182f84b1","status":"Succeeded","startTime":"2021-12-24T13:01:09.0266356Z","endTime":"2021-12-24T13:01:15.6204335Z"}' - headers: - cache-control: - - no-cache - content-length: - - '362' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:01:39 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -s -g - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain","name":"test-custom-domain","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:00:29.46556Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:08.7458462Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '816' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:01:40 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -s -g - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/fdbcdc7d-b698-4701-a772-c688d15f199b?api-version=2022-01-01-preview - response: - body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/fdbcdc7d-b698-4701-a772-c688d15f199b","name":"fdbcdc7d-b698-4701-a772-c688d15f199b","status":"Running","startTime":"2021-12-24T13:01:08.199268Z"}' - headers: - cache-control: - - no-cache - content-length: - - '307' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:01:49 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -s -g - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/fdbcdc7d-b698-4701-a772-c688d15f199b?api-version=2022-01-01-preview - response: - body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/fdbcdc7d-b698-4701-a772-c688d15f199b","name":"fdbcdc7d-b698-4701-a772-c688d15f199b","status":"Running","startTime":"2021-12-24T13:01:08.199268Z"}' - headers: - cache-control: - - no-cache - content-length: - - '307' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:00 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -s -g - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/fdbcdc7d-b698-4701-a772-c688d15f199b?api-version=2022-01-01-preview - response: - body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/fdbcdc7d-b698-4701-a772-c688d15f199b","name":"fdbcdc7d-b698-4701-a772-c688d15f199b","status":"Succeeded","startTime":"2021-12-24T13:01:08.199268Z","endTime":"2021-12-24T13:02:02.0378467Z"}' - headers: - cache-control: - - no-cache - content-length: - - '350' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:10 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -s -g - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/mock-deployment?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"appName":"test-custom-domain","deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-18-64d9dcbd6d-9jhvq","status":"Running","discoveryStatus":"UP","startTime":"2021-12-24T13:01:12Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:01:05.2408263Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:05.2408263Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '964' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:11 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -s -g - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain","name":"test-custom-domain","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:00:29.46556Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:08.7458462Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '816' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:14 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11996' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -s -g - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-01-01-preview - response: - body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"appName":"test-custom-domain","deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-18-64d9dcbd6d-9jhvq","status":"Running","discoveryStatus":"UP","startTime":"2021-12-24T13:01:12Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:01:05.2408263Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:05.2408263Z"}}]}' - headers: - cache-control: - - no-cache - content-length: - - '976' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:15 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: '{"properties": {"type": "KeyVaultCertificate", "vaultUri": "https://integration-test-prod.vault.azure.net/", - "keyVaultCertName": "cli-unittest", "excludePrivateKey": false}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud certificate add - Connection: - - keep-alive - Content-Length: - - '173' - Content-Type: - - application/json - ParameterSetName: - - --name --vault-uri --vault-certificate-name -g -s - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"b7518f6674c744cb8eca1e83fc221e56","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d","issuer":"*.asc-test.net","expirationDate":"2022-12-13T04:50:31.000+00:00","activateDate":"2021-12-13T04:40:31.000+00:00","subjectName":"*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}' - headers: - cache-control: - - no-cache - content-length: - - '678' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:19 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud certificate show - Connection: - - keep-alive - ParameterSetName: - - --name -g -s - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"b7518f6674c744cb8eca1e83fc221e56","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d","issuer":"*.asc-test.net","expirationDate":"2022-12-13T04:50:31.000+00:00","activateDate":"2021-12-13T04:40:31.000+00:00","subjectName":"*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}' - headers: - cache-control: - - no-cache - content-length: - - '678' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:21 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud certificate list - Connection: - - keep-alive - ParameterSetName: - - -g -s - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates?api-version=2022-01-01-preview - response: - body: - string: '{"value":[{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"b7518f6674c744cb8eca1e83fc221e56","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d","issuer":"*.asc-test.net","expirationDate":"2022-12-13T04:50:31.000+00:00","activateDate":"2021-12-13T04:40:31.000+00:00","subjectName":"*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}]}' - headers: - cache-control: - - no-cache - content-length: - - '690' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:24 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain bind - Connection: - - keep-alive - ParameterSetName: - - --domain-name --app -g -s - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-01-01-preview - response: - body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"appName":"test-custom-domain","deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-18-64d9dcbd6d-9jhvq","status":"Running","discoveryStatus":"UP","startTime":"2021-12-24T13:01:12Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:01:05.2408263Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:05.2408263Z"}}]}' - headers: - cache-control: - - no-cache - content-length: - - '976' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:27 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: '{"properties": {}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain bind - Connection: - - keep-alive - Content-Length: - - '18' - Content-Type: - - application/json - ParameterSetName: - - --domain-name --app -g -s - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"appName":"test-custom-domain"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net","name":"cli.asc-test.net"}' - headers: - cache-control: - - no-cache - content-length: - - '303' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:29 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain show - Connection: - - keep-alive - ParameterSetName: - - --domain-name --app -g -s - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-01-01-preview - response: - body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"appName":"test-custom-domain","deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-18-64d9dcbd6d-9jhvq","status":"Running","discoveryStatus":"UP","startTime":"2021-12-24T13:01:12Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:01:05.2408263Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:05.2408263Z"}}]}' - headers: - cache-control: - - no-cache - content-length: - - '976' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:31 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain show - Connection: - - keep-alive - ParameterSetName: - - --domain-name --app -g -s - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"appName":"test-custom-domain"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net","name":"cli.asc-test.net"}' - headers: - cache-control: - - no-cache - content-length: - - '303' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:33 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain list - Connection: - - keep-alive - ParameterSetName: - - --app -g -s - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-01-01-preview - response: - body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"appName":"test-custom-domain","deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-18-64d9dcbd6d-9jhvq","status":"Running","discoveryStatus":"UP","startTime":"2021-12-24T13:01:12Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:01:05.2408263Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:05.2408263Z"}}]}' - headers: - cache-control: - - no-cache - content-length: - - '976' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:36 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain list - Connection: - - keep-alive - ParameterSetName: - - --app -g -s - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains?api-version=2022-01-01-preview - response: - body: - string: '{"value":[{"properties":{"appName":"test-custom-domain"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net","name":"cli.asc-test.net"}]}' - headers: - cache-control: - - no-cache - content-length: - - '315' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:38 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain update - Connection: - - keep-alive - ParameterSetName: - - --domain-name --certificate --app -g -s - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-01-01-preview - response: - body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"appName":"test-custom-domain","deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-18-64d9dcbd6d-9jhvq","status":"Running","discoveryStatus":"UP","startTime":"2021-12-24T13:01:12Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:01:05.2408263Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:05.2408263Z"}}]}' - headers: - cache-control: - - no-cache - content-length: - - '976' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:41 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain update - Connection: - - keep-alive - ParameterSetName: - - --domain-name --certificate --app -g -s - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"b7518f6674c744cb8eca1e83fc221e56","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d","issuer":"*.asc-test.net","expirationDate":"2022-12-13T04:50:31.000+00:00","activateDate":"2021-12-13T04:40:31.000+00:00","subjectName":"*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}' - headers: - cache-control: - - no-cache - content-length: - - '678' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:42 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: '{"properties": {"thumbprint": "ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d", - "certName": "test-cert"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain update - Connection: - - keep-alive - Content-Length: - - '99' - Content-Type: - - application/json - ParameterSetName: - - --domain-name --certificate --app -g -s - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d","appName":"test-custom-domain","certName":"test-cert"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net","name":"cli.asc-test.net"}' - headers: - cache-control: - - no-cache - content-length: - - '382' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:43 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain unbind - Connection: - - keep-alive - ParameterSetName: - - --domain-name --app -g -s - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-01-01-preview - response: - body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"appName":"test-custom-domain","deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-18-64d9dcbd6d-9jhvq","status":"Running","discoveryStatus":"UP","startTime":"2021-12-24T13:01:12Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:01:05.2408263Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:05.2408263Z"}}]}' - headers: - cache-control: - - no-cache - content-length: - - '976' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:45 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain unbind - Connection: - - keep-alive - ParameterSetName: - - --domain-name --app -g -s - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d","appName":"test-custom-domain","certName":"test-cert"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net","name":"cli.asc-test.net"}' - headers: - cache-control: - - no-cache - content-length: - - '382' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:48 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain unbind - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --domain-name --app -g -s - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net?api-version=2022-01-01-preview - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Thu, 24 Feb 2022 13:02:50 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain show - Connection: - - keep-alive - ParameterSetName: - - --domain-name --app -g -s - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-01-01-preview - response: - body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"appName":"test-custom-domain","deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-18-64d9dcbd6d-9jhvq","status":"Running","discoveryStatus":"UP","startTime":"2021-12-24T13:01:12Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:01:05.2408263Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:05.2408263Z"}}]}' - headers: - cache-control: - - no-cache - content-length: - - '976' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:52 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain show - Connection: - - keep-alive - ParameterSetName: - - --domain-name --app -g -s - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net?api-version=2022-01-01-preview - response: - body: - string: '{"error":{"code":"EntityNotFound","message":"CustomDomain cli.asc-test.net - of test-custom-domain not found.","target":null,"details":null}}' - headers: - cache-control: - - no-cache - content-length: - - '139' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:54 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 404 - message: Not Found -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud certificate remove - Connection: - - keep-alive - ParameterSetName: - - --name -g -s - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"b7518f6674c744cb8eca1e83fc221e56","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d","issuer":"*.asc-test.net","expirationDate":"2022-12-13T04:50:31.000+00:00","activateDate":"2021-12-13T04:40:31.000+00:00","subjectName":"*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}' - headers: - cache-control: - - no-cache - content-length: - - '678' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:55 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud certificate remove - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --name -g -s - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2022-01-01-preview - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Thu, 24 Feb 2022 13:02:58 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud certificate show - Connection: - - keep-alive - ParameterSetName: - - --name -g -s - User-Agent: - - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2022-01-01-preview - response: - body: - string: '{"error":{"code":"EntityNotFound","message":"Certificate ''test-cert'' - not found.","target":null,"details":null}}' - headers: - cache-control: - - no-cache - content-length: - - '111' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 13:02:59 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-rp-server-mvid: - - d00a7ade-01dc-4bb6-8661-79966ede4763 - status: - code: 404 - message: Not Found -version: 1 +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain?api-version=2022-03-01-preview + response: + body: + string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain","details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '260' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:50:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"0c7bf6b91ae840c78655bb6f57ea0391","networkProfile":{"outboundIPs":{"publicIPs":["20.24.160.30","20.24.160.222"]}},"powerState":"Running","fqdn":"cli.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"southeastasia","tags":{"asc-test":"prod","api-target":"arm","service-create-time":"2022-03-20 + 02:02:01 +0800","service-expire-time":"2022-03-20 13:02:01 +0800"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-03-19T18:02:10.1198327Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-03-19T19:56:42.9425082Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1011' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:50:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "temporaryDisk": {"sizeInGB": + 5, "mountPath": "/tmp"}, "enableEndToEndTLS": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '136' + Content-Type: + - application/json + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain","name":"test-custom-domain","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:50:16.2966084Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:50:16.2966084Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-custom-domain/operationId/3788ab70-abb6-452a-8c1c-b7abfdee6beb?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '757' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:50:16 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/3788ab70-abb6-452a-8c1c-b7abfdee6beb/Spring/test-custom-domain?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1198' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-custom-domain/operationId/3788ab70-abb6-452a-8c1c-b7abfdee6beb?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-custom-domain/operationId/3788ab70-abb6-452a-8c1c-b7abfdee6beb","name":"3788ab70-abb6-452a-8c1c-b7abfdee6beb","status":"Succeeded","startTime":"2022-03-20T07:50:16.5840451Z","endTime":"2022-03-20T07:50:23.4580393Z"}' + headers: + cache-control: + - no-cache + content-length: + - '382' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:50:46 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain","name":"test-custom-domain","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:50:16.2966084Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:50:16.2966084Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '875' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:50:47 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: '{"properties": {"source": {"type": "Jar", "relativePath": "", + "runtimeVersion": "Java_8"}, "deploymentSettings": {"resourceRequests": {"cpu": + "1", "memory": "1Gi"}}, "active": true}, "sku": {"name": "S0", "tier": "Standard", + "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '249' + Content-Type: + - application/json + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/mock-deployment?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:50:51.9064088Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:50:51.9064088Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/e0d83c29-a627-4484-8c6c-3cb5abcb5ce5?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '824' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:50:52 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/e0d83c29-a627-4484-8c6c-3cb5abcb5ce5/Spring/default?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 201 + message: Created +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "enableEndToEndTLS": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '81' + Content-Type: + - application/json + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain","name":"test-custom-domain","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:50:16.2966084Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:50:53.1095472Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-custom-domain/operationId/5d2a284a-5ff5-4be5-af32-deede37bc73e?api-version=2022-03-01-preview + cache-control: + - no-cache + content-length: + - '874' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:50:52 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/5d2a284a-5ff5-4be5-af32-deede37bc73e/Spring/test-custom-domain?api-version=2022-03-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1197' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/e0d83c29-a627-4484-8c6c-3cb5abcb5ce5?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/e0d83c29-a627-4484-8c6c-3cb5abcb5ce5","name":"e0d83c29-a627-4484-8c6c-3cb5abcb5ce5","status":"Running","startTime":"2022-03-20T07:50:52.7968045Z"}' + headers: + cache-control: + - no-cache + content-length: + - '326' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:51:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-custom-domain/operationId/5d2a284a-5ff5-4be5-af32-deede37bc73e?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-custom-domain/operationId/5d2a284a-5ff5-4be5-af32-deede37bc73e","name":"5d2a284a-5ff5-4be5-af32-deede37bc73e","status":"Succeeded","startTime":"2022-03-20T07:50:53.2588007Z","endTime":"2022-03-20T07:50:59.4701781Z"}' + headers: + cache-control: + - no-cache + content-length: + - '382' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:51:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain","name":"test-custom-domain","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:50:16.2966084Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:50:53.1095472Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '875' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:51:24 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11995' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/e0d83c29-a627-4484-8c6c-3cb5abcb5ce5?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/e0d83c29-a627-4484-8c6c-3cb5abcb5ce5","name":"e0d83c29-a627-4484-8c6c-3cb5abcb5ce5","status":"Running","startTime":"2022-03-20T07:50:52.7968045Z"}' + headers: + cache-control: + - no-cache + content-length: + - '326' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:51:33 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/e0d83c29-a627-4484-8c6c-3cb5abcb5ce5?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/e0d83c29-a627-4484-8c6c-3cb5abcb5ce5","name":"e0d83c29-a627-4484-8c6c-3cb5abcb5ce5","status":"Running","startTime":"2022-03-20T07:50:52.7968045Z"}' + headers: + cache-control: + - no-cache + content-length: + - '326' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:51:44 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/e0d83c29-a627-4484-8c6c-3cb5abcb5ce5?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/e0d83c29-a627-4484-8c6c-3cb5abcb5ce5","name":"e0d83c29-a627-4484-8c6c-3cb5abcb5ce5","status":"Succeeded","startTime":"2022-03-20T07:50:52.7968045Z","endTime":"2022-03-20T07:51:44.2512098Z"}' + headers: + cache-control: + - no-cache + content-length: + - '369' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:51:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/mock-deployment?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-20-54c8c66f45-8zmq4","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T07:50:58Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:50:51.9064088Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:50:51.9064088Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '959' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:51:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain","name":"test-custom-domain","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:50:16.2966084Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:50:53.1095472Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '875' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:51:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11994' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-03-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-20-54c8c66f45-8zmq4","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T07:50:58Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:50:51.9064088Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:50:51.9064088Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '971' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:51:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: '{"properties": {"type": "KeyVaultCertificate", "vaultUri": "https://integration-test-prod.vault.azure.net/", + "keyVaultCertName": "cli-unittest", "excludePrivateKey": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud certificate add + Connection: + - keep-alive + Content-Length: + - '184' + Content-Type: + - application/json + ParameterSetName: + - --name --vault-uri --vault-certificate-name -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"afd26a1be7654b7ba3a0111d2c8590df","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"992a176c968e090f5ec36f98efcca34edaa67899","issuer":"*.azuremicroservices.io","expirationDate":"2023-03-20T07:47:10.000+00:00","activateDate":"2022-03-20T07:37:10.000+00:00","subjectName":"*.azuremicroservices.io","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}' + headers: + cache-control: + - no-cache + content-length: + - '770' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:52:03 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud certificate show + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"afd26a1be7654b7ba3a0111d2c8590df","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"992a176c968e090f5ec36f98efcca34edaa67899","issuer":"*.azuremicroservices.io","expirationDate":"2023-03-20T07:47:10.000+00:00","activateDate":"2022-03-20T07:37:10.000+00:00","subjectName":"*.azuremicroservices.io","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}' + headers: + cache-control: + - no-cache + content-length: + - '770' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:52:05 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud certificate list + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"type":"ContentCertificate","thumbprint":"a8985d3a65e5e5c4b2d7d66d40c6dd2fb19c5436","issuer":"DigiCert + Global Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US","expirationDate":"2031-11-10T00:00:00.000+00:00","activateDate":"2006-11-10T00:00:00.000+00:00","subjectName":"DigiCert + Global Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US","dnsNames":[]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","name":"digi-cert"},{"properties":{"type":"ContentCertificate","thumbprint":"d4de20d05e66fc53fe1a50882c78db2852cae474","issuer":"Baltimore + CyberTrust Root, OU=CyberTrust, O=Baltimore, C=IE","expirationDate":"2025-05-12T23:59:00.000+00:00","activateDate":"2000-05-12T18:46:00.000+00:00","subjectName":"Baltimore + CyberTrust Root, OU=CyberTrust, O=Baltimore, C=IE","dnsNames":[]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","name":"balti-cert"},{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"afd26a1be7654b7ba3a0111d2c8590df","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"992a176c968e090f5ec36f98efcca34edaa67899","issuer":"*.azuremicroservices.io","expirationDate":"2023-03-20T07:47:10.000+00:00","activateDate":"2022-03-20T07:37:10.000+00:00","subjectName":"*.azuremicroservices.io","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}]}' + headers: + cache-control: + - no-cache + content-length: + - '2012' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:52:07 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain bind + Connection: + - keep-alive + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-20-54c8c66f45-8zmq4","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T07:50:58Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:50:51.9064088Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:50:51.9064088Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '971' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:52:08 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: '{"properties": {}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain bind + Connection: + - keep-alive + Content-Length: + - '18' + Content-Type: + - application/json + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"appName":"test-custom-domain"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net","name":"cli.asc-test.net"}' + headers: + cache-control: + - no-cache + content-length: + - '399' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:52:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain show + Connection: + - keep-alive + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-20-54c8c66f45-8zmq4","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T07:50:58Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:50:51.9064088Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:50:51.9064088Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '971' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:52:12 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11995' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain show + Connection: + - keep-alive + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"appName":"test-custom-domain"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net","name":"cli.asc-test.net"}' + headers: + cache-control: + - no-cache + content-length: + - '399' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:52:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain list + Connection: + - keep-alive + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-20-54c8c66f45-8zmq4","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T07:50:58Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:50:51.9064088Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:50:51.9064088Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '971' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:52:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain list + Connection: + - keep-alive + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"appName":"test-custom-domain"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net","name":"cli.asc-test.net"}]}' + headers: + cache-control: + - no-cache + content-length: + - '411' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:52:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain update + Connection: + - keep-alive + ParameterSetName: + - --domain-name --certificate --app -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-20-54c8c66f45-8zmq4","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T07:50:58Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:50:51.9064088Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:50:51.9064088Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '971' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:52:21 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain update + Connection: + - keep-alive + ParameterSetName: + - --domain-name --certificate --app -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"afd26a1be7654b7ba3a0111d2c8590df","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"992a176c968e090f5ec36f98efcca34edaa67899","issuer":"*.azuremicroservices.io","expirationDate":"2023-03-20T07:47:10.000+00:00","activateDate":"2022-03-20T07:37:10.000+00:00","subjectName":"*.azuremicroservices.io","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}' + headers: + cache-control: + - no-cache + content-length: + - '770' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:52:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: '{"properties": {"thumbprint": "992a176c968e090f5ec36f98efcca34edaa67899", + "certName": "test-cert"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain update + Connection: + - keep-alive + Content-Length: + - '101' + Content-Type: + - application/json + ParameterSetName: + - --domain-name --certificate --app -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"thumbprint":"992a176c968e090f5ec36f98efcca34edaa67899","appName":"test-custom-domain","certName":"test-cert"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net","name":"cli.asc-test.net"}' + headers: + cache-control: + - no-cache + content-length: + - '480' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:52:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain unbind + Connection: + - keep-alive + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-20-54c8c66f45-8zmq4","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T07:50:58Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:50:51.9064088Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:50:51.9064088Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '971' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:52:25 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain unbind + Connection: + - keep-alive + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"thumbprint":"992a176c968e090f5ec36f98efcca34edaa67899","appName":"test-custom-domain","certName":"test-cert"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net","name":"cli.asc-test.net"}' + headers: + cache-control: + - no-cache + content-length: + - '480' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:52:25 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain unbind + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sun, 20 Mar 2022 07:52:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain show + Connection: + - keep-alive + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-20-54c8c66f45-8zmq4","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T07:50:58Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:50:51.9064088Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:50:51.9064088Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '971' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:52:28 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain show + Connection: + - keep-alive + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '{"error":{"code":"EntityNotFound","message":"CustomDomain cli.asc-test.net + of test-custom-domain not found.","target":null,"details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '174' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:52:29 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud certificate remove + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"afd26a1be7654b7ba3a0111d2c8590df","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"992a176c968e090f5ec36f98efcca34edaa67899","issuer":"*.azuremicroservices.io","expirationDate":"2023-03-20T07:47:10.000+00:00","activateDate":"2022-03-20T07:37:10.000+00:00","subjectName":"*.azuremicroservices.io","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}' + headers: + cache-control: + - no-cache + content-length: + - '770' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:52:31 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud certificate remove + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2022-01-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Sun, 20 Mar 2022 07:52:32 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud certificate show + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2022-01-01-preview + response: + body: + string: '{"error":{"code":"EntityNotFound","message":"Certificate ''test-cert'' + not found.","target":null,"details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '113' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 20 Mar 2022 07:52:33 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-rp-server-mvid: + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + status: + code: 404 + message: Not Found +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_blue_green_deployment.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_blue_green_deployment.yaml index 79dc0348f39..dcc27937382 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_blue_green_deployment.yaml +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_blue_green_deployment.yaml @@ -13,61 +13,9 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '759' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:38:45 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -g -s - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-03-01-preview response: body: string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","details":null}}' @@ -75,27 +23,29 @@ interactions: cache-control: - no-cache content-length: - - '233' + - '259' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:38:47 GMT + - Sun, 20 Mar 2022 06:43:11 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11996' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 404 message: Not Found @@ -113,27 +63,28 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"0c7bf6b91ae840c78655bb6f57ea0391","networkProfile":{"outboundIPs":{"publicIPs":["20.24.160.30","20.24.160.222"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"southeastasia","tags":{"asc-test":"prod","api-target":"arm","service-create-time":"2022-03-20 + 02:02:01 +0800","service-expire-time":"2022-03-20 13:02:01 +0800"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-03-19T18:02:10.1198327Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-03-19T19:56:42.9425082Z"}}' headers: cache-control: - no-cache content-length: - - '759' + - '1011' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:38:48 GMT + - Sun, 20 Mar 2022 06:43:11 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -145,9 +96,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11996' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -170,31 +121,31 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:38:50.0999871Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:38:50.0999871Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:13.4454262Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:43:13.4454262Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/1a5f4c8c-0bf8-4ad0-9c93-fd915e7d12ea?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/81dd016a-09b8-446d-a786-fe7dfcb4b8cb?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '730' + - '755' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:38:50 GMT + - Sun, 20 Mar 2022 06:43:13 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/1a5f4c8c-0bf8-4ad0-9c93-fd915e7d12ea/Spring/test-app-blue-green?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/81dd016a-09b8-446d-a786-fe7dfcb4b8cb/Spring/test-app-blue-green?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -204,7 +155,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 201 message: Created @@ -222,27 +173,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/1a5f4c8c-0bf8-4ad0-9c93-fd915e7d12ea?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/81dd016a-09b8-446d-a786-fe7dfcb4b8cb?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/1a5f4c8c-0bf8-4ad0-9c93-fd915e7d12ea","name":"1a5f4c8c-0bf8-4ad0-9c93-fd915e7d12ea","status":"Succeeded","startTime":"2022-02-24T02:38:50.4949723Z","endTime":"2022-02-24T02:38:56.7301502Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/81dd016a-09b8-446d-a786-fe7dfcb4b8cb","name":"81dd016a-09b8-446d-a786-fe7dfcb4b8cb","status":"Succeeded","startTime":"2022-03-20T06:43:13.8911971Z","endTime":"2022-03-20T06:43:20.3530642Z"}' headers: cache-control: - no-cache content-length: - - '363' + - '381' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:39:21 GMT + - Sun, 20 Mar 2022 06:43:43 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -254,7 +205,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -272,27 +223,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:38:50.0999871Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:38:50.0999871Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:13.4454262Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:43:13.4454262Z"}}' headers: cache-control: - no-cache content-length: - - '824' + - '873' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:39:21 GMT + - Sun, 20 Mar 2022 06:43:44 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -304,9 +255,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' + - '11995' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -331,31 +282,31 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:39:26.0449815Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:39:26.0449815Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:49.2113526Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:43:49.2113526Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/e8a551c8-af61-4edb-9bad-356ef8c36ace?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/76400be5-23f1-4c88-a4bf-e58e77cbbdef?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '805' + - '823' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:39:27 GMT + - Sun, 20 Mar 2022 06:43:49 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/e8a551c8-af61-4edb-9bad-356ef8c36ace/Spring/default?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/76400be5-23f1-4c88-a4bf-e58e77cbbdef/Spring/default?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -365,7 +316,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 201 message: Created @@ -388,31 +339,31 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:38:50.0999871Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:39:28.6099548Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:13.4454262Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:43:50.508239Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/76c97088-ac53-48dc-90a9-7fae2a87c923?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/299039d1-b9bc-4fba-9740-2eb7d9933693?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '823' + - '871' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:39:28 GMT + - Sun, 20 Mar 2022 06:43:50 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/76c97088-ac53-48dc-90a9-7fae2a87c923/Spring/test-app-blue-green?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/299039d1-b9bc-4fba-9740-2eb7d9933693/Spring/test-app-blue-green?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -422,7 +373,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1198' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -440,77 +391,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/e8a551c8-af61-4edb-9bad-356ef8c36ace?api-version=2022-01-01-preview - response: - body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/e8a551c8-af61-4edb-9bad-356ef8c36ace","name":"e8a551c8-af61-4edb-9bad-356ef8c36ace","status":"Running","startTime":"2022-02-24T02:39:28.1620769Z"}' - headers: - cache-control: - - no-cache - content-length: - - '308' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:39:59 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -g -s - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/76c97088-ac53-48dc-90a9-7fae2a87c923?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/76400be5-23f1-4c88-a4bf-e58e77cbbdef?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/76c97088-ac53-48dc-90a9-7fae2a87c923","name":"76c97088-ac53-48dc-90a9-7fae2a87c923","status":"Succeeded","startTime":"2022-02-24T02:39:28.9109493Z","endTime":"2022-02-24T02:39:35.7846941Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/76400be5-23f1-4c88-a4bf-e58e77cbbdef","name":"76400be5-23f1-4c88-a4bf-e58e77cbbdef","status":"Succeeded","startTime":"2022-03-20T06:43:50.1614233Z","endTime":"2022-03-20T06:44:19.231689Z"}' headers: cache-control: - no-cache content-length: - - '363' + - '368' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:39:59 GMT + - Sun, 20 Mar 2022 06:44:20 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -522,7 +423,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -540,27 +441,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:38:50.0999871Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:39:28.6099548Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-default-19-75574b54f8-tph4h","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:43:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:49.2113526Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:43:49.2113526Z"}}' headers: cache-control: - no-cache content-length: - - '824' + - '957' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:40:00 GMT + - Sun, 20 Mar 2022 06:44:20 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -572,59 +473,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11996' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -g -s - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/e8a551c8-af61-4edb-9bad-356ef8c36ace?api-version=2022-01-01-preview - response: - body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/e8a551c8-af61-4edb-9bad-356ef8c36ace","name":"e8a551c8-af61-4edb-9bad-356ef8c36ace","status":"Running","startTime":"2022-02-24T02:39:28.1620769Z"}' - headers: - cache-control: - - no-cache - content-length: - - '308' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:40:09 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff + - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -642,27 +493,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/e8a551c8-af61-4edb-9bad-356ef8c36ace?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/299039d1-b9bc-4fba-9740-2eb7d9933693?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/e8a551c8-af61-4edb-9bad-356ef8c36ace","name":"e8a551c8-af61-4edb-9bad-356ef8c36ace","status":"Succeeded","startTime":"2022-02-24T02:39:28.1620769Z","endTime":"2022-02-24T02:40:11.5657573Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/299039d1-b9bc-4fba-9740-2eb7d9933693","name":"299039d1-b9bc-4fba-9740-2eb7d9933693","status":"Succeeded","startTime":"2022-03-20T06:43:50.8665525Z","endTime":"2022-03-20T06:43:57.0247112Z"}' headers: cache-control: - no-cache content-length: - - '351' + - '381' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:40:20 GMT + - Sun, 20 Mar 2022 06:44:25 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -674,7 +525,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -692,27 +543,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-default-19-686d78cb86-b4tgw","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:39:29Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:39:26.0449815Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:39:26.0449815Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:13.4454262Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:43:50.508239Z"}}' headers: cache-control: - no-cache content-length: - - '939' + - '872' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:40:21 GMT + - Sun, 20 Mar 2022 06:44:25 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -724,9 +575,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' + - '11996' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -744,27 +595,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:38:50.0999871Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:39:28.6099548Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:13.4454262Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:43:50.508239Z"}}' headers: cache-control: - no-cache content-length: - - '824' + - '872' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:40:24 GMT + - Sun, 20 Mar 2022 06:44:30 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -778,7 +629,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11995' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -796,183 +647,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments?api-version=2022-03-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-default-19-686d78cb86-b4tgw","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:39:29Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:39:26.0449815Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:39:26.0449815Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-default-19-75574b54f8-tph4h","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:43:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:49.2113526Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:43:49.2113526Z"}}]}' headers: cache-control: - no-cache content-length: - - '951' + - '969' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:40:25 GMT + - Sun, 20 Mar 2022 06:44:43 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11996' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app deployment create - Connection: - - keep-alive - ParameterSetName: - - --app -n -g -s - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '759' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:40:27 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app deployment create - Connection: - - keep-alive - ParameterSetName: - - --app -n -g -s - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '759' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:40:29 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app deployment create - Connection: - - keep-alive - ParameterSetName: - - --app -n -g -s - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '759' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:40:31 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -986,7 +681,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1004,27 +699,27 @@ interactions: ParameterSetName: - --app -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments?api-version=2022-03-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-default-19-686d78cb86-b4tgw","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:39:29Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:39:26.0449815Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:39:26.0449815Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-default-19-75574b54f8-tph4h","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:43:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:49.2113526Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:43:49.2113526Z"}}]}' headers: cache-control: - no-cache content-length: - - '951' + - '969' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:40:33 GMT + - Sun, 20 Mar 2022 06:44:44 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1036,9 +731,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1063,31 +758,31 @@ interactions: ParameterSetName: - --app -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":false,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:40:35.009063Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:40:35.009063Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":false,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:44:45.6544542Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:44:45.6544542Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/648b577f-aa3b-46a5-a179-484efb8aa20b?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/green/operationId/bb7a9b9d-7e7a-478a-baf0-fea99f846880?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '800' + - '820' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:40:37 GMT + - Sun, 20 Mar 2022 06:44:45 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/648b577f-aa3b-46a5-a179-484efb8aa20b/Spring/green?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/bb7a9b9d-7e7a-478a-baf0-fea99f846880/Spring/green?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1097,7 +792,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 201 message: Created @@ -1115,27 +810,27 @@ interactions: ParameterSetName: - --app -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/648b577f-aa3b-46a5-a179-484efb8aa20b?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/green/operationId/bb7a9b9d-7e7a-478a-baf0-fea99f846880?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/648b577f-aa3b-46a5-a179-484efb8aa20b","name":"648b577f-aa3b-46a5-a179-484efb8aa20b","status":"Running","startTime":"2022-02-24T02:40:37.4458306Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/green/operationId/bb7a9b9d-7e7a-478a-baf0-fea99f846880","name":"bb7a9b9d-7e7a-478a-baf0-fea99f846880","status":"Succeeded","startTime":"2022-03-20T06:44:46.6108291Z","endTime":"2022-03-20T06:45:10.79351Z"}' headers: cache-control: - no-cache content-length: - - '306' + - '365' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:41:08 GMT + - Sun, 20 Mar 2022 06:45:16 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1147,7 +842,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1165,77 +860,27 @@ interactions: ParameterSetName: - --app -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/648b577f-aa3b-46a5-a179-484efb8aa20b?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/648b577f-aa3b-46a5-a179-484efb8aa20b","name":"648b577f-aa3b-46a5-a179-484efb8aa20b","status":"Succeeded","startTime":"2022-02-24T02:40:37.4458306Z","endTime":"2022-02-24T02:41:11.1767223Z"}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-green-19-5bdb96444f-qqn2p","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:44:47Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:44:45.6544542Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:44:45.6544542Z"}}' headers: cache-control: - no-cache content-length: - - '349' + - '964' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:41:18 GMT + - Sun, 20 Mar 2022 06:45:17 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app deployment create - Connection: - - keep-alive - ParameterSetName: - - --app -n -g -s - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-green-19-77d97c8889-tctcp","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T02:40:39Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:40:35.009063Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:40:35.009063Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '944' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:41:19 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1247,9 +892,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11997' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1267,27 +912,27 @@ interactions: ParameterSetName: - --app -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments?api-version=2022-01-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-default-19-686d78cb86-b4tgw","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:39:29Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:39:26.0449815Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:39:26.0449815Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-green-19-77d97c8889-tctcp","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T02:40:39Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:40:35.009063Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:40:35.009063Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-default-19-75574b54f8-tph4h","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:43:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:49.2113526Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:43:49.2113526Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-green-19-5bdb96444f-qqn2p","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:44:47Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:44:45.6544542Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:44:45.6544542Z"}}]}' headers: cache-control: - no-cache content-length: - - '1896' + - '1934' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:41:23 GMT + - Sun, 20 Mar 2022 06:45:18 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1301,7 +946,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1319,27 +964,27 @@ interactions: ParameterSetName: - -d -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-green-19-77d97c8889-tctcp","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T02:40:39Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:40:35.009063Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:40:35.009063Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-green-19-5bdb96444f-qqn2p","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:44:47Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:44:45.6544542Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:44:45.6544542Z"}}' headers: cache-control: - no-cache content-length: - - '944' + - '964' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:41:25 GMT + - Sun, 20 Mar 2022 06:45:19 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1351,9 +996,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11997' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1375,31 +1020,31 @@ interactions: ParameterSetName: - -d -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/setActiveDeployments?api-version=2022-01-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:38:50.0999871Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:41:27.350512Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:13.4454262Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:45:21.1801255Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/31975018-4cbb-40d7-8507-e3041e355a00?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/ab428bdf-b750-4ae9-a37e-38e3fe571c01?api-version=2022-01-01-preview cache-control: - no-cache content-length: - - '822' + - '872' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:41:28 GMT + - Sun, 20 Mar 2022 06:45:21 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/31975018-4cbb-40d7-8507-e3041e355a00/Spring/test-app-blue-green?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/ab428bdf-b750-4ae9-a37e-38e3fe571c01/Spring/test-app-blue-green?api-version=2022-01-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1409,7 +1054,7 @@ interactions: x-ms-ratelimit-remaining-subscription-writes: - '1198' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -1427,27 +1072,27 @@ interactions: ParameterSetName: - -d -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/31975018-4cbb-40d7-8507-e3041e355a00?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/ab428bdf-b750-4ae9-a37e-38e3fe571c01?api-version=2022-01-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/31975018-4cbb-40d7-8507-e3041e355a00","name":"31975018-4cbb-40d7-8507-e3041e355a00","status":"Succeeded","startTime":"2022-02-24T02:41:29.0120949Z","endTime":"2022-02-24T02:41:35.7518845Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/ab428bdf-b750-4ae9-a37e-38e3fe571c01","name":"ab428bdf-b750-4ae9-a37e-38e3fe571c01","status":"Succeeded","startTime":"2022-03-20T06:45:21.6191496Z","endTime":"2022-03-20T06:45:28.1910099Z"}' headers: cache-control: - no-cache content-length: - - '363' + - '381' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:41:59 GMT + - Sun, 20 Mar 2022 06:45:51 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1459,7 +1104,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1477,27 +1122,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:38:50.0999871Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:41:27.350512Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:13.4454262Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:45:21.1801255Z"}}' headers: cache-control: - no-cache content-length: - - '823' + - '873' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:42:03 GMT + - Sun, 20 Mar 2022 06:45:53 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1509,9 +1154,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' + - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1529,27 +1174,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments?api-version=2022-03-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-default-19-686d78cb86-b4tgw","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T02:39:29Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:39:26.0449815Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:41:27.350512Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-green-19-77d97c8889-tctcp","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:40:39Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:40:35.009063Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:41:27.350512Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-default-19-75574b54f8-tph4h","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:43:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:49.2113526Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:45:21.1801255Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-green-19-5bdb96444f-qqn2p","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:44:47Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:44:45.6544542Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:45:21.1801255Z"}}]}' headers: cache-control: - no-cache content-length: - - '1895' + - '1934' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:42:05 GMT + - Sun, 20 Mar 2022 06:45:53 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1561,9 +1206,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' + - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1581,27 +1226,27 @@ interactions: ParameterSetName: - -n --app -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-default-19-686d78cb86-b4tgw","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T02:39:29Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:39:26.0449815Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:41:27.350512Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-default-19-75574b54f8-tph4h","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:43:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:49.2113526Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:45:21.1801255Z"}}' headers: cache-control: - no-cache content-length: - - '951' + - '970' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:42:07 GMT + - Sun, 20 Mar 2022 06:45:55 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1613,9 +1258,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11994' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1633,27 +1278,27 @@ interactions: ParameterSetName: - -n --app -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-green-19-77d97c8889-tctcp","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:40:39Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:40:35.009063Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:41:27.350512Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-green-19-5bdb96444f-qqn2p","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:44:47Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:44:45.6544542Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:45:21.1801255Z"}}' headers: cache-control: - no-cache content-length: - - '931' + - '951' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:42:09 GMT + - Sun, 20 Mar 2022 06:45:57 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1667,7 +1312,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1685,27 +1330,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments?api-version=2022-01-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-default-19-686d78cb86-b4tgw","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T02:39:29Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:39:26.0449815Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:41:27.350512Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-green-19-77d97c8889-tctcp","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:40:39Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:40:35.009063Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:41:27.350512Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-default-19-75574b54f8-tph4h","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:43:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:49.2113526Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:45:21.1801255Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-green-19-5bdb96444f-qqn2p","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:44:47Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:44:45.6544542Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:45:21.1801255Z"}}]}' headers: cache-control: - no-cache content-length: - - '1895' + - '1934' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:42:12 GMT + - Sun, 20 Mar 2022 06:45:58 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1717,9 +1362,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' + - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1741,31 +1386,31 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/setActiveDeployments?api-version=2022-01-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:38:50.0999871Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:42:14.2098019Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:13.4454262Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:46:00.0258237Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/2e4a3e7f-1b98-4830-a3e0-631d346bf5f7?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/7bc1c665-5166-4877-95f7-e7c936155178?api-version=2022-01-01-preview cache-control: - no-cache content-length: - - '823' + - '872' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:42:14 GMT + - Sun, 20 Mar 2022 06:45:59 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/2e4a3e7f-1b98-4830-a3e0-631d346bf5f7/Spring/test-app-blue-green?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/7bc1c665-5166-4877-95f7-e7c936155178/Spring/test-app-blue-green?api-version=2022-01-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1775,7 +1420,7 @@ interactions: x-ms-ratelimit-remaining-subscription-writes: - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -1793,27 +1438,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/2e4a3e7f-1b98-4830-a3e0-631d346bf5f7?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/7bc1c665-5166-4877-95f7-e7c936155178?api-version=2022-01-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/2e4a3e7f-1b98-4830-a3e0-631d346bf5f7","name":"2e4a3e7f-1b98-4830-a3e0-631d346bf5f7","status":"Succeeded","startTime":"2022-02-24T02:42:14.6169467Z","endTime":"2022-02-24T02:42:22.258769Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/7bc1c665-5166-4877-95f7-e7c936155178","name":"7bc1c665-5166-4877-95f7-e7c936155178","status":"Succeeded","startTime":"2022-03-20T06:46:00.6041838Z","endTime":"2022-03-20T06:46:08.1293192Z"}' headers: cache-control: - no-cache content-length: - - '362' + - '381' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:42:45 GMT + - Sun, 20 Mar 2022 06:46:30 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1825,7 +1470,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1843,27 +1488,27 @@ interactions: ParameterSetName: - -n --app -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-default-19-686d78cb86-b4tgw","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T02:39:29Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:39:26.0449815Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:41:27.350512Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-default-19-75574b54f8-tph4h","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:43:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:49.2113526Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:45:21.1801255Z"}}' headers: cache-control: - no-cache content-length: - - '951' + - '970' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:42:48 GMT + - Sun, 20 Mar 2022 06:46:32 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1877,7 +1522,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1895,27 +1540,27 @@ interactions: ParameterSetName: - -n --app -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-green-19-77d97c8889-tctcp","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T02:40:39Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:40:35.009063Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:42:14.2098019Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-green-19-5bdb96444f-qqn2p","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:44:47Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:44:45.6544542Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:46:00.0258237Z"}}' headers: cache-control: - no-cache content-length: - - '945' + - '964' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:42:51 GMT + - Sun, 20 Mar 2022 06:46:33 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1927,9 +1572,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11997' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1947,27 +1592,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-01-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:38:50.0999871Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:42:14.2098019Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:13.4454262Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:46:00.0258237Z"}}' headers: cache-control: - no-cache content-length: - - '824' + - '873' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:42:54 GMT + - Sun, 20 Mar 2022 06:46:35 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1981,7 +1626,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2001,7 +1646,7 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-01-01-preview response: @@ -2009,21 +1654,21 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/3882e969-8cc1-48d2-831a-db8b82936300?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/97c529f8-66af-4373-abc6-f41eb22d4f80?api-version=2022-01-01-preview cache-control: - no-cache content-length: - '0' date: - - Thu, 24 Feb 2022 02:42:55 GMT + - Sun, 20 Mar 2022 06:46:35 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/3882e969-8cc1-48d2-831a-db8b82936300/Spring/test-app-blue-green?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/97c529f8-66af-4373-abc6-f41eb22d4f80/Spring/test-app-blue-green?api-version=2022-01-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2033,7 +1678,7 @@ interactions: x-ms-ratelimit-remaining-subscription-deletes: - '14999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -2051,27 +1696,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/3882e969-8cc1-48d2-831a-db8b82936300?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/97c529f8-66af-4373-abc6-f41eb22d4f80?api-version=2022-01-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/3882e969-8cc1-48d2-831a-db8b82936300","name":"3882e969-8cc1-48d2-831a-db8b82936300","status":"Succeeded","startTime":"2022-02-24T02:42:56.1323953Z","endTime":"2022-02-24T02:43:03.839824Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/97c529f8-66af-4373-abc6-f41eb22d4f80","name":"97c529f8-66af-4373-abc6-f41eb22d4f80","status":"Succeeded","startTime":"2022-03-20T06:46:36.5787819Z","endTime":"2022-03-20T06:46:45.8207191Z"}' headers: cache-control: - no-cache content-length: - - '362' + - '381' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:43:27 GMT + - Sun, 20 Mar 2022 06:47:06 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2083,7 +1728,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_deploy_app.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_deploy_app.yaml index 0a0d461bc4b..f46021ebdd0 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_deploy_app.yaml +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_deploy_app.yaml @@ -13,27 +13,28 @@ interactions: ParameterSetName: - -n -g -s --cpu --env --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"0c7bf6b91ae840c78655bb6f57ea0391","networkProfile":{"outboundIPs":{"publicIPs":["20.24.160.30","20.24.160.222"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"southeastasia","tags":{"asc-test":"prod","api-target":"arm","service-create-time":"2022-03-20 + 02:02:01 +0800","service-expire-time":"2022-03-20 13:02:01 +0800"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-03-19T18:02:10.1198327Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-03-19T19:56:42.9425082Z"}}' headers: cache-control: - no-cache content-length: - - '759' + - '1011' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:30:10 GMT + - Sun, 20 Mar 2022 06:26:11 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -45,9 +46,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11997' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -65,9 +66,9 @@ interactions: ParameterSetName: - -n -g -s --cpu --env --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-03-01-preview response: body: string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","details":null}}' @@ -75,17 +76,17 @@ interactions: cache-control: - no-cache content-length: - - '220' + - '246' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:30:12 GMT + - Sun, 20 Mar 2022 06:26:13 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -95,7 +96,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 404 message: Not Found @@ -113,39 +114,42 @@ interactions: ParameterSetName: - -n -g -s --cpu --env --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"0c7bf6b91ae840c78655bb6f57ea0391","networkProfile":{"outboundIPs":{"publicIPs":["20.24.160.30","20.24.160.222"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"southeastasia","tags":{"asc-test":"prod","api-target":"arm","service-create-time":"2022-03-20 + 02:02:01 +0800","service-expire-time":"2022-03-20 13:02:01 +0800"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-03-19T18:02:10.1198327Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-03-19T19:56:42.9425082Z"}}' headers: cache-control: - no-cache content-length: - - '759' + - '1011' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:30:13 GMT + - Sun, 20 Mar 2022 06:26:13 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked vary: - - Accept-Encoding + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -168,31 +172,31 @@ interactions: ParameterSetName: - -n -g -s --cpu --env --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:30:14.2140152Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:14.6362979Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:26:14.6362979Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/d462cfb2-d185-4ecf-a14c-478033c1c794?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/deploy/operationId/0f299360-fc5b-44d9-9335-013fca4d08fc?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '704' + - '729' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:30:15 GMT + - Sun, 20 Mar 2022 06:26:15 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/d462cfb2-d185-4ecf-a14c-478033c1c794/Spring/deploy?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/0f299360-fc5b-44d9-9335-013fca4d08fc/Spring/deploy?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -202,7 +206,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 201 message: Created @@ -220,37 +224,39 @@ interactions: ParameterSetName: - -n -g -s --cpu --env --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/d462cfb2-d185-4ecf-a14c-478033c1c794?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/deploy/operationId/0f299360-fc5b-44d9-9335-013fca4d08fc?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/d462cfb2-d185-4ecf-a14c-478033c1c794","name":"d462cfb2-d185-4ecf-a14c-478033c1c794","status":"Succeeded","startTime":"2022-02-24T02:30:14.9223503Z","endTime":"2022-02-24T02:30:21.2442361Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/deploy/operationId/0f299360-fc5b-44d9-9335-013fca4d08fc","name":"0f299360-fc5b-44d9-9335-013fca4d08fc","status":"Succeeded","startTime":"2022-03-20T06:26:15.4412769Z","endTime":"2022-03-20T06:26:23.4984636Z"}' headers: cache-control: - no-cache content-length: - - '350' + - '368' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:30:45 GMT + - Sun, 20 Mar 2022 06:26:45 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked vary: - - Accept-Encoding + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -268,39 +274,41 @@ interactions: ParameterSetName: - -n -g -s --cpu --env --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:30:14.2140152Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:14.6362979Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:26:14.6362979Z"}}' headers: cache-control: - no-cache content-length: - - '798' + - '847' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:30:47 GMT + - Sun, 20 Mar 2022 06:26:45 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked vary: - - Accept-Encoding + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -325,31 +333,31 @@ interactions: ParameterSetName: - -n -g -s --cpu --env --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:30:51.0841464Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:50.7614162Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:26:50.7614162Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/edc3de15-5e31-4e52-abd0-cac8e25c3282?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/864ae0a7-d932-4343-ad82-646679539e88?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '802' + - '820' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:30:53 GMT + - Sun, 20 Mar 2022 06:26:53 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/edc3de15-5e31-4e52-abd0-cac8e25c3282/Spring/default?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/864ae0a7-d932-4343-ad82-646679539e88/Spring/default?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -359,7 +367,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 201 message: Created @@ -382,31 +390,31 @@ interactions: ParameterSetName: - -n -g -s --cpu --env --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:30:54.079156Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:14.6362979Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:26:54.2926751Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/134f3f7b-02ac-4dbe-be8b-48084e1b1a48?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/deploy/operationId/f95aaa62-cfe7-414d-9a22-a513680e8495?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '796' + - '846' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:30:54 GMT + - Sun, 20 Mar 2022 06:26:55 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/134f3f7b-02ac-4dbe-be8b-48084e1b1a48/Spring/deploy?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/f95aaa62-cfe7-414d-9a22-a513680e8495/Spring/deploy?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -416,7 +424,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1198' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -434,75 +442,27 @@ interactions: ParameterSetName: - -n -g -s --cpu --env --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/edc3de15-5e31-4e52-abd0-cac8e25c3282?api-version=2022-01-01-preview - response: - body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/edc3de15-5e31-4e52-abd0-cac8e25c3282","name":"edc3de15-5e31-4e52-abd0-cac8e25c3282","status":"Running","startTime":"2022-02-24T02:30:53.2592656Z"}' - headers: - cache-control: - - no-cache - content-length: - - '308' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:31:24 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -g -s --cpu --env --runtime-version - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/134f3f7b-02ac-4dbe-be8b-48084e1b1a48?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/864ae0a7-d932-4343-ad82-646679539e88?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/134f3f7b-02ac-4dbe-be8b-48084e1b1a48","name":"134f3f7b-02ac-4dbe-be8b-48084e1b1a48","status":"Succeeded","startTime":"2022-02-24T02:30:54.5428847Z","endTime":"2022-02-24T02:31:00.8195263Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/864ae0a7-d932-4343-ad82-646679539e88","name":"864ae0a7-d932-4343-ad82-646679539e88","status":"Succeeded","startTime":"2022-03-20T06:26:53.9576895Z","endTime":"2022-03-20T06:27:12.3145561Z"}' headers: cache-control: - no-cache content-length: - - '350' + - '369' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:31:26 GMT + - Sun, 20 Mar 2022 06:27:23 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -514,7 +474,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -532,27 +492,27 @@ interactions: ParameterSetName: - -n -g -s --cpu --env --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:30:54.079156Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"deploy-default-6-794dcc447c-b9hk2","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:26:59Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:50.7614162Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:26:50.7614162Z"}}' headers: cache-control: - no-cache content-length: - - '797' + - '940' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:31:27 GMT + - Sun, 20 Mar 2022 06:27:24 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -566,57 +526,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - -n -g -s --cpu --env --runtime-version - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/edc3de15-5e31-4e52-abd0-cac8e25c3282?api-version=2022-01-01-preview - response: - body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/edc3de15-5e31-4e52-abd0-cac8e25c3282","name":"edc3de15-5e31-4e52-abd0-cac8e25c3282","status":"Running","startTime":"2022-02-24T02:30:53.2592656Z"}' - headers: - cache-control: - - no-cache - content-length: - - '308' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:31:35 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -634,27 +544,27 @@ interactions: ParameterSetName: - -n -g -s --cpu --env --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/edc3de15-5e31-4e52-abd0-cac8e25c3282?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/deploy/operationId/f95aaa62-cfe7-414d-9a22-a513680e8495?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/edc3de15-5e31-4e52-abd0-cac8e25c3282","name":"edc3de15-5e31-4e52-abd0-cac8e25c3282","status":"Succeeded","startTime":"2022-02-24T02:30:53.2592656Z","endTime":"2022-02-24T02:31:40.6739678Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/deploy/operationId/f95aaa62-cfe7-414d-9a22-a513680e8495","name":"f95aaa62-cfe7-414d-9a22-a513680e8495","status":"Succeeded","startTime":"2022-03-20T06:26:56.4735363Z","endTime":"2022-03-20T06:27:02.77413Z"}' headers: cache-control: - no-cache content-length: - - '351' + - '366' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:31:45 GMT + - Sun, 20 Mar 2022 06:27:26 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -666,7 +576,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -684,27 +594,27 @@ interactions: ParameterSetName: - -n -g -s --cpu --env --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"deploy-default-6-76cfcc6c86-mnxdk","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:31:02Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:30:51.0841464Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:14.6362979Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:26:54.2926751Z"}}' headers: cache-control: - no-cache content-length: - - '922' + - '847' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:31:46 GMT + - Sun, 20 Mar 2022 06:27:26 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -716,9 +626,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11997' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -736,27 +646,27 @@ interactions: ParameterSetName: - -n -g -s --cpu --env --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:30:54.079156Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:14.6362979Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:26:54.2926751Z"}}' headers: cache-control: - no-cache content-length: - - '797' + - '847' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:31:50 GMT + - Sun, 20 Mar 2022 06:27:31 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -768,9 +678,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11996' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -788,27 +698,27 @@ interactions: ParameterSetName: - -n -g -s --cpu --env --runtime-version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-03-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"deploy-default-6-76cfcc6c86-mnxdk","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:31:02Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:30:51.0841464Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"deploy-default-6-794dcc447c-b9hk2","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:26:59Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:50.7614162Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:26:50.7614162Z"}}]}' headers: cache-control: - no-cache content-length: - - '934' + - '952' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:31:50 GMT + - Sun, 20 Mar 2022 06:27:31 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -822,7 +732,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -840,27 +750,27 @@ interactions: ParameterSetName: - -n -g -s --artifact-path --version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-01-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"deploy-default-6-76cfcc6c86-mnxdk","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:31:02Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:30:51.0841464Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"deploy-default-6-794dcc447c-b9hk2","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:26:59Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:50.7614162Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:26:50.7614162Z"}}]}' headers: cache-control: - no-cache content-length: - - '934' + - '952' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:31:53 GMT + - Sun, 20 Mar 2022 06:27:37 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -874,163 +784,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app deploy - Connection: - - keep-alive - ParameterSetName: - - -n -g -s --artifact-path --version - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '759' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:31:55 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app deploy - Connection: - - keep-alive - ParameterSetName: - - -n -g -s --artifact-path --version - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '759' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:31:57 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app deploy - Connection: - - keep-alive - ParameterSetName: - - -n -g -s --artifact-path --version - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '759' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:31:58 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1050,39 +804,41 @@ interactions: ParameterSetName: - -n -g -s --artifact-path --version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/getResourceUploadUrl?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/getResourceUploadUrl?api-version=2022-03-01-preview response: body: - string: '{"relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759","uploadUrl":"https://0000394e4365496cb8090d2e.file.core.windows.net/ac24d3441e324eb8b4c48068c8778885/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759?sv=2018-03-28&sr=f&sig=A7ZC9Lpd%2B7YSGPR4orRaVXEwHoZHa%2BN3BSN9BR5aTzs%3D&se=2022-02-24T04%3A32%3A01Z&sp=w"}' + string: '{"relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-30ee701f-5830-48d3-a13f-40707754d802","uploadUrl":"https://4a4e9b0154c045f98b03e094.file.core.windows.net/0c7bf6b91ae840c78655bb6f57ea0391/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-30ee701f-5830-48d3-a13f-40707754d802?sv=2018-03-28&sr=f&sig=De1%2BDkJxr1oOMnvoX3Vr80YdKnkCRM76XtoLpjnN4iE%3D&se=2022-03-20T08%3A27%3A39Z&sp=w"}' headers: cache-control: - no-cache content-length: - - '473' + - '471' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:32:01 GMT + - Sun, 20 Mar 2022 06:27:39 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked vary: - - Accept-Encoding + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1094,17 +850,17 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/1.4.2-2.1.0 (Python CPython 3.8.3; Windows 10) + - Azure-Storage/1.4.2-2.1.0 (Python CPython 3.9.5; Windows 10) x-ms-content-length: - '11' x-ms-date: - - Thu, 24 Feb 2022 02:32:01 GMT + - Sun, 20 Mar 2022 06:27:39 GMT x-ms-file-attributes: - Archive x-ms-file-creation-time: - - '2022-02-24T02:32:01.8637080Z' + - '2022-03-20T06:27:39.7026690Z' x-ms-file-last-write-time: - - '2022-02-24T02:32:01.8637080Z' + - '2022-03-20T06:27:39.7026690Z' x-ms-file-permission: - Inherit x-ms-type: @@ -1112,7 +868,7 @@ interactions: x-ms-version: - '2019-02-02' method: PUT - uri: https://0000394e4365496cb8090d2e.file.core.windows.net/ac24d3441e324eb8b4c48068c8778885/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759?sv=2018-03-28&sr=f&sig=A7ZC9Lpd%2B7YSGPR4orRaVXEwHoZHa%2BN3BSN9BR5aTzs%3D&se=2022-02-24T04%3A32%3A01Z&sp=w + uri: https://4a4e9b0154c045f98b03e094.file.core.windows.net/0c7bf6b91ae840c78655bb6f57ea0391/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-30ee701f-5830-48d3-a13f-40707754d802?sv=2018-03-28&sr=f&sig=De1%2BDkJxr1oOMnvoX3Vr80YdKnkCRM76XtoLpjnN4iE%3D&se=2022-03-20T08%3A27%3A39Z&sp=w response: body: string: '' @@ -1120,27 +876,27 @@ interactions: content-length: - '0' date: - - Thu, 24 Feb 2022 02:32:03 GMT + - Sun, 20 Mar 2022 06:27:39 GMT etag: - - '"0x8D9F73DD6CFB118"' + - '"0x8DA0A3ABB88B782"' last-modified: - - Thu, 24 Feb 2022 02:32:01 GMT + - Sun, 20 Mar 2022 06:27:39 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-file-attributes: - Archive x-ms-file-change-time: - - '2022-02-24T02:32:01.8637080Z' + - '2022-03-20T06:27:39.7026690Z' x-ms-file-creation-time: - - '2022-02-24T02:32:01.8637080Z' + - '2022-03-20T06:27:39.7026690Z' x-ms-file-id: - - '11529338191370780672' + - '11529335992347525120' x-ms-file-last-write-time: - - '2022-02-24T02:32:01.8637080Z' + - '2022-03-20T06:27:39.7026690Z' x-ms-file-parent-id: - '13835128424026341376' x-ms-file-permission-key: - - 9303792710474857772*3007663947317056930 + - 11807555321441796965*827594984623582187 x-ms-request-server-encrypted: - 'true' x-ms-version: @@ -1156,9 +912,9 @@ interactions: Content-Length: - '11' User-Agent: - - Azure-Storage/1.4.2-2.1.0 (Python CPython 3.8.3; Windows 10) + - Azure-Storage/1.4.2-2.1.0 (Python CPython 3.9.5; Windows 10) x-ms-date: - - Thu, 24 Feb 2022 02:32:03 GMT + - Sun, 20 Mar 2022 06:27:40 GMT x-ms-range: - bytes=0-10 x-ms-version: @@ -1166,7 +922,7 @@ interactions: x-ms-write: - update method: PUT - uri: https://0000394e4365496cb8090d2e.file.core.windows.net/ac24d3441e324eb8b4c48068c8778885/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759?comp=range&sv=2018-03-28&sr=f&sig=A7ZC9Lpd%2B7YSGPR4orRaVXEwHoZHa%2BN3BSN9BR5aTzs%3D&se=2022-02-24T04%3A32%3A01Z&sp=w + uri: https://4a4e9b0154c045f98b03e094.file.core.windows.net/0c7bf6b91ae840c78655bb6f57ea0391/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-30ee701f-5830-48d3-a13f-40707754d802?comp=range&sv=2018-03-28&sr=f&sig=De1%2BDkJxr1oOMnvoX3Vr80YdKnkCRM76XtoLpjnN4iE%3D&se=2022-03-20T08%3A27%3A39Z&sp=w response: body: string: '' @@ -1176,11 +932,11 @@ interactions: content-md5: - 99EB7GGDEcq+ZSyODG3erA== date: - - Thu, 24 Feb 2022 02:32:03 GMT + - Sun, 20 Mar 2022 06:27:39 GMT etag: - - '"0x8D9F73DD8151936"' + - '"0x8DA0A3ABBF053B7"' last-modified: - - Thu, 24 Feb 2022 02:32:03 GMT + - Sun, 20 Mar 2022 06:27:40 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -1192,7 +948,7 @@ interactions: message: Created - request: body: '{"properties": {"source": {"type": "Jar", "version": "v1", "relativePath": - "resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759", + "resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-30ee701f-5830-48d3-a13f-40707754d802", "runtimeVersion": "Java_11"}, "deploymentSettings": {}}, "sku": {"name": "S0", "tier": "Standard"}}' headers: @@ -1211,31 +967,31 @@ interactions: ParameterSetName: - -n -g -s --artifact-path --version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759","version":"v1","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:32:04.3444358Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-30ee701f-5830-48d3-a13f-40707754d802","version":"v1","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:50.7614162Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:27:41.2858295Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/a5b7cff1-786c-4cef-a288-88bafbb7b00b?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/adac135f-1959-47e3-9e03-f902492d205a?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '930' + - '948' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:32:06 GMT + - Sun, 20 Mar 2022 06:27:41 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/a5b7cff1-786c-4cef-a288-88bafbb7b00b/Spring/default?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/adac135f-1959-47e3-9e03-f902492d205a/Spring/default?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1243,9 +999,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '1198' + - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -1263,133 +1019,39 @@ interactions: ParameterSetName: - -n -g -s --artifact-path --version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/a5b7cff1-786c-4cef-a288-88bafbb7b00b?api-version=2022-01-01-preview - response: - body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/a5b7cff1-786c-4cef-a288-88bafbb7b00b","name":"a5b7cff1-786c-4cef-a288-88bafbb7b00b","status":"Running","startTime":"2022-02-24T02:32:06.6282563Z"}' - headers: - cache-control: - - no-cache - content-length: - - '308' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:32:38 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app deploy - Connection: - - keep-alive - ParameterSetName: - - -n -g -s --artifact-path --version - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/a5b7cff1-786c-4cef-a288-88bafbb7b00b?api-version=2022-01-01-preview - response: - body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/a5b7cff1-786c-4cef-a288-88bafbb7b00b","name":"a5b7cff1-786c-4cef-a288-88bafbb7b00b","status":"Running","startTime":"2022-02-24T02:32:06.6282563Z"}' - headers: - cache-control: - - no-cache - content-length: - - '308' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:32:48 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app deploy - Connection: - - keep-alive - ParameterSetName: - - -n -g -s --artifact-path --version - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/a5b7cff1-786c-4cef-a288-88bafbb7b00b?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/adac135f-1959-47e3-9e03-f902492d205a?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/a5b7cff1-786c-4cef-a288-88bafbb7b00b","name":"a5b7cff1-786c-4cef-a288-88bafbb7b00b","status":"Running","startTime":"2022-02-24T02:32:06.6282563Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/adac135f-1959-47e3-9e03-f902492d205a","name":"adac135f-1959-47e3-9e03-f902492d205a","status":"Running","startTime":"2022-03-20T06:27:42.3722091Z"}' headers: cache-control: - no-cache content-length: - - '308' + - '326' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:33:00 GMT + - Sun, 20 Mar 2022 06:28:11 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked vary: - - Accept-Encoding + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1407,78 +1069,29 @@ interactions: ParameterSetName: - -n -g -s --artifact-path --version User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/a5b7cff1-786c-4cef-a288-88bafbb7b00b?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/adac135f-1959-47e3-9e03-f902492d205a?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/a5b7cff1-786c-4cef-a288-88bafbb7b00b","name":"a5b7cff1-786c-4cef-a288-88bafbb7b00b","status":"Failed","startTime":"2022-02-24T02:32:06.6282563Z","endTime":"2022-02-24T02:33:03.1245194Z","error":{"code":"BadRequest","message":"112404: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/adac135f-1959-47e3-9e03-f902492d205a","name":"adac135f-1959-47e3-9e03-f902492d205a","status":"Failed","startTime":"2022-03-20T06:27:42.3722091Z","endTime":"2022-03-20T06:28:22.1783019Z","error":{"code":"BadRequest","message":"112404: Failed to wait for deployment instances to be ready. Please check the application log (see https://aka.ms/azure-spring-cloud-doc-log ), and try again later."}}' headers: cache-control: - no-cache content-length: - - '555' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:33:10 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app deployment show - Connection: - - keep-alive - ParameterSetName: - - -n --app -g -s - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759","version":"v1","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-7b849864dc-2282p","status":"Failed","reason":"Fail - to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:32:23Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:32:04.3444358Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '1114' + - '573' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:33:15 GMT + - Sun, 20 Mar 2022 06:28:23 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1489,238 +1102,69 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK - request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app update - Connection: - - keep-alive - ParameterSetName: - - -n -g -s --runtime-version --env - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-01-01-preview - response: - body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759","version":"v1","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-7b849864dc-2282p","status":"Failed","reason":"Fail - to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:32:23Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:32:04.3444358Z"}}]}' - headers: - cache-control: - - no-cache - content-length: - - '1126' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:33:20 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app update - Connection: - - keep-alive - ParameterSetName: - - -n -g -s --runtime-version --env - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '759' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:33:22 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: '{"properties": {"httpsOnly": false}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app update - Connection: - - keep-alive - Content-Length: - - '36' - Content-Type: - - application/json - ParameterSetName: - - -n -g -s --runtime-version --env - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:33:23.6532843Z"}}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/da104c7c-8f63-42fe-956d-69cc44046e66?api-version=2022-01-01-preview - cache-control: - - no-cache - content-length: - - '797' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:33:24 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/da104c7c-8f63-42fe-956d-69cc44046e66/Spring/deploy?api-version=2022-01-01-preview - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '1199' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 202 - message: Accepted -- request: - body: '{"properties": {"source": {"type": "Jar", "version": "v1", "relativePath": - "resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759", - "runtimeVersion": "Java_8"}, "deploymentSettings": {"environmentVariables": - {"bas": "baz"}}}, "sku": {"name": "S0", "tier": "Standard"}}' + body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - spring-cloud app update + - spring-cloud app deployment show Connection: - keep-alive - Content-Length: - - '337' - Content-Type: - - application/json ParameterSetName: - - -n -g -s --runtime-version --env + - -n --app -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: PATCH + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759","version":"v1","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:33:25.2682787Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-30ee701f-5830-48d3-a13f-40707754d802","version":"v1","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-546f77cc5d-ccvdc","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-03-20T06:27:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:50.7614162Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:27:41.2858295Z"}}' headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/dc6d71f2-729a-4f0b-8c2b-6448c8c29962?api-version=2022-01-01-preview cache-control: - no-cache content-length: - - '929' + - '1132' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:33:26 GMT + - Sun, 20 Mar 2022 06:28:24 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/dc6d71f2-729a-4f0b-8c2b-6448c8c29962/Spring/default?api-version=2022-01-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '1199' + - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: - code: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: @@ -1730,27 +1174,28 @@ interactions: ParameterSetName: - -n -g -s --runtime-version --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/da104c7c-8f63-42fe-956d-69cc44046e66?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-01-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/da104c7c-8f63-42fe-956d-69cc44046e66","name":"da104c7c-8f63-42fe-956d-69cc44046e66","status":"Succeeded","startTime":"2022-02-24T02:33:24.7558411Z","endTime":"2022-02-24T02:33:30.93803Z"}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-30ee701f-5830-48d3-a13f-40707754d802","version":"v1","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-546f77cc5d-ccvdc","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-03-20T06:27:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:50.7614162Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:27:41.2858295Z"}}]}' headers: cache-control: - no-cache content-length: - - '348' + - '1144' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:33:54 GMT + - Sun, 20 Mar 2022 06:28:25 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1761,8 +1206,10 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1770,7 +1217,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: @@ -1780,27 +1227,28 @@ interactions: ParameterSetName: - -n -g -s --runtime-version --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:33:23.6532843Z"}}' + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"0c7bf6b91ae840c78655bb6f57ea0391","networkProfile":{"outboundIPs":{"publicIPs":["20.24.160.30","20.24.160.222"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"southeastasia","tags":{"asc-test":"prod","api-target":"arm","service-create-time":"2022-03-20 + 02:02:01 +0800","service-expire-time":"2022-03-20 13:02:01 +0800"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-03-19T18:02:10.1198327Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-03-19T19:56:42.9425082Z"}}' headers: cache-control: - no-cache content-length: - - '798' + - '1011' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:33:55 GMT + - Sun, 20 Mar 2022 06:28:27 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1814,110 +1262,125 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK - request: - body: null + body: '{"properties": {"httpsOnly": false}}' headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: - spring-cloud app update Connection: - keep-alive + Content-Length: + - '36' + Content-Type: + - application/json ParameterSetName: - -n -g -s --runtime-version --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/dc6d71f2-729a-4f0b-8c2b-6448c8c29962?api-version=2022-01-01-preview + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/dc6d71f2-729a-4f0b-8c2b-6448c8c29962","name":"dc6d71f2-729a-4f0b-8c2b-6448c8c29962","status":"Running","startTime":"2022-02-24T02:33:27.3036389Z"}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:14.6362979Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:28:28.652305Z"}}' headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/deploy/operationId/e39e52da-1888-4b3a-80f4-b1d012b0cd4c?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '308' + - '845' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:33:57 GMT + - Sun, 20 Mar 2022 06:28:28 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/e39e52da-1888-4b3a-80f4-b1d012b0cd4c/Spring/deploy?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: - code: 200 - message: OK + code: 202 + message: Accepted - request: - body: null + body: '{"properties": {"source": {"type": "Jar", "version": "v1", "relativePath": + "resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-30ee701f-5830-48d3-a13f-40707754d802", + "runtimeVersion": "Java_8"}, "deploymentSettings": {"environmentVariables": + {"bas": "baz"}}}, "sku": {"name": "S0", "tier": "Standard"}}' headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: - spring-cloud app update Connection: - keep-alive + Content-Length: + - '337' + Content-Type: + - application/json ParameterSetName: - -n -g -s --runtime-version --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/dc6d71f2-729a-4f0b-8c2b-6448c8c29962?api-version=2022-01-01-preview + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/dc6d71f2-729a-4f0b-8c2b-6448c8c29962","name":"dc6d71f2-729a-4f0b-8c2b-6448c8c29962","status":"Running","startTime":"2022-02-24T02:33:27.3036389Z"}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-30ee701f-5830-48d3-a13f-40707754d802","version":"v1","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:50.7614162Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:28:29.6054354Z"}}' headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/0857a9d1-0f68-40b4-9900-3265c3f65463?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '308' + - '947' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:34:09 GMT + - Sun, 20 Mar 2022 06:28:29 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/0857a9d1-0f68-40b4-9900-3265c3f65463/Spring/default?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: - code: 200 - message: OK + code: 202 + message: Accepted - request: body: null headers: @@ -1932,27 +1395,27 @@ interactions: ParameterSetName: - -n -g -s --runtime-version --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/dc6d71f2-729a-4f0b-8c2b-6448c8c29962?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/deploy/operationId/e39e52da-1888-4b3a-80f4-b1d012b0cd4c?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/dc6d71f2-729a-4f0b-8c2b-6448c8c29962","name":"dc6d71f2-729a-4f0b-8c2b-6448c8c29962","status":"Running","startTime":"2022-02-24T02:33:27.3036389Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/deploy/operationId/e39e52da-1888-4b3a-80f4-b1d012b0cd4c","name":"e39e52da-1888-4b3a-80f4-b1d012b0cd4c","status":"Succeeded","startTime":"2022-03-20T06:28:29.2895019Z","endTime":"2022-03-20T06:28:35.8517308Z"}' headers: cache-control: - no-cache content-length: - - '308' + - '368' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:34:20 GMT + - Sun, 20 Mar 2022 06:28:59 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -1964,7 +1427,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1982,29 +1445,27 @@ interactions: ParameterSetName: - -n -g -s --runtime-version --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/dc6d71f2-729a-4f0b-8c2b-6448c8c29962?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/dc6d71f2-729a-4f0b-8c2b-6448c8c29962","name":"dc6d71f2-729a-4f0b-8c2b-6448c8c29962","status":"Failed","startTime":"2022-02-24T02:33:27.3036389Z","endTime":"2022-02-24T02:34:21.0326851Z","error":{"code":"BadRequest","message":"112404: - Failed to wait for deployment instances to be ready. Please check the application - log (see https://aka.ms/azure-spring-cloud-doc-log ), and try again later."}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:14.6362979Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:28:28.652305Z"}}' headers: cache-control: - no-cache content-length: - - '555' + - '846' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:34:31 GMT + - Sun, 20 Mar 2022 06:29:00 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2015,8 +1476,10 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2024,7 +1487,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2034,27 +1497,27 @@ interactions: ParameterSetName: - -n -g -s --runtime-version --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/0857a9d1-0f68-40b4-9900-3265c3f65463?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:33:23.6532843Z"}}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/0857a9d1-0f68-40b4-9900-3265c3f65463","name":"0857a9d1-0f68-40b4-9900-3265c3f65463","status":"Running","startTime":"2022-03-20T06:28:30.3900396Z"}' headers: cache-control: - no-cache content-length: - - '798' + - '326' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:34:33 GMT + - Sun, 20 Mar 2022 06:29:00 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2065,10 +1528,8 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2076,7 +1537,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2086,28 +1547,29 @@ interactions: ParameterSetName: - -n -g -s --runtime-version --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/0857a9d1-0f68-40b4-9900-3265c3f65463?api-version=2022-03-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759","version":"v1","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-5f564b4c46-djzsx","status":"Failed","reason":"Fail - to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:33:39Z"},{"name":"deploy-default-6-7b849864dc-2282p","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T02:32:23Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:33:25.2682787Z"}}]}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/0857a9d1-0f68-40b4-9900-3265c3f65463","name":"0857a9d1-0f68-40b4-9900-3265c3f65463","status":"Failed","startTime":"2022-03-20T06:28:30.3900396Z","endTime":"2022-03-20T06:29:08.1947552Z","error":{"code":"BadRequest","message":"112404: + Failed to wait for deployment instances to be ready. Please check the application + log (see https://aka.ms/azure-spring-cloud-doc-log ), and try again later."}}' headers: cache-control: - no-cache content-length: - - '1253' + - '573' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:34:36 GMT + - Sun, 20 Mar 2022 06:29:11 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2118,10 +1580,8 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2133,34 +1593,33 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - spring-cloud app deployment show + - spring-cloud app update Connection: - keep-alive ParameterSetName: - - -n --app -g -s + - -n -g -s --runtime-version --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759","version":"v1","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-5f564b4c46-djzsx","status":"Failed","reason":"Fail - to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:33:39Z"},{"name":"deploy-default-6-7b849864dc-2282p","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T02:32:23Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:33:25.2682787Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:14.6362979Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:28:28.652305Z"}}' headers: cache-control: - no-cache content-length: - - '1241' + - '846' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:34:40 GMT + - Sun, 20 Mar 2022 06:29:15 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2172,9 +1631,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2186,34 +1645,34 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - spring-cloud app deploy + - spring-cloud app update Connection: - keep-alive ParameterSetName: - - -n -g -s --artifact-path --version --runtime-version --main-entry + - -n -g -s --runtime-version --env User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-03-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759","version":"v1","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-5f564b4c46-djzsx","status":"Failed","reason":"Fail - to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:33:39Z"},{"name":"deploy-default-6-7b849864dc-2282p","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T02:32:23Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:33:25.2682787Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-30ee701f-5830-48d3-a13f-40707754d802","version":"v1","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-69546cc7b4-wzxkg","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-03-20T06:28:42Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:50.7614162Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:28:29.6054354Z"}}]}' headers: cache-control: - no-cache content-length: - - '1253' + - '1143' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:34:44 GMT + - Sun, 20 Mar 2022 06:29:16 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2227,7 +1686,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2239,33 +1698,34 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - spring-cloud app deploy + - spring-cloud app deployment show Connection: - keep-alive ParameterSetName: - - -n -g -s --artifact-path --version --runtime-version --main-entry + - -n --app -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-30ee701f-5830-48d3-a13f-40707754d802","version":"v1","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-69546cc7b4-wzxkg","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-03-20T06:28:42Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:50.7614162Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:28:29.6054354Z"}}' headers: cache-control: - no-cache content-length: - - '759' + - '1131' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:34:46 GMT + - Sun, 20 Mar 2022 06:29:17 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2279,7 +1739,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2297,27 +1757,28 @@ interactions: ParameterSetName: - -n -g -s --artifact-path --version --runtime-version --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-01-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-30ee701f-5830-48d3-a13f-40707754d802","version":"v1","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-69546cc7b4-wzxkg","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-03-20T06:28:42Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:50.7614162Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:28:29.6054354Z"}}]}' headers: cache-control: - no-cache content-length: - - '759' + - '1143' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:34:49 GMT + - Sun, 20 Mar 2022 06:29:21 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2331,7 +1792,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2349,27 +1810,28 @@ interactions: ParameterSetName: - -n -g -s --artifact-path --version --runtime-version --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"0c7bf6b91ae840c78655bb6f57ea0391","networkProfile":{"outboundIPs":{"publicIPs":["20.24.160.30","20.24.160.222"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"southeastasia","tags":{"asc-test":"prod","api-target":"arm","service-create-time":"2022-03-20 + 02:02:01 +0800","service-expire-time":"2022-03-20 13:02:01 +0800"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-03-19T18:02:10.1198327Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-03-19T19:56:42.9425082Z"}}' headers: cache-control: - no-cache content-length: - - '759' + - '1011' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:34:50 GMT + - Sun, 20 Mar 2022 06:29:22 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2381,9 +1843,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11996' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2403,27 +1865,27 @@ interactions: ParameterSetName: - -n -g -s --artifact-path --version --runtime-version --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/getResourceUploadUrl?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/getResourceUploadUrl?api-version=2022-03-01-preview response: body: - string: '{"relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc","uploadUrl":"https://0000394e4365496cb8090d2e.file.core.windows.net/ac24d3441e324eb8b4c48068c8778885/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc?sv=2018-03-28&sr=f&sig=flA7UJ6EQR%2FsYDFGBSVFNwGLYgP3W18%2BB9cU2HGU2QI%3D&se=2022-02-24T04%3A34%3A52Z&sp=w"}' + string: '{"relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-298e782d-bec3-400a-8023-b0a1b8871826","uploadUrl":"https://4a4e9b0154c045f98b03e094.file.core.windows.net/0c7bf6b91ae840c78655bb6f57ea0391/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-298e782d-bec3-400a-8023-b0a1b8871826?sv=2018-03-28&sr=f&sig=ZshAYB8PCczY6GxQFF%2FGfoER2cAqMpo2ice2ka4k14Q%3D&se=2022-03-20T08%3A29%3A24Z&sp=w"}' headers: cache-control: - no-cache content-length: - - '473' + - '471' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:34:52 GMT + - Sun, 20 Mar 2022 06:29:24 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2437,7 +1899,7 @@ interactions: x-ms-ratelimit-remaining-subscription-writes: - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2449,17 +1911,17 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/1.4.2-2.1.0 (Python CPython 3.8.3; Windows 10) + - Azure-Storage/1.4.2-2.1.0 (Python CPython 3.9.5; Windows 10) x-ms-content-length: - '11' x-ms-date: - - Thu, 24 Feb 2022 02:34:53 GMT + - Sun, 20 Mar 2022 06:29:24 GMT x-ms-file-attributes: - Archive x-ms-file-creation-time: - - '2022-02-24T02:32:01.8637080Z' + - '2022-03-20T06:27:39.7026690Z' x-ms-file-last-write-time: - - '2022-02-24T02:32:01.8637080Z' + - '2022-03-20T06:27:39.7026690Z' x-ms-file-permission: - Inherit x-ms-type: @@ -2467,7 +1929,7 @@ interactions: x-ms-version: - '2019-02-02' method: PUT - uri: https://0000394e4365496cb8090d2e.file.core.windows.net/ac24d3441e324eb8b4c48068c8778885/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc?sv=2018-03-28&sr=f&sig=flA7UJ6EQR%2FsYDFGBSVFNwGLYgP3W18%2BB9cU2HGU2QI%3D&se=2022-02-24T04%3A34%3A52Z&sp=w + uri: https://4a4e9b0154c045f98b03e094.file.core.windows.net/0c7bf6b91ae840c78655bb6f57ea0391/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-298e782d-bec3-400a-8023-b0a1b8871826?sv=2018-03-28&sr=f&sig=ZshAYB8PCczY6GxQFF%2FGfoER2cAqMpo2ice2ka4k14Q%3D&se=2022-03-20T08%3A29%3A24Z&sp=w response: body: string: '' @@ -2475,27 +1937,27 @@ interactions: content-length: - '0' date: - - Thu, 24 Feb 2022 02:34:54 GMT + - Sun, 20 Mar 2022 06:29:25 GMT etag: - - '"0x8D9F73DD6CFB118"' + - '"0x8DA0A3ABB88B782"' last-modified: - - Thu, 24 Feb 2022 02:32:01 GMT + - Sun, 20 Mar 2022 06:27:39 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-file-attributes: - Archive x-ms-file-change-time: - - '2022-02-24T02:32:01.8637080Z' + - '2022-03-20T06:27:39.7026690Z' x-ms-file-creation-time: - - '2022-02-24T02:32:01.8637080Z' + - '2022-03-20T06:27:39.7026690Z' x-ms-file-id: - - '11529294210905669632' + - '10376414487740678144' x-ms-file-last-write-time: - - '2022-02-24T02:32:01.8637080Z' + - '2022-03-20T06:27:39.7026690Z' x-ms-file-parent-id: - '13835128424026341376' x-ms-file-permission-key: - - 9303792710474857772*3007663947317056930 + - 11807555321441796965*827594984623582187 x-ms-request-server-encrypted: - 'true' x-ms-version: @@ -2511,9 +1973,9 @@ interactions: Content-Length: - '11' User-Agent: - - Azure-Storage/1.4.2-2.1.0 (Python CPython 3.8.3; Windows 10) + - Azure-Storage/1.4.2-2.1.0 (Python CPython 3.9.5; Windows 10) x-ms-date: - - Thu, 24 Feb 2022 02:34:55 GMT + - Sun, 20 Mar 2022 06:29:25 GMT x-ms-range: - bytes=0-10 x-ms-version: @@ -2521,7 +1983,7 @@ interactions: x-ms-write: - update method: PUT - uri: https://0000394e4365496cb8090d2e.file.core.windows.net/ac24d3441e324eb8b4c48068c8778885/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc?comp=range&sv=2018-03-28&sr=f&sig=flA7UJ6EQR%2FsYDFGBSVFNwGLYgP3W18%2BB9cU2HGU2QI%3D&se=2022-02-24T04%3A34%3A52Z&sp=w + uri: https://4a4e9b0154c045f98b03e094.file.core.windows.net/0c7bf6b91ae840c78655bb6f57ea0391/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-298e782d-bec3-400a-8023-b0a1b8871826?comp=range&sv=2018-03-28&sr=f&sig=ZshAYB8PCczY6GxQFF%2FGfoER2cAqMpo2ice2ka4k14Q%3D&se=2022-03-20T08%3A29%3A24Z&sp=w response: body: string: '' @@ -2531,11 +1993,11 @@ interactions: content-md5: - 99EB7GGDEcq+ZSyODG3erA== date: - - Thu, 24 Feb 2022 02:34:55 GMT + - Sun, 20 Mar 2022 06:29:25 GMT etag: - - '"0x8D9F73E3E420B6B"' + - '"0x8DA0A3AFA8E75B6"' last-modified: - - Thu, 24 Feb 2022 02:34:55 GMT + - Sun, 20 Mar 2022 06:29:25 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -2547,7 +2009,7 @@ interactions: message: Created - request: body: '{"properties": {"source": {"type": "NetCoreZip", "version": "v2", "relativePath": - "resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc", + "resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-298e782d-bec3-400a-8023-b0a1b8871826", "netCoreMainEntryPath": "test", "runtimeVersion": "NetCore_31"}, "deploymentSettings": {}}, "sku": {"name": "S0", "tier": "Standard"}}' headers: @@ -2566,31 +2028,31 @@ interactions: ParameterSetName: - -n -g -s --artifact-path --version --runtime-version --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:34:57.3685599Z"}}' + string: '{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-298e782d-bec3-400a-8023-b0a1b8871826","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:50.7614162Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:29:25.6057138Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/89e391d3-c354-4682-9984-b8d2ba80d5da?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/b6a3f3ed-6d78-4b1b-b72b-cbe42346d8a4?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '970' + - '988' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:34:59 GMT + - Sun, 20 Mar 2022 06:29:26 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/89e391d3-c354-4682-9984-b8d2ba80d5da/Spring/default?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/b6a3f3ed-6d78-4b1b-b72b-cbe42346d8a4/Spring/default?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2598,9 +2060,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '1199' + - '1198' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -2618,27 +2080,27 @@ interactions: ParameterSetName: - -n -g -s --artifact-path --version --runtime-version --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/89e391d3-c354-4682-9984-b8d2ba80d5da?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/b6a3f3ed-6d78-4b1b-b72b-cbe42346d8a4?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/89e391d3-c354-4682-9984-b8d2ba80d5da","name":"89e391d3-c354-4682-9984-b8d2ba80d5da","status":"Running","startTime":"2022-02-24T02:34:59.7522917Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/b6a3f3ed-6d78-4b1b-b72b-cbe42346d8a4","name":"b6a3f3ed-6d78-4b1b-b72b-cbe42346d8a4","status":"Running","startTime":"2022-03-20T06:29:26.7028124Z"}' headers: cache-control: - no-cache content-length: - - '308' + - '326' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:35:31 GMT + - Sun, 20 Mar 2022 06:29:57 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2650,7 +2112,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2668,27 +2130,27 @@ interactions: ParameterSetName: - -n -g -s --artifact-path --version --runtime-version --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/89e391d3-c354-4682-9984-b8d2ba80d5da?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/b6a3f3ed-6d78-4b1b-b72b-cbe42346d8a4?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/89e391d3-c354-4682-9984-b8d2ba80d5da","name":"89e391d3-c354-4682-9984-b8d2ba80d5da","status":"Running","startTime":"2022-02-24T02:34:59.7522917Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/b6a3f3ed-6d78-4b1b-b72b-cbe42346d8a4","name":"b6a3f3ed-6d78-4b1b-b72b-cbe42346d8a4","status":"Running","startTime":"2022-03-20T06:29:26.7028124Z"}' headers: cache-control: - no-cache content-length: - - '308' + - '326' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:35:42 GMT + - Sun, 20 Mar 2022 06:30:07 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2700,7 +2162,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2718,29 +2180,27 @@ interactions: ParameterSetName: - -n -g -s --artifact-path --version --runtime-version --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/89e391d3-c354-4682-9984-b8d2ba80d5da?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/b6a3f3ed-6d78-4b1b-b72b-cbe42346d8a4?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/89e391d3-c354-4682-9984-b8d2ba80d5da","name":"89e391d3-c354-4682-9984-b8d2ba80d5da","status":"Failed","startTime":"2022-02-24T02:34:59.7522917Z","endTime":"2022-02-24T02:35:44.4025708Z","error":{"code":"BadRequest","message":"112404: - Failed to wait for deployment instances to be ready. Please check the application - log (see https://aka.ms/azure-spring-cloud-doc-log ), and try again later."}}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/b6a3f3ed-6d78-4b1b-b72b-cbe42346d8a4","name":"b6a3f3ed-6d78-4b1b-b72b-cbe42346d8a4","status":"Running","startTime":"2022-03-20T06:29:26.7028124Z"}' headers: cache-control: - no-cache content-length: - - '555' + - '326' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:35:52 GMT + - Sun, 20 Mar 2022 06:30:18 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2752,7 +2212,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2760,38 +2220,39 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - spring-cloud app deployment show + - spring-cloud app deploy Connection: - keep-alive ParameterSetName: - - -n --app -g -s + - -n -g -s --artifact-path --version --runtime-version --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/b6a3f3ed-6d78-4b1b-b72b-cbe42346d8a4?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-5f564b4c46-djzsx","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T02:33:39Z"},{"name":"deploy-default-6-6f6bd785d7-4cfhm","status":"Failed","reason":"Fail - to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:35:08Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:34:57.3685599Z"}}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/b6a3f3ed-6d78-4b1b-b72b-cbe42346d8a4","name":"b6a3f3ed-6d78-4b1b-b72b-cbe42346d8a4","status":"Failed","startTime":"2022-03-20T06:29:26.7028124Z","endTime":"2022-03-20T06:30:20.2734322Z","error":{"code":"BadRequest","message":"112404: + Failed to wait for deployment instances to be ready. Please check the application + log (see https://aka.ms/azure-spring-cloud-doc-log ), and try again later."}}' headers: cache-control: - no-cache content-length: - - '1282' + - '573' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:35:57 GMT + - Sun, 20 Mar 2022 06:30:28 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2802,10 +2263,8 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2817,34 +2276,34 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - spring-cloud app update + - spring-cloud app deployment show Connection: - keep-alive ParameterSetName: - - -n -g -s --main-entry + - -n --app -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-5f564b4c46-djzsx","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T02:33:39Z"},{"name":"deploy-default-6-6f6bd785d7-4cfhm","status":"Failed","reason":"Fail - to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:35:08Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:34:57.3685599Z"}}]}' + string: '{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-298e782d-bec3-400a-8023-b0a1b8871826","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-7b9797486f-q4jsj","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-03-20T06:29:38Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:50.7614162Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:29:25.6057138Z"}}' headers: cache-control: - no-cache content-length: - - '1294' + - '1172' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:36:01 GMT + - Sun, 20 Mar 2022 06:30:32 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2858,7 +2317,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2876,27 +2335,28 @@ interactions: ParameterSetName: - -n -g -s --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-01-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"value":[{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-298e782d-bec3-400a-8023-b0a1b8871826","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-7b9797486f-q4jsj","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-03-20T06:29:38Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:50.7614162Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:29:25.6057138Z"}}]}' headers: cache-control: - no-cache content-length: - - '759' + - '1184' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:36:03 GMT + - Sun, 20 Mar 2022 06:30:36 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2908,9 +2368,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' + - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -2932,31 +2392,31 @@ interactions: ParameterSetName: - -n -g -s --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:36:05.4051157Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:14.6362979Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:30:37.7345786Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/2f98f341-0d92-401b-9b36-752a280c332a?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/deploy/operationId/a0b76741-680f-4aea-a2f9-d77cd66272f3?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '797' + - '846' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:36:06 GMT + - Sun, 20 Mar 2022 06:30:38 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/2f98f341-0d92-401b-9b36-752a280c332a/Spring/deploy?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/a0b76741-680f-4aea-a2f9-d77cd66272f3/Spring/deploy?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -2966,13 +2426,13 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted - request: body: '{"properties": {"source": {"type": "NetCoreZip", "version": "v2", "relativePath": - "resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc", + "resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-298e782d-bec3-400a-8023-b0a1b8871826", "netCoreMainEntryPath": "test1", "runtimeVersion": "NetCore_31"}, "deploymentSettings": {}}, "sku": {"name": "S0", "tier": "Standard"}}' headers: @@ -2991,31 +2451,31 @@ interactions: ParameterSetName: - -n -g -s --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test1"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:36:07.1651624Z"}}' + string: '{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-298e782d-bec3-400a-8023-b0a1b8871826","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test1"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:50.7614162Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:30:38.6720906Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/bc439831-6a90-4b46-991f-2c52a3dc59f7?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/63e739d0-768f-4b9c-a723-c9d806f8a71c?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '971' + - '989' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:36:08 GMT + - Sun, 20 Mar 2022 06:30:39 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/bc439831-6a90-4b46-991f-2c52a3dc59f7/Spring/default?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/63e739d0-768f-4b9c-a723-c9d806f8a71c/Spring/default?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -3025,7 +2485,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -3043,27 +2503,27 @@ interactions: ParameterSetName: - -n -g -s --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/2f98f341-0d92-401b-9b36-752a280c332a?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/deploy/operationId/a0b76741-680f-4aea-a2f9-d77cd66272f3?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/2f98f341-0d92-401b-9b36-752a280c332a","name":"2f98f341-0d92-401b-9b36-752a280c332a","status":"Succeeded","startTime":"2022-02-24T02:36:06.6296685Z","endTime":"2022-02-24T02:36:13.0614989Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/deploy/operationId/a0b76741-680f-4aea-a2f9-d77cd66272f3","name":"a0b76741-680f-4aea-a2f9-d77cd66272f3","status":"Succeeded","startTime":"2022-03-20T06:30:38.2834361Z","endTime":"2022-03-20T06:30:44.4290525Z"}' headers: cache-control: - no-cache content-length: - - '350' + - '368' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:36:37 GMT + - Sun, 20 Mar 2022 06:31:08 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -3075,7 +2535,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -3093,27 +2553,27 @@ interactions: ParameterSetName: - -n -g -s --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:36:05.4051157Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:14.6362979Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:30:37.7345786Z"}}' headers: cache-control: - no-cache content-length: - - '798' + - '847' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:36:38 GMT + - Sun, 20 Mar 2022 06:31:09 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -3127,7 +2587,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -3145,27 +2605,27 @@ interactions: ParameterSetName: - -n -g -s --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/bc439831-6a90-4b46-991f-2c52a3dc59f7?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/63e739d0-768f-4b9c-a723-c9d806f8a71c?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/bc439831-6a90-4b46-991f-2c52a3dc59f7","name":"bc439831-6a90-4b46-991f-2c52a3dc59f7","status":"Running","startTime":"2022-02-24T02:36:09.5685698Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/63e739d0-768f-4b9c-a723-c9d806f8a71c","name":"63e739d0-768f-4b9c-a723-c9d806f8a71c","status":"Running","startTime":"2022-03-20T06:30:39.5235906Z"}' headers: cache-control: - no-cache content-length: - - '308' + - '326' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:36:40 GMT + - Sun, 20 Mar 2022 06:31:09 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -3177,7 +2637,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -3195,27 +2655,27 @@ interactions: ParameterSetName: - -n -g -s --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/bc439831-6a90-4b46-991f-2c52a3dc59f7?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/63e739d0-768f-4b9c-a723-c9d806f8a71c?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/bc439831-6a90-4b46-991f-2c52a3dc59f7","name":"bc439831-6a90-4b46-991f-2c52a3dc59f7","status":"Running","startTime":"2022-02-24T02:36:09.5685698Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/63e739d0-768f-4b9c-a723-c9d806f8a71c","name":"63e739d0-768f-4b9c-a723-c9d806f8a71c","status":"Running","startTime":"2022-03-20T06:30:39.5235906Z"}' headers: cache-control: - no-cache content-length: - - '308' + - '326' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:36:50 GMT + - Sun, 20 Mar 2022 06:31:19 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -3227,7 +2687,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -3245,29 +2705,27 @@ interactions: ParameterSetName: - -n -g -s --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/bc439831-6a90-4b46-991f-2c52a3dc59f7?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/63e739d0-768f-4b9c-a723-c9d806f8a71c?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/bc439831-6a90-4b46-991f-2c52a3dc59f7","name":"bc439831-6a90-4b46-991f-2c52a3dc59f7","status":"Failed","startTime":"2022-02-24T02:36:09.5685698Z","endTime":"2022-02-24T02:36:57.2871222Z","error":{"code":"BadRequest","message":"112404: - Failed to wait for deployment instances to be ready. Please check the application - log (see https://aka.ms/azure-spring-cloud-doc-log ), and try again later."}}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/63e739d0-768f-4b9c-a723-c9d806f8a71c","name":"63e739d0-768f-4b9c-a723-c9d806f8a71c","status":"Running","startTime":"2022-03-20T06:30:39.5235906Z"}' headers: cache-control: - no-cache content-length: - - '555' + - '326' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:37:03 GMT + - Sun, 20 Mar 2022 06:31:30 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -3279,7 +2737,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -3287,7 +2745,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -3297,27 +2755,29 @@ interactions: ParameterSetName: - -n -g -s --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/63e739d0-768f-4b9c-a723-c9d806f8a71c?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:36:05.4051157Z"}}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/63e739d0-768f-4b9c-a723-c9d806f8a71c","name":"63e739d0-768f-4b9c-a723-c9d806f8a71c","status":"Failed","startTime":"2022-03-20T06:30:39.5235906Z","endTime":"2022-03-20T06:31:35.7876655Z","error":{"code":"BadRequest","message":"112404: + Failed to wait for deployment instances to be ready. Please check the application + log (see https://aka.ms/azure-spring-cloud-doc-log ), and try again later."}}' headers: cache-control: - no-cache content-length: - - '798' + - '573' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:37:05 GMT + - Sun, 20 Mar 2022 06:31:40 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -3328,10 +2788,8 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -3349,28 +2807,27 @@ interactions: ParameterSetName: - -n -g -s --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-03-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test1"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-6f6bd785d7-4cfhm","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T02:35:08Z"},{"name":"deploy-default-6-787695dc88-tcml7","status":"Failed","reason":"Fail - to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:36:19Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:36:07.1651624Z"}}]}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:14.6362979Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:30:37.7345786Z"}}' headers: cache-control: - no-cache content-length: - - '1295' + - '847' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:37:08 GMT + - Sun, 20 Mar 2022 06:31:44 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -3384,111 +2841,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app deployment show - Connection: - - keep-alive - ParameterSetName: - - -n --app -g -s - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test1"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-6f6bd785d7-4cfhm","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T02:35:08Z"},{"name":"deploy-default-6-787695dc88-tcml7","status":"Failed","reason":"Fail - to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:36:19Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:36:07.1651624Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '1283' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:37:13 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app deploy - Connection: - - keep-alive - ParameterSetName: - - -n -g -s --artifact-path --version --main-entry - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-01-01-preview - response: - body: - string: '{"value":[{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test1"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-6f6bd785d7-4cfhm","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T02:35:08Z"},{"name":"deploy-default-6-787695dc88-tcml7","status":"Failed","reason":"Fail - to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:36:19Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:36:07.1651624Z"}}]}' - headers: - cache-control: - - no-cache - content-length: - - '1295' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 02:37:17 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -3500,33 +2853,34 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - spring-cloud app deploy + - spring-cloud app update Connection: - keep-alive ParameterSetName: - - -n -g -s --artifact-path --version --main-entry + - -n -g -s --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-03-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"value":[{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-298e782d-bec3-400a-8023-b0a1b8871826","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test1"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-5dcc549cfc-jfggx","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-03-20T06:30:51Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:50.7614162Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:30:38.6720906Z"}}]}' headers: cache-control: - no-cache content-length: - - '759' + - '1185' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:37:20 GMT + - Sun, 20 Mar 2022 06:31:47 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -3540,7 +2894,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11998' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -3552,33 +2906,34 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - spring-cloud app deploy + - spring-cloud app deployment show Connection: - keep-alive ParameterSetName: - - -n -g -s --artifact-path --version --main-entry + - -n --app -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-298e782d-bec3-400a-8023-b0a1b8871826","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test1"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-5dcc549cfc-jfggx","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-03-20T06:30:51Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:50.7614162Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:30:38.6720906Z"}}' headers: cache-control: - no-cache content-length: - - '759' + - '1173' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:37:22 GMT + - Sun, 20 Mar 2022 06:31:50 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -3592,7 +2947,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -3610,27 +2965,28 @@ interactions: ParameterSetName: - -n -g -s --artifact-path --version --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-01-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + string: '{"value":[{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-298e782d-bec3-400a-8023-b0a1b8871826","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test1"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-5dcc549cfc-jfggx","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-03-20T06:30:51Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:50.7614162Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:30:38.6720906Z"}}]}' headers: cache-control: - no-cache content-length: - - '759' + - '1185' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:37:22 GMT + - Sun, 20 Mar 2022 06:31:54 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -3644,7 +3000,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -3664,27 +3020,27 @@ interactions: ParameterSetName: - -n -g -s --artifact-path --version --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/getResourceUploadUrl?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/getResourceUploadUrl?api-version=2022-03-01-preview response: body: - string: '{"relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-39415579-7b0d-480b-bee9-4135cc32bda0","uploadUrl":"https://0000394e4365496cb8090d2e.file.core.windows.net/ac24d3441e324eb8b4c48068c8778885/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-39415579-7b0d-480b-bee9-4135cc32bda0?sv=2018-03-28&sr=f&sig=ei8wQ%2Bz7UkjjHqDl4cTtzgPFcwRyZvb%2Fth4qnERRS8Q%3D&se=2022-02-24T04%3A37%3A25Z&sp=w"}' + string: '{"relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-a109b68c-a27a-4f9c-ba10-eb41cfd61773","uploadUrl":"https://4a4e9b0154c045f98b03e094.file.core.windows.net/0c7bf6b91ae840c78655bb6f57ea0391/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-a109b68c-a27a-4f9c-ba10-eb41cfd61773?sv=2018-03-28&sr=f&sig=9Z2Fz59gmKPgpfrxwbE3y9b5MvSQh4VbJWTZD6uMPy0%3D&se=2022-03-20T08%3A31%3A56Z&sp=w"}' headers: cache-control: - no-cache content-length: - - '473' + - '469' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:37:25 GMT + - Sun, 20 Mar 2022 06:31:56 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -3696,9 +3052,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1193' + - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -3710,17 +3066,17 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/1.4.2-2.1.0 (Python CPython 3.8.3; Windows 10) + - Azure-Storage/1.4.2-2.1.0 (Python CPython 3.9.5; Windows 10) x-ms-content-length: - '11' x-ms-date: - - Thu, 24 Feb 2022 02:37:26 GMT + - Sun, 20 Mar 2022 06:31:57 GMT x-ms-file-attributes: - Archive x-ms-file-creation-time: - - '2022-02-24T02:32:01.8637080Z' + - '2022-03-20T06:27:39.7026690Z' x-ms-file-last-write-time: - - '2022-02-24T02:32:01.8637080Z' + - '2022-03-20T06:27:39.7026690Z' x-ms-file-permission: - Inherit x-ms-type: @@ -3728,7 +3084,7 @@ interactions: x-ms-version: - '2019-02-02' method: PUT - uri: https://0000394e4365496cb8090d2e.file.core.windows.net/ac24d3441e324eb8b4c48068c8778885/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-39415579-7b0d-480b-bee9-4135cc32bda0?sv=2018-03-28&sr=f&sig=ei8wQ%2Bz7UkjjHqDl4cTtzgPFcwRyZvb%2Fth4qnERRS8Q%3D&se=2022-02-24T04%3A37%3A25Z&sp=w + uri: https://4a4e9b0154c045f98b03e094.file.core.windows.net/0c7bf6b91ae840c78655bb6f57ea0391/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-a109b68c-a27a-4f9c-ba10-eb41cfd61773?sv=2018-03-28&sr=f&sig=9Z2Fz59gmKPgpfrxwbE3y9b5MvSQh4VbJWTZD6uMPy0%3D&se=2022-03-20T08%3A31%3A56Z&sp=w response: body: string: '' @@ -3736,27 +3092,27 @@ interactions: content-length: - '0' date: - - Thu, 24 Feb 2022 02:37:27 GMT + - Sun, 20 Mar 2022 06:31:57 GMT etag: - - '"0x8D9F73DD6CFB118"' + - '"0x8DA0A3ABB88B782"' last-modified: - - Thu, 24 Feb 2022 02:32:01 GMT + - Sun, 20 Mar 2022 06:27:39 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-file-attributes: - Archive x-ms-file-change-time: - - '2022-02-24T02:32:01.8637080Z' + - '2022-03-20T06:27:39.7026690Z' x-ms-file-creation-time: - - '2022-02-24T02:32:01.8637080Z' + - '2022-03-20T06:27:39.7026690Z' x-ms-file-id: - - '11529329395277758464' + - '11529283215789391872' x-ms-file-last-write-time: - - '2022-02-24T02:32:01.8637080Z' + - '2022-03-20T06:27:39.7026690Z' x-ms-file-parent-id: - '13835128424026341376' x-ms-file-permission-key: - - 9303792710474857772*3007663947317056930 + - 11807555321441796965*827594984623582187 x-ms-request-server-encrypted: - 'true' x-ms-version: @@ -3772,9 +3128,9 @@ interactions: Content-Length: - '11' User-Agent: - - Azure-Storage/1.4.2-2.1.0 (Python CPython 3.8.3; Windows 10) + - Azure-Storage/1.4.2-2.1.0 (Python CPython 3.9.5; Windows 10) x-ms-date: - - Thu, 24 Feb 2022 02:37:28 GMT + - Sun, 20 Mar 2022 06:31:57 GMT x-ms-range: - bytes=0-10 x-ms-version: @@ -3782,7 +3138,7 @@ interactions: x-ms-write: - update method: PUT - uri: https://0000394e4365496cb8090d2e.file.core.windows.net/ac24d3441e324eb8b4c48068c8778885/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-39415579-7b0d-480b-bee9-4135cc32bda0?comp=range&sv=2018-03-28&sr=f&sig=ei8wQ%2Bz7UkjjHqDl4cTtzgPFcwRyZvb%2Fth4qnERRS8Q%3D&se=2022-02-24T04%3A37%3A25Z&sp=w + uri: https://4a4e9b0154c045f98b03e094.file.core.windows.net/0c7bf6b91ae840c78655bb6f57ea0391/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-a109b68c-a27a-4f9c-ba10-eb41cfd61773?comp=range&sv=2018-03-28&sr=f&sig=9Z2Fz59gmKPgpfrxwbE3y9b5MvSQh4VbJWTZD6uMPy0%3D&se=2022-03-20T08%3A31%3A56Z&sp=w response: body: string: '' @@ -3792,11 +3148,11 @@ interactions: content-md5: - 99EB7GGDEcq+ZSyODG3erA== date: - - Thu, 24 Feb 2022 02:37:27 GMT + - Sun, 20 Mar 2022 06:31:57 GMT etag: - - '"0x8D9F73E99672B73"' + - '"0x8DA0A3B55551B95"' last-modified: - - Thu, 24 Feb 2022 02:37:28 GMT + - Sun, 20 Mar 2022 06:31:57 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -3808,7 +3164,7 @@ interactions: message: Created - request: body: '{"properties": {"source": {"type": "NetCoreZip", "version": "v3", "relativePath": - "resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-39415579-7b0d-480b-bee9-4135cc32bda0", + "resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-a109b68c-a27a-4f9c-ba10-eb41cfd61773", "netCoreMainEntryPath": "test3", "runtimeVersion": "NetCore_31"}, "deploymentSettings": {}}, "sku": {"name": "S0", "tier": "Standard"}}' headers: @@ -3827,31 +3183,31 @@ interactions: ParameterSetName: - -n -g -s --artifact-path --version --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-39415579-7b0d-480b-bee9-4135cc32bda0","version":"v3","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test3"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:37:28.6513736Z"}}' + string: '{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-a109b68c-a27a-4f9c-ba10-eb41cfd61773","version":"v3","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test3"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:50.7614162Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:31:58.6234345Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/ac5b889a-f506-4954-82d1-cd58daff53b0?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/0018ea55-914e-46d7-a31a-a669c7f535e1?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '971' + - '989' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:37:30 GMT + - Sun, 20 Mar 2022 06:31:59 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/ac5b889a-f506-4954-82d1-cd58daff53b0/Spring/default?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/0018ea55-914e-46d7-a31a-a669c7f535e1/Spring/default?api-version=2022-03-01-preview pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -3861,7 +3217,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1199' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -3879,27 +3235,27 @@ interactions: ParameterSetName: - -n -g -s --artifact-path --version --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/ac5b889a-f506-4954-82d1-cd58daff53b0?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/0018ea55-914e-46d7-a31a-a669c7f535e1?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/ac5b889a-f506-4954-82d1-cd58daff53b0","name":"ac5b889a-f506-4954-82d1-cd58daff53b0","status":"Running","startTime":"2022-02-24T02:37:31.0702501Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/0018ea55-914e-46d7-a31a-a669c7f535e1","name":"0018ea55-914e-46d7-a31a-a669c7f535e1","status":"Running","startTime":"2022-03-20T06:31:59.7546086Z"}' headers: cache-control: - no-cache content-length: - - '308' + - '326' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:38:02 GMT + - Sun, 20 Mar 2022 06:32:30 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -3911,7 +3267,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -3929,27 +3285,27 @@ interactions: ParameterSetName: - -n -g -s --artifact-path --version --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/ac5b889a-f506-4954-82d1-cd58daff53b0?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/0018ea55-914e-46d7-a31a-a669c7f535e1?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/ac5b889a-f506-4954-82d1-cd58daff53b0","name":"ac5b889a-f506-4954-82d1-cd58daff53b0","status":"Running","startTime":"2022-02-24T02:37:31.0702501Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/0018ea55-914e-46d7-a31a-a669c7f535e1","name":"0018ea55-914e-46d7-a31a-a669c7f535e1","status":"Running","startTime":"2022-03-20T06:31:59.7546086Z"}' headers: cache-control: - no-cache content-length: - - '308' + - '326' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:38:12 GMT + - Sun, 20 Mar 2022 06:32:40 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -3961,7 +3317,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -3979,29 +3335,29 @@ interactions: ParameterSetName: - -n -g -s --artifact-path --version --main-entry User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/ac5b889a-f506-4954-82d1-cd58daff53b0?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/0018ea55-914e-46d7-a31a-a669c7f535e1?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/ac5b889a-f506-4954-82d1-cd58daff53b0","name":"ac5b889a-f506-4954-82d1-cd58daff53b0","status":"Failed","startTime":"2022-02-24T02:37:31.0702501Z","endTime":"2022-02-24T02:38:15.9597243Z","error":{"code":"BadRequest","message":"112404: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/0018ea55-914e-46d7-a31a-a669c7f535e1","name":"0018ea55-914e-46d7-a31a-a669c7f535e1","status":"Failed","startTime":"2022-03-20T06:31:59.7546086Z","endTime":"2022-03-20T06:32:45.3008272Z","error":{"code":"BadRequest","message":"112404: Failed to wait for deployment instances to be ready. Please check the application log (see https://aka.ms/azure-spring-cloud-doc-log ), and try again later."}}' headers: cache-control: - no-cache content-length: - - '555' + - '573' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:38:23 GMT + - Sun, 20 Mar 2022 06:32:52 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -4013,7 +3369,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -4031,28 +3387,28 @@ interactions: ParameterSetName: - -n --app -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview response: body: - string: '{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-39415579-7b0d-480b-bee9-4135cc32bda0","version":"v3","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test3"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-567475dc9b-pphqc","status":"Failed","reason":"Fail - to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:37:38Z"},{"name":"deploy-default-6-787695dc88-tcml7","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T02:36:19Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:37:28.6513736Z"}}' + string: '{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022032006-a109b68c-a27a-4f9c-ba10-eb41cfd61773","version":"v3","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test3"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-d4987fd5b-tz6kv","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-03-20T06:32:07Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:50.7614162Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:31:58.6234345Z"}}' headers: cache-control: - no-cache content-length: - - '1283' + - '1172' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 02:38:27 GMT + - Sun, 20 Mar 2022 06:32:55 GMT expires: - '-1' pragma: - no-cache request-context: - - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d server: - nginx/1.17.7 strict-transport-security: @@ -4066,7 +3422,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - abaf8a08-ab47-4674-80b0-7e026b318a31 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_load_public_cert_to_app.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_load_public_cert_to_app.yaml index 6e7fc245356..e89f9f93843 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_load_public_cert_to_app.yaml +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_load_public_cert_to_app.yaml @@ -17,7 +17,7 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert?api-version=2022-01-01-preview response: @@ -29,11 +29,11 @@ interactions: cache-control: - no-cache content-length: - - '594' + - '620' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:43:42 GMT + - Sun, 20 Mar 2022 07:59:03 GMT expires: - '-1' pragma: @@ -44,14 +44,16 @@ interactions: - nginx/1.17.7 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked vary: - - Accept-Encoding + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - '1199' x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -73,7 +75,7 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert?api-version=2022-01-01-preview response: @@ -85,11 +87,11 @@ interactions: cache-control: - no-cache content-length: - - '582' + - '608' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:43:44 GMT + - Sun, 20 Mar 2022 07:59:05 GMT expires: - '-1' pragma: @@ -109,7 +111,7 @@ interactions: x-ms-ratelimit-remaining-subscription-writes: - '1199' x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -127,7 +129,7 @@ interactions: ParameterSetName: - --name -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert?api-version=2022-01-01-preview response: @@ -139,11 +141,11 @@ interactions: cache-control: - no-cache content-length: - - '594' + - '620' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:43:46 GMT + - Sun, 20 Mar 2022 07:59:06 GMT expires: - '-1' pragma: @@ -161,7 +163,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -179,7 +181,7 @@ interactions: ParameterSetName: - --name -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert?api-version=2022-01-01-preview response: @@ -191,11 +193,11 @@ interactions: cache-control: - no-cache content-length: - - '582' + - '608' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:43:48 GMT + - Sun, 20 Mar 2022 07:59:09 GMT expires: - '-1' pragma: @@ -213,7 +215,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -231,7 +233,7 @@ interactions: ParameterSetName: - -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates?api-version=2022-01-01-preview response: @@ -245,11 +247,11 @@ interactions: cache-control: - no-cache content-length: - - '1189' + - '1241' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:43:51 GMT + - Sun, 20 Mar 2022 07:59:10 GMT expires: - '-1' pragma: @@ -267,7 +269,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -285,61 +287,9 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview - response: - body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '771' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 07:43:52 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - --name -f -g -s - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-03-01-preview response: body: string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","details":null}}' @@ -347,11 +297,11 @@ interactions: cache-control: - no-cache content-length: - - '227' + - '255' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:43:54 GMT + - Sun, 20 Mar 2022 07:59:11 GMT expires: - '-1' pragma: @@ -367,7 +317,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 404 message: Not Found @@ -385,21 +335,22 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"0c7bf6b91ae840c78655bb6f57ea0391","networkProfile":{"outboundIPs":{"publicIPs":["20.24.160.30","20.24.160.222"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"southeastasia","tags":{"asc-test":"prod","api-target":"arm","service-create-time":"2022-03-20 + 02:02:01 +0800","service-expire-time":"2022-03-20 13:02:01 +0800"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-03-19T18:02:10.1198327Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-03-19T19:56:42.9425082Z"}}' headers: cache-control: - no-cache content-length: - - '771' + - '1011' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:43:54 GMT + - Sun, 20 Mar 2022 07:59:11 GMT expires: - '-1' pragma: @@ -417,9 +368,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11998' x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -437,9 +388,9 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert?api-version=2022-03-01-preview response: body: string: '{"properties":{"type":"ContentCertificate","thumbprint":"d4de20d05e66fc53fe1a50882c78db2852cae474","issuer":"Baltimore @@ -449,11 +400,11 @@ interactions: cache-control: - no-cache content-length: - - '582' + - '608' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:43:55 GMT + - Sun, 20 Mar 2022 07:59:11 GMT expires: - '-1' pragma: @@ -471,7 +422,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -490,33 +441,33 @@ interactions: Connection: - keep-alive Content-Length: - - '350' + - '376' Content-Type: - application/json ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:43:57.3330236Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:59:12.8576427Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:59:12.8576427Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-cert/operationId/836aeab4-1a03-4ddb-8731-72ab437adfda?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-cert/operationId/1467b6c0-4175-4c72-bfdc-cf84201cabff?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '927' + - '982' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:43:57 GMT + - Sun, 20 Mar 2022 07:59:12 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/836aeab4-1a03-4ddb-8731-72ab437adfda/Spring/test-app-cert?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/1467b6c0-4175-4c72-bfdc-cf84201cabff/Spring/test-app-cert?api-version=2022-03-01-preview pragma: - no-cache request-context: @@ -530,7 +481,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1199' x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 201 message: Created @@ -548,21 +499,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-cert/operationId/836aeab4-1a03-4ddb-8731-72ab437adfda?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-cert/operationId/1467b6c0-4175-4c72-bfdc-cf84201cabff?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-cert/operationId/836aeab4-1a03-4ddb-8731-72ab437adfda","name":"836aeab4-1a03-4ddb-8731-72ab437adfda","status":"Succeeded","startTime":"2022-02-24T07:43:57.8729496Z","endTime":"2022-02-24T07:44:04.2551581Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-cert/operationId/1467b6c0-4175-4c72-bfdc-cf84201cabff","name":"1467b6c0-4175-4c72-bfdc-cf84201cabff","status":"Succeeded","startTime":"2022-03-20T07:59:13.2344085Z","endTime":"2022-03-20T07:59:19.3638519Z"}' headers: cache-control: - no-cache content-length: - - '357' + - '377' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:44:28 GMT + - Sun, 20 Mar 2022 07:59:43 GMT expires: - '-1' pragma: @@ -580,7 +531,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -598,21 +549,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:43:57.3330236Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:59:12.8576427Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:59:12.8576427Z"}}' headers: cache-control: - no-cache content-length: - - '1030' + - '1100' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:44:28 GMT + - Sun, 20 Mar 2022 07:59:44 GMT expires: - '-1' pragma: @@ -632,7 +583,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11998' x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -657,27 +608,27 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:44:33.6483289Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:44:33.6483289Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:59:48.5765983Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:59:48.5765983Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/34dce6f4-4d28-43c5-b906-ec31bb70ae08?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/d174bbc2-aab8-48ab-9f95-1e43c43395a3?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '799' + - '819' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:44:34 GMT + - Sun, 20 Mar 2022 07:59:49 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/34dce6f4-4d28-43c5-b906-ec31bb70ae08/Spring/default?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/d174bbc2-aab8-48ab-9f95-1e43c43395a3/Spring/default?api-version=2022-03-01-preview pragma: - no-cache request-context: @@ -689,9 +640,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '1198' + - '1199' x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 201 message: Created @@ -714,27 +665,27 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:44:35.2183391Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:59:12.8576427Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:59:49.6703751Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-cert/operationId/34438d4f-e656-4c3d-970f-a4519a75a6f7?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-cert/operationId/c05411e6-6ed9-4533-a437-e37475f6c019?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '1029' + - '1099' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:44:35 GMT + - Sun, 20 Mar 2022 07:59:49 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/34438d4f-e656-4c3d-970f-a4519a75a6f7/Spring/test-app-cert?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/c05411e6-6ed9-4533-a437-e37475f6c019/Spring/test-app-cert?api-version=2022-03-01-preview pragma: - no-cache request-context: @@ -748,7 +699,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1198' x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -766,71 +717,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/34dce6f4-4d28-43c5-b906-ec31bb70ae08?api-version=2022-01-01-preview - response: - body: - string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/34dce6f4-4d28-43c5-b906-ec31bb70ae08","name":"34dce6f4-4d28-43c5-b906-ec31bb70ae08","status":"Running","startTime":"2022-02-24T07:44:34.302057Z"}' - headers: - cache-control: - - no-cache - content-length: - - '307' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 07:45:04 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - --name -f -g -s - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-cert/operationId/34438d4f-e656-4c3d-970f-a4519a75a6f7?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/d174bbc2-aab8-48ab-9f95-1e43c43395a3?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-cert/operationId/34438d4f-e656-4c3d-970f-a4519a75a6f7","name":"34438d4f-e656-4c3d-970f-a4519a75a6f7","status":"Succeeded","startTime":"2022-02-24T07:44:35.435256Z","endTime":"2022-02-24T07:44:41.5745146Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/d174bbc2-aab8-48ab-9f95-1e43c43395a3","name":"d174bbc2-aab8-48ab-9f95-1e43c43395a3","status":"Succeeded","startTime":"2022-03-20T07:59:49.3471251Z","endTime":"2022-03-20T08:00:19.3492879Z"}' headers: cache-control: - no-cache content-length: - - '356' + - '369' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:45:05 GMT + - Sun, 20 Mar 2022 08:00:19 GMT expires: - '-1' pragma: @@ -848,7 +749,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -866,21 +767,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:44:35.2183391Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-cert-default-15-cc789b5f9-p78lf","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T07:59:52Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:59:48.5765983Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:59:48.5765983Z"}}' headers: cache-control: - no-cache content-length: - - '1030' + - '948' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:45:05 GMT + - Sun, 20 Mar 2022 08:00:19 GMT expires: - '-1' pragma: @@ -898,109 +799,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' - x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - --name -f -g -s - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/34dce6f4-4d28-43c5-b906-ec31bb70ae08?api-version=2022-01-01-preview - response: - body: - string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/34dce6f4-4d28-43c5-b906-ec31bb70ae08","name":"34dce6f4-4d28-43c5-b906-ec31bb70ae08","status":"Running","startTime":"2022-02-24T07:44:34.302057Z"}' - headers: - cache-control: - - no-cache - content-length: - - '307' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 07:45:15 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - --name -f -g -s - User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/34dce6f4-4d28-43c5-b906-ec31bb70ae08?api-version=2022-01-01-preview - response: - body: - string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/34dce6f4-4d28-43c5-b906-ec31bb70ae08","name":"34dce6f4-4d28-43c5-b906-ec31bb70ae08","status":"Running","startTime":"2022-02-24T07:44:34.302057Z"}' - headers: - cache-control: - - no-cache - content-length: - - '307' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 24 Feb 2022 07:45:25 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff + - '11999' x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1018,21 +819,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/34dce6f4-4d28-43c5-b906-ec31bb70ae08?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-cert/operationId/c05411e6-6ed9-4533-a437-e37475f6c019?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/34dce6f4-4d28-43c5-b906-ec31bb70ae08","name":"34dce6f4-4d28-43c5-b906-ec31bb70ae08","status":"Succeeded","startTime":"2022-02-24T07:44:34.302057Z","endTime":"2022-02-24T07:45:33.8718333Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-cert/operationId/c05411e6-6ed9-4533-a437-e37475f6c019","name":"c05411e6-6ed9-4533-a437-e37475f6c019","status":"Succeeded","startTime":"2022-03-20T07:59:49.8614287Z","endTime":"2022-03-20T07:59:56.1202247Z"}' headers: cache-control: - no-cache content-length: - - '350' + - '377' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:45:36 GMT + - Sun, 20 Mar 2022 08:00:20 GMT expires: - '-1' pragma: @@ -1050,7 +851,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1068,21 +869,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert/deployments/mock-deployment?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-cert-default-13-67bc48df4c-6x58h","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T07:44:37Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:44:33.6483289Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:44:33.6483289Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:59:12.8576427Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:59:49.6703751Z"}}' headers: cache-control: - no-cache content-length: - - '927' + - '1100' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:45:36 GMT + - Sun, 20 Mar 2022 08:00:20 GMT expires: - '-1' pragma: @@ -1100,9 +901,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11999' x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1120,21 +921,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:44:35.2183391Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:59:12.8576427Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:59:49.6703751Z"}}' headers: cache-control: - no-cache content-length: - - '1030' + - '1100' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:45:40 GMT + - Sun, 20 Mar 2022 08:00:24 GMT expires: - '-1' pragma: @@ -1152,9 +953,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11996' + - '11998' x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1172,21 +973,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert/deployments?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert/deployments?api-version=2022-03-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-cert-default-13-67bc48df4c-6x58h","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T07:44:37Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:44:33.6483289Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:44:33.6483289Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-cert-default-15-cc789b5f9-p78lf","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T07:59:52Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:59:48.5765983Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:59:48.5765983Z"}}]}' headers: cache-control: - no-cache content-length: - - '939' + - '960' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:45:41 GMT + - Sun, 20 Mar 2022 08:00:25 GMT expires: - '-1' pragma: @@ -1204,9 +1005,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' + - '11999' x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1224,21 +1025,21 @@ interactions: ParameterSetName: - --name --certificate-name --load-trust-store -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-01-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:44:35.2183391Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:59:12.8576427Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:59:49.6703751Z"}}' headers: cache-control: - no-cache content-length: - - '1030' + - '1100' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:45:43 GMT + - Sun, 20 Mar 2022 08:00:26 GMT expires: - '-1' pragma: @@ -1256,9 +1057,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11993' x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1276,7 +1077,7 @@ interactions: ParameterSetName: - --name --certificate-name --load-trust-store -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert?api-version=2022-01-01-preview response: @@ -1288,11 +1089,11 @@ interactions: cache-control: - no-cache content-length: - - '594' + - '620' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:45:44 GMT + - Sun, 20 Mar 2022 08:00:26 GMT expires: - '-1' pragma: @@ -1310,18 +1111,18 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK - request: body: '{"properties": {"public": false, "addonConfigs": {"applicationConfigurationService": - {}, "serviceRegistry": {}}, "fqdn": "cli-unittest.azuremicroservices.io", "httpsOnly": - false, "temporaryDisk": {"sizeInGB": 5, "mountPath": "/tmp"}, "persistentDisk": + {}, "serviceRegistry": {}}, "fqdn": "cli-unittest.azuremicroservices.io", + "httpsOnly": false, "temporaryDisk": {"sizeInGB": 5, "mountPath": "/tmp"}, "persistentDisk": {"sizeInGB": 0, "mountPath": "/persistent"}, "enableEndToEndTLS": false, "loadedCertificates": [{"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert", "loadTrustStore": true}, {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert", - "loadTrustStore": true}]}, "location": "eastus"}' + "loadTrustStore": true}]}, "location": "southeastasia"}' headers: Accept: - application/json @@ -1332,33 +1133,33 @@ interactions: Connection: - keep-alive Content-Length: - - '750' + - '824' Content-Type: - application/json ParameterSetName: - --name --certificate-name --load-trust-store -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-01-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true},{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:45:44.8391656Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true},{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:59:12.8576427Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T08:00:28.0241629Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-cert/operationId/f76ea374-46d5-44ca-9646-5d9c75b9f512?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-cert/operationId/5d2fbf1c-a97f-4b3e-baee-add93d17bac8?api-version=2022-01-01-preview cache-control: - no-cache content-length: - - '1214' + - '1310' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:45:44 GMT + - Sun, 20 Mar 2022 08:00:27 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/f76ea374-46d5-44ca-9646-5d9c75b9f512/Spring/test-app-cert?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/5d2fbf1c-a97f-4b3e-baee-add93d17bac8/Spring/test-app-cert?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -1370,9 +1171,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '1199' + - '1196' x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 202 message: Accepted @@ -1390,21 +1191,21 @@ interactions: ParameterSetName: - --name --certificate-name --load-trust-store -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-cert/operationId/f76ea374-46d5-44ca-9646-5d9c75b9f512?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-cert/operationId/5d2fbf1c-a97f-4b3e-baee-add93d17bac8?api-version=2022-01-01-preview response: body: - string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-cert/operationId/f76ea374-46d5-44ca-9646-5d9c75b9f512","name":"f76ea374-46d5-44ca-9646-5d9c75b9f512","status":"Succeeded","startTime":"2022-02-24T07:45:45.0486996Z","endTime":"2022-02-24T07:45:51.2296322Z"}' + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-cert/operationId/5d2fbf1c-a97f-4b3e-baee-add93d17bac8","name":"5d2fbf1c-a97f-4b3e-baee-add93d17bac8","status":"Succeeded","startTime":"2022-03-20T08:00:28.3603234Z","endTime":"2022-03-20T08:00:34.9311103Z"}' headers: cache-control: - no-cache content-length: - - '357' + - '377' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:46:16 GMT + - Sun, 20 Mar 2022 08:00:58 GMT expires: - '-1' pragma: @@ -1422,7 +1223,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1440,21 +1241,21 @@ interactions: ParameterSetName: - --name --certificate-name --load-trust-store -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-01-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true},{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:45:44.8391656Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true},{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:59:12.8576427Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T08:00:28.0241629Z"}}' headers: cache-control: - no-cache content-length: - - '1215' + - '1311' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:46:17 GMT + - Sun, 20 Mar 2022 08:00:59 GMT expires: - '-1' pragma: @@ -1472,9 +1273,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11992' x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1492,21 +1293,21 @@ interactions: ParameterSetName: - --name --certificate-name --load-trust-store -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-01-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true},{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:45:44.8391656Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true},{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:59:12.8576427Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T08:00:28.0241629Z"}}' headers: cache-control: - no-cache content-length: - - '1215' + - '1311' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:46:17 GMT + - Sun, 20 Mar 2022 08:01:00 GMT expires: - '-1' pragma: @@ -1524,9 +1325,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' + - '11991' x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1544,21 +1345,21 @@ interactions: ParameterSetName: - --name -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps?api-version=2022-01-01-preview response: body: - string: '{"value":[{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true},{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:45:44.8391656Z"}},{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container","name":"test-container","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T06:55:49.1223218Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T06:56:34.5974952Z"}}]}' + string: '{"value":[{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:14.6362979Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:30:37.7345786Z"}},{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/diagnostic-settings-app","name":"diagnostic-settings-app","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-03-19T18:05:51.0507057Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-03-19T18:07:49.4153942Z"}},{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":true,"url":"https://cli-unittest-gateway-shared.azuremicroservices.io","provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/gateway-shared","name":"gateway-shared","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-03-19T18:05:41.0026342Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-03-19T18:08:19.2450107Z"}},{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":true,"url":"https://cli-unittest-mi-app-b.azuremicroservices.io","provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"type":"SystemAssigned","principalId":"3731fd1d-ad37-4dc5-9d13-d9846d5d2824","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/mi-app-b","name":"mi-app-b","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-03-19T19:59:03.9959862Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-03-19T20:04:46.9925208Z"}},{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true},{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:59:12.8576427Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T08:00:28.0241629Z"}},{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container-2","name":"test-container-2","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:51:05.5316002Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:51:42.297469Z"}}]}' headers: cache-control: - no-cache content-length: - - '2051' + - '6064' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:46:19 GMT + - Sun, 20 Mar 2022 08:01:01 GMT expires: - '-1' pragma: @@ -1578,7 +1379,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1596,7 +1397,7 @@ interactions: ParameterSetName: - --name -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert?api-version=2022-01-01-preview response: @@ -1608,11 +1409,11 @@ interactions: cache-control: - no-cache content-length: - - '594' + - '620' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:46:19 GMT + - Sun, 20 Mar 2022 08:01:02 GMT expires: - '-1' pragma: @@ -1630,7 +1431,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1648,21 +1449,21 @@ interactions: ParameterSetName: - --name -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps?api-version=2022-01-01-preview response: body: - string: '{"value":[{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true},{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:45:44.8391656Z"}},{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container","name":"test-container","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T06:55:49.1223218Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T06:56:34.5974952Z"}}]}' + string: '{"value":[{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:26:14.6362979Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:30:37.7345786Z"}},{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/diagnostic-settings-app","name":"diagnostic-settings-app","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-03-19T18:05:51.0507057Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-03-19T18:07:49.4153942Z"}},{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":true,"url":"https://cli-unittest-gateway-shared.azuremicroservices.io","provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/gateway-shared","name":"gateway-shared","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-03-19T18:05:41.0026342Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-03-19T18:08:19.2450107Z"}},{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":true,"url":"https://cli-unittest-mi-app-b.azuremicroservices.io","provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":{"type":"SystemAssigned","principalId":"3731fd1d-ad37-4dc5-9d13-d9846d5d2824","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/mi-app-b","name":"mi-app-b","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-03-19T19:59:03.9959862Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-03-19T20:04:46.9925208Z"}},{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true},{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:59:12.8576427Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T08:00:28.0241629Z"}},{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container-2","name":"test-container-2","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T07:51:05.5316002Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T07:51:42.297469Z"}}]}' headers: cache-control: - no-cache content-length: - - '2051' + - '6064' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:46:22 GMT + - Sun, 20 Mar 2022 08:01:04 GMT expires: - '-1' pragma: @@ -1680,9 +1481,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11999' x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK @@ -1700,7 +1501,7 @@ interactions: ParameterSetName: - --name -g -s User-Agent: - - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert?api-version=2022-01-01-preview response: @@ -1712,11 +1513,11 @@ interactions: cache-control: - no-cache content-length: - - '594' + - '620' content-type: - application/json; charset=utf-8 date: - - Thu, 24 Feb 2022 07:46:22 GMT + - Sun, 20 Mar 2022 08:01:04 GMT expires: - '-1' pragma: @@ -1734,7 +1535,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc status: code: 200 message: OK diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app_scenario.py b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app_scenario.py index f5946a93b62..1690c9c78e1 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app_scenario.py +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app_scenario.py @@ -161,7 +161,7 @@ def test_app_crud_1(self): self.check('properties.activeDeployment.name', 'default'), self.check('properties.activeDeployment.properties.deploymentSettings.resourceRequests.cpu', '1'), self.check('properties.activeDeployment.properties.deploymentSettings.resourceRequests.memory', '2Gi'), - self.check('properties.url', 'https://cli-unittest-{app}.asc-test.net') + self.check('properties.url', 'https://{serviceName}-{app}.asc-test.net') ]) # green deployment not copy settings from active diff --git a/src/spring-cloud/setup.py b/src/spring-cloud/setup.py index 42843a3bb82..1134bea59c9 100644 --- a/src/spring-cloud/setup.py +++ b/src/spring-cloud/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '3.0.1' +VERSION = '3.1.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From c8e460e03b8e000268b0ba8544cbf1ad5e81a981 Mon Sep 17 00:00:00 2001 From: Haroon Feisal Date: Thu, 31 Mar 2022 14:10:36 -0400 Subject: [PATCH 24/70] Added acr build. --- src/containerapp/azext_containerapp/custom.py | 51 +++++++++++-------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index 35b005e45e4..10742fb85bd 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -1964,11 +1964,10 @@ def containerapp_up(cmd, if image: name = image.split('/')[-1].split(':')[0].lower() # .azurecr.io/: if source: - name = source.replace('.', '').replace('/', '').lower() - if not image: - image = name # not sure if both allowed - print(image) - print(name) + temp = source[1:] if source[0] == '.' else source # replace first . if it exists + name = temp.split('/')[-1].lower() # replace first . if it exists + if len(name) == 0: + name = _src_path_escaped.split('\\')[-1] if not resource_group_name: try: @@ -1988,7 +1987,7 @@ def containerapp_up(cmd, # error handle maybe pass - if "azurecr.io" in image: + if image is not None and "azurecr.io" in image: if registry_username is None or registry_password is None: # If registry is Azure Container Registry, we can try inferring credentials logger.warning('No credential was provided to access Azure Container Registry. Trying to look up...') @@ -2001,15 +2000,32 @@ def containerapp_up(cmd, except Exception as ex: raise RequiredArgumentMissingError('Failed to retrieve credentials for container registry. Please provide the registry username and password') from ex + if source is not None: + if registry_server: + if registry_username is None or registry_password is None: + if "azurecr.io" in registry_server: + # If registry is Azure Container Registry, we can try inferring credentials + logger.warning('No credential was provided to access Azure Container Registry. Trying to look up...') + parsed = urlparse(registry_server) + registry_name = (parsed.netloc if parsed.scheme else parsed.path).split('.')[0] + try: + registry_username, registry_password = _get_acr_cred(cmd.cli_ctx, registry_name) + except Exception as ex: + raise RequiredArgumentMissingError('Failed to retrieve credentials for container registry. Please provide the registry username and password') from ex + else: + raise RequiredArgumentMissingError("Registry usename and password are required if using non-Azure registry.") + else: + # create ACR here + pass + image = registry_server + '/' + name + queue_acr_build(cmd, "my-container-apps", "haroonftstregistry", name, source) + containerapp_def = None try: containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) except: pass - if source: - queue_acr_build(cmd, "my-container-apps", "haroonftstregistry", image, source) - if not containerapp_def: if not location: location = "eastus2" # check user's default location? find least populated server? @@ -2029,7 +2045,8 @@ def containerapp_up(cmd, env_name = containerapp_def["properties"]["managedEnvironmentId"].split('/')[8] if logs_customer_id and logs_key: managed_env = create_managed_environment(cmd, env_name, location = location, resource_group_name=resource_group_name, logs_key=logs_key, logs_customer_id=logs_customer_id, disable_warnings=True, no_wait=no_wait)["id"] - if source: + + if source is not None: _set_webapp_up_default_args(cmd, resource_group_name, location, name, managed_env) return create_containerapp(cmd=cmd, name=name, resource_group_name=resource_group_name, image=image, managed_env=managed_env, target_port=port, registry_server=registry_server, registry_pass=registry_password, registry_user=registry_username, env_vars=env_vars, ingress=ingress, disable_warnings=True, no_wait=no_wait) @@ -2157,18 +2174,8 @@ def queue_acr_build(cmd, registry_rg, registry_name, img_name, src_dir): logger.warning("Waiting for agent...") from azure.cli.command_modules.acr._client_factory import (cf_acr_runs) - # client_runs = get_acr_service_client(cmd.cli_ctx).runs - client_runs = cf_acr_runs + client_runs = cf_acr_runs(cmd.cli_ctx) + return stream_logs(cmd, client_runs, run_id, registry_name, registry_rg, None, False, True) - return stream_logs(client_runs, run_id, registry_name, registry_rg, False, True) - - -def get_acr_service_client(cli_ctx, api_version=None): - """Returns the client for managing container registries. """ - from azure.mgmt.containerregistry import ContainerRegistryManagementClient - from azure.cli.core.profiles import ResourceType - from azure.cli.core.commands.client_factory import get_mgmt_service_client - - return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_CONTAINERREGISTRY, api_version="2019-06-01-preview") \ No newline at end of file From 52abab912eb97652213766c37b56fa8dab11096d Mon Sep 17 00:00:00 2001 From: Haroon Feisal Date: Thu, 31 Mar 2022 14:24:01 -0400 Subject: [PATCH 25/70] Finished acr build functionality. --- src/containerapp/azext_containerapp/custom.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index 10742fb85bd..0bef38f8419 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -1960,6 +1960,9 @@ def containerapp_up(cmd, src_dir = os.getcwd() _src_path_escaped = "{}".format(src_dir.replace(os.sep, os.sep + os.sep)) + if source is None and image is None: + raise RequiredArgumentMissingError("You must specify either --source or --image.") + if not name: if image: name = image.split('/')[-1].split(':')[0].lower() # .azurecr.io/: @@ -2016,9 +2019,15 @@ def containerapp_up(cmd, raise RequiredArgumentMissingError("Registry usename and password are required if using non-Azure registry.") else: # create ACR here + # set registry_server to created acr pass - image = registry_server + '/' + name - queue_acr_build(cmd, "my-container-apps", "haroonftstregistry", name, source) + if image is None: + image = registry_server + '/' + name + queue_acr_build(cmd, "my-container-apps", "haroonftstregistry", name, source) + else: + image = registry_server + '/' + image + queue_acr_build(cmd, "my-container-apps", "haroonftstregistry", image, source) + containerapp_def = None try: From 4a71bb809298ececf04f1a15391b9631ce3a5df5 Mon Sep 17 00:00:00 2001 From: Haroon Feisal Date: Thu, 31 Mar 2022 16:08:17 -0400 Subject: [PATCH 26/70] Added acr create functionality and pull registry from existing containerapp if it exists. --- .../azext_containerapp/_params.py | 3 +- src/containerapp/azext_containerapp/custom.py | 94 ++++++++++++++----- 2 files changed, 74 insertions(+), 23 deletions(-) diff --git a/src/containerapp/azext_containerapp/_params.py b/src/containerapp/azext_containerapp/_params.py index c4f6505379b..24fece9d6a6 100644 --- a/src/containerapp/azext_containerapp/_params.py +++ b/src/containerapp/azext_containerapp/_params.py @@ -181,4 +181,5 @@ def load_arguments(self, _): c.argument('resource_group_name', configured_default='resource_group_name') c.argument('location', configured_default='location') c.argument('name', configured_default='name') - c.argument('managed_env', configured_default='managed_env') \ No newline at end of file + c.argument('managed_env', configured_default='managed_env') + c.argument('registry_server', configured_default='registry_server') \ No newline at end of file diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index 0bef38f8419..89614e14d4f 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -5,7 +5,7 @@ # pylint: disable=line-too-long, consider-using-f-string, logging-format-interpolation, inconsistent-return-statements, broad-except, bare-except, too-many-statements, too-many-locals, too-many-boolean-expressions, too-many-branches, too-many-nested-blocks, pointless-statement from urllib.parse import urlparse -from azure.cli.command_modules.appservice.custom import (_get_acr_cred) +# from azure.cli.command_modules.appservice.custom import (_get_acr_cred) from azure.cli.core.azclierror import ( RequiredArgumentMissingError, ValidationError, @@ -1972,6 +1972,9 @@ def containerapp_up(cmd, if len(name) == 0: name = _src_path_escaped.split('\\')[-1] + if not location: + location = "eastus2" # check user's default location? find least populated server? + if not resource_group_name: try: rg_found = False @@ -1990,6 +1993,12 @@ def containerapp_up(cmd, # error handle maybe pass + containerapp_def = None + try: + containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + except: + pass + if image is not None and "azurecr.io" in image: if registry_username is None or registry_password is None: # If registry is Azure Container Registry, we can try inferring credentials @@ -1997,13 +2006,17 @@ def containerapp_up(cmd, registry_server=image.split('/')[0] parsed = urlparse(image) registry_name = (parsed.netloc if parsed.scheme else parsed.path).split('.')[0] - try: registry_username, registry_password = _get_acr_cred(cmd.cli_ctx, registry_name) except Exception as ex: raise RequiredArgumentMissingError('Failed to retrieve credentials for container registry. Please provide the registry username and password') from ex if source is not None: + if containerapp_def: + if "registries" in containerapp_def["properties"]["configuration"] and len(containerapp_def["properties"]["configuration"]["registries"]) == 1: + registry_server = containerapp_def["properties"]["configuration"]["registries"][0]["server"] + registry_name = "" + registry_rg = "" if registry_server: if registry_username is None or registry_password is None: if "azurecr.io" in registry_server: @@ -2012,32 +2025,25 @@ def containerapp_up(cmd, parsed = urlparse(registry_server) registry_name = (parsed.netloc if parsed.scheme else parsed.path).split('.')[0] try: - registry_username, registry_password = _get_acr_cred(cmd.cli_ctx, registry_name) + registry_username, registry_password, registry_rg = _get_acr_cred(cmd.cli_ctx, registry_name) except Exception as ex: raise RequiredArgumentMissingError('Failed to retrieve credentials for container registry. Please provide the registry username and password') from ex else: raise RequiredArgumentMissingError("Registry usename and password are required if using non-Azure registry.") else: - # create ACR here - # set registry_server to created acr - pass - if image is None: - image = registry_server + '/' + name - queue_acr_build(cmd, "my-container-apps", "haroonftstregistry", name, source) - else: - image = registry_server + '/' + image - queue_acr_build(cmd, "my-container-apps", "haroonftstregistry", image, source) + registry_rg = resource_group_name + user = get_profile_username() + registry_name = "{}acr".format(name) + registry_name = registry_name + str(hash((registry_rg, user, name))).replace("-","") + logger.warning("Creating new acr {}".format(registry_name)) + registry_def = create_new_acr(cmd, registry_name, registry_rg, location) + registry_server = registry_def.login_server - - containerapp_def = None - try: - containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) - except: - pass + image_name = image if image is not None else name + image = registry_server + '/' + image_name + queue_acr_build(cmd, registry_rg, registry_name, image_name, source) if not containerapp_def: - if not location: - location = "eastus2" # check user's default location? find least populated server? if not resource_group_name: user = get_profile_username() rg_name = get_randomized_name(user, resource_group_name) @@ -2056,7 +2062,7 @@ def containerapp_up(cmd, managed_env = create_managed_environment(cmd, env_name, location = location, resource_group_name=resource_group_name, logs_key=logs_key, logs_customer_id=logs_customer_id, disable_warnings=True, no_wait=no_wait)["id"] if source is not None: - _set_webapp_up_default_args(cmd, resource_group_name, location, name, managed_env) + _set_webapp_up_default_args(cmd, resource_group_name, location, name, managed_env, registry_server) return create_containerapp(cmd=cmd, name=name, resource_group_name=resource_group_name, image=image, managed_env=managed_env, target_port=port, registry_server=registry_server, registry_pass=registry_password, registry_user=registry_username, env_vars=env_vars, ingress=ingress, disable_warnings=True, no_wait=no_wait) @@ -2069,7 +2075,7 @@ def get_randomized_name(prefix, name=None, initial="rg"): return default -def _set_webapp_up_default_args(cmd, resource_group_name, location, name, managed_env): +def _set_webapp_up_default_args(cmd, resource_group_name, location, name, managed_env, registry_server): from azure.cli.core.util import ConfiguredDefaultSetter with ConfiguredDefaultSetter(cmd.cli_ctx.config, True): logger.warning("Setting 'az containerapp up' default arguments for current directory. " @@ -2090,6 +2096,10 @@ def _set_webapp_up_default_args(cmd, resource_group_name, location, name, manage cmd.cli_ctx.config.set_value('defaults', 'managed_env', managed_env) logger.warning("--environment default: %s", managed_env) + cmd.cli_ctx.config.set_value('defaults', 'registry_server', registry_server) + logger.warning("--registry-server default: %s", registry_server) + + def get_profile_username(): from azure.cli.core._profile import Profile @@ -2188,3 +2198,43 @@ def queue_acr_build(cmd, registry_rg, registry_name, img_name, src_dir): return stream_logs(cmd, client_runs, run_id, registry_name, registry_rg, None, False, True) +def _get_acr_cred(cli_ctx, registry_name): + from azure.mgmt.containerregistry import ContainerRegistryManagementClient + from azure.cli.core.commands.parameters import get_resources_in_subscription + from azure.cli.core.commands.client_factory import get_mgmt_service_client + + client = get_mgmt_service_client(cli_ctx, ContainerRegistryManagementClient).registries + + result = get_resources_in_subscription(cli_ctx, 'Microsoft.ContainerRegistry/registries') + result = [item for item in result if item.name.lower() == registry_name] + if not result or len(result) > 1: + raise ResourceNotFoundError("No resource or more than one were found with name '{}'.".format(registry_name)) + resource_group_name = parse_resource_id(result[0].id)['resource_group'] + + registry = client.get(resource_group_name, registry_name) + + if registry.admin_user_enabled: # pylint: disable=no-member + cred = client.list_credentials(resource_group_name, registry_name) + return cred.username, cred.passwords[0].value, resource_group_name + raise ResourceNotFoundError("Failed to retrieve container registry credentials. Please either provide the " + "credentials or run 'az acr update -n {} --admin-enabled true' to enable " + "admin first.".format(registry_name)) + + +def create_new_acr(cmd, registry_name, resource_group_name, location=None, sku="Basic"): + # from azure.cli.command_modules.acr.custom import acr_create + from azure.cli.command_modules.acr._client_factory import cf_acr_registries + from azure.cli.core.profiles import ResourceType + + + client = cf_acr_registries(cmd.cli_ctx) + # return acr_create(cmd, client, registry_name, resource_group_name, sku, location) + + Registry, Sku, NetworkRuleSet = cmd.get_models('Registry', 'Sku', 'NetworkRuleSet', resource_type=ResourceType.MGMT_CONTAINERREGISTRY, operation_group="registries") + registry = Registry(location=location, sku=Sku(name=sku), admin_user_enabled=True, + zone_redundancy=None, tags=None) + + # lro_poller = client.begin_create(resource_group_name, registry_name, registry, polling=False) + lro_poller = client._create_initial(resource_group_name, registry_name, registry) + + return lro_poller From e7879d1cafe3da77f421afebd46c91365ac956e8 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Fri, 1 Apr 2022 11:06:34 +0800 Subject: [PATCH 27/70] [Release] Update index.json for extension [ spring-cloud ] (#4604) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=1473265 Last commit: https://github.com/Azure/azure-cli-extensions/commit/8f72a562e5dc4ed7359bb8de94ea7eb138e9cf9c --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 666142bed4b..23727522f41 100644 --- a/src/index.json +++ b/src/index.json @@ -27596,6 +27596,49 @@ "version": "3.0.1" }, "sha256Digest": "1142951621ab8ae41759275261cdd0507d11544ba03ad57e02c880e074eabafd" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-3.1.0-py3-none-any.whl", + "filename": "spring_cloud-3.1.0-py3-none-any.whl", + "metadata": { + "azext.isPreview": false, + "azext.minCliCoreVersion": "2.25.0", + "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/tree/main/src/spring-cloud" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "spring-cloud", + "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", + "version": "3.1.0" + }, + "sha256Digest": "a979236cad4f10e12e190c97848495f21dc2d066652366e1a728c0b6db2fb567" } ], "ssh": [ From bcb1954d3bcba06f753dfdb7a0f6d3855fb9826d Mon Sep 17 00:00:00 2001 From: Haroon Feisal Date: Fri, 1 Apr 2022 14:33:18 -0400 Subject: [PATCH 28/70] Fixed bugs. --- src/containerapp/azext_containerapp/_utils.py | 4 +- src/containerapp/azext_containerapp/custom.py | 111 +++++++++++------- 2 files changed, 71 insertions(+), 44 deletions(-) diff --git a/src/containerapp/azext_containerapp/_utils.py b/src/containerapp/azext_containerapp/_utils.py index 13f862c9580..57e0fd44108 100644 --- a/src/containerapp/azext_containerapp/_utils.py +++ b/src/containerapp/azext_containerapp/_utils.py @@ -562,11 +562,11 @@ def _get_app_from_revision(revision): return revision -def _infer_acr_credentials(cmd, registry_server): +def _infer_acr_credentials(cmd, registry_server, disable_warnings=False): # If registry is Azure Container Registry, we can try inferring credentials if '.azurecr.io' not in registry_server: raise RequiredArgumentMissingError('Registry username and password are required if not using Azure Container Registry.') - logger.warning('No credential was provided to access Azure Container Registry. Trying to look up credentials...') + not disable_warnings and logger.warning('No credential was provided to access Azure Container Registry. Trying to look up credentials...') parsed = urlparse(registry_server) registry_name = (parsed.netloc if parsed.scheme else parsed.path).split('.')[0] diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index 89614e14d4f..34214a94dcf 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -351,7 +351,7 @@ def create_containerapp(cmd, # Infer credentials if not supplied and its azurecr if registry_user is None or registry_pass is None: - registry_user, registry_pass = _infer_acr_credentials(cmd, registry_server) + registry_user, registry_pass = _infer_acr_credentials(cmd, registry_server, disable_warnings) registries_def["server"] = registry_server registries_def["username"] = registry_user @@ -1945,7 +1945,7 @@ def containerapp_up(cmd, registry_server=None, image=None, source=None, - dockerfile=None, + dockerfile="Dockerfile", # compose=None, ingress=None, port=None, @@ -1956,7 +1956,7 @@ def containerapp_up(cmd, logs_customer_id=None, logs_key=None, no_wait=False): - import os + import os, json src_dir = os.getcwd() _src_path_escaped = "{}".format(src_dir.replace(os.sep, os.sep + os.sep)) @@ -1965,13 +1965,16 @@ def containerapp_up(cmd, if not name: if image: - name = image.split('/')[-1].split(':')[0].lower() # .azurecr.io/: + name = image.split('/')[-1].split(':')[0].lower() if source: temp = source[1:] if source[0] == '.' else source # replace first . if it exists name = temp.split('/')[-1].lower() # replace first . if it exists if len(name) == 0: name = _src_path_escaped.split('\\')[-1] + if source and image: + image = image.replace(':', '') + if not location: location = "eastus2" # check user's default location? find least populated server? @@ -1990,7 +1993,6 @@ def containerapp_up(cmd, rg_found = True resource_group_name = containerapp["id"].split('/')[4] except: - # error handle maybe pass containerapp_def = None @@ -1999,7 +2001,30 @@ def containerapp_up(cmd, except: pass - if image is not None and "azurecr.io" in image: + env_name = "" if not managed_env else managed_env.split('/')[8] + if not containerapp_def: + if not resource_group_name: + user = get_profile_username() + rg_name = get_randomized_name(user, resource_group_name) + not dryrun and logger.warning("Creating new resource group {}".format(rg_name)) + not dryrun and create_resource_group(cmd, rg_name, location) + resource_group_name = rg_name + if not managed_env: + env_name = "{}-env".format(name).replace("_","-") + if not dryrun: + logger.warning("Creating new managed environment {}".format(env_name)) + managed_env = create_managed_environment(cmd, env_name, location = location, resource_group_name=resource_group_name, logs_key=logs_key, logs_customer_id=logs_customer_id, disable_warnings=True, no_wait=no_wait)["id"] + else: + managed_env = env_name + else: + location = containerapp_def["location"] + managed_env = containerapp_def["properties"]["managedEnvironmentId"] + env_name = containerapp_def["properties"]["managedEnvironmentId"].split('/')[8] + if logs_customer_id and logs_key: + if not dryrun: + managed_env = create_managed_environment(cmd, env_name, location = location, resource_group_name=resource_group_name, logs_key=logs_key, logs_customer_id=logs_customer_id, disable_warnings=True, no_wait=no_wait)["id"] + + if image is not None and "azurecr.io" in image and not dryrun: if registry_username is None or registry_password is None: # If registry is Azure Container Registry, we can try inferring credentials logger.warning('No credential was provided to access Azure Container Registry. Trying to look up...') @@ -2018,7 +2043,7 @@ def containerapp_up(cmd, registry_name = "" registry_rg = "" if registry_server: - if registry_username is None or registry_password is None: + if not dryrun and (registry_username is None or registry_password is None): if "azurecr.io" in registry_server: # If registry is Azure Container Registry, we can try inferring credentials logger.warning('No credential was provided to access Azure Container Registry. Trying to look up...') @@ -2035,36 +2060,38 @@ def containerapp_up(cmd, user = get_profile_username() registry_name = "{}acr".format(name) registry_name = registry_name + str(hash((registry_rg, user, name))).replace("-","") - logger.warning("Creating new acr {}".format(registry_name)) - registry_def = create_new_acr(cmd, registry_name, registry_rg, location) - registry_server = registry_def.login_server + not dryrun and logger.warning("Creating new acr {}".format(registry_name)) + if not dryrun: + registry_def = create_new_acr(cmd, registry_name, registry_rg, location) + registry_server = registry_def.login_server + else: + registry_server = registry_name + "azurecr.io" image_name = image if image is not None else name + from datetime import datetime + now = datetime.now() + image_name += ":{}".format(str(now).replace(' ', '').replace('-','').replace('.','').replace(':','')) image = registry_server + '/' + image_name - queue_acr_build(cmd, registry_rg, registry_name, image_name, source) - - if not containerapp_def: - if not resource_group_name: - user = get_profile_username() - rg_name = get_randomized_name(user, resource_group_name) - logger.warning("Creating new resource group {}".format(rg_name)) - create_resource_group(cmd, rg_name, location) - resource_group_name = rg_name - if not managed_env: - env_name = "{}-env".format(name).replace("_","-") - logger.warning("Creating new managed environment {}".format(env_name)) - managed_env = create_managed_environment(cmd, env_name, location = location, resource_group_name=resource_group_name, logs_key=logs_key, logs_customer_id=logs_customer_id, disable_warnings=True, no_wait=no_wait)["id"] - else: - location = containerapp_def["location"] - managed_env = containerapp_def["properties"]["managedEnvironmentId"] - env_name = containerapp_def["properties"]["managedEnvironmentId"].split('/')[8] - if logs_customer_id and logs_key: - managed_env = create_managed_environment(cmd, env_name, location = location, resource_group_name=resource_group_name, logs_key=logs_key, logs_customer_id=logs_customer_id, disable_warnings=True, no_wait=no_wait)["id"] - - if source is not None: - _set_webapp_up_default_args(cmd, resource_group_name, location, name, managed_env, registry_server) - return create_containerapp(cmd=cmd, name=name, resource_group_name=resource_group_name, image=image, managed_env=managed_env, target_port=port, registry_server=registry_server, registry_pass=registry_password, registry_user=registry_username, env_vars=env_vars, ingress=ingress, disable_warnings=True, no_wait=no_wait) - + not dryrun and queue_acr_build(cmd, registry_rg, registry_name, image_name, source, dockerfile) + _set_webapp_up_default_args(cmd, resource_group_name, location, name, registry_server) + + dry_run_str = r""" { + "name" : "%s", + "resourcegroup" : "%s", + "location" : "%s", + "environment" : "%s", + "registry": "%s", + "image" : "%s", + "src_path" : "%s" + } + """ % (name, resource_group_name, location, env_name, registry_server, image, _src_path_escaped) + + not dryrun and create_containerapp(cmd=cmd, name=name, resource_group_name=resource_group_name, image=image, managed_env=managed_env, target_port=port, registry_server=registry_server, registry_pass=registry_password, registry_user=registry_username, env_vars=env_vars, ingress=ingress, disable_warnings=True, no_wait=no_wait) + + if dryrun: + logger.warning("Containerapp will be created with the below configuration, re-run command " + "without the --dryrun flag to create & deploy a new containerapp.") + return json.loads(dry_run_str) def get_randomized_name(prefix, name=None, initial="rg"): @@ -2075,7 +2102,7 @@ def get_randomized_name(prefix, name=None, initial="rg"): return default -def _set_webapp_up_default_args(cmd, resource_group_name, location, name, managed_env, registry_server): +def _set_webapp_up_default_args(cmd, resource_group_name, location, name, registry_server): from azure.cli.core.util import ConfiguredDefaultSetter with ConfiguredDefaultSetter(cmd.cli_ctx.config, True): logger.warning("Setting 'az containerapp up' default arguments for current directory. " @@ -2093,8 +2120,8 @@ def _set_webapp_up_default_args(cmd, resource_group_name, location, name, manage cmd.cli_ctx.config.set_value('defaults', 'name', name) logger.warning("--name/-n default: %s", name) - cmd.cli_ctx.config.set_value('defaults', 'managed_env', managed_env) - logger.warning("--environment default: %s", managed_env) + # cmd.cli_ctx.config.set_value('defaults', 'managed_env', managed_env) + # logger.warning("--environment default: %s", managed_env) cmd.cli_ctx.config.set_value('defaults', 'registry_server', registry_server) logger.warning("--registry-server default: %s", registry_server) @@ -2124,7 +2151,7 @@ def _resource_client_factory(cli_ctx, **_): return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES) -def queue_acr_build(cmd, registry_rg, registry_name, img_name, src_dir): +def queue_acr_build(cmd, registry_rg, registry_name, img_name, src_dir, dockerfile="Dockerfile"): import os, uuid, tempfile from azure.cli.command_modules.acr._archive_utils import upload_source_code from azure.cli.command_modules.acr._stream_utils import stream_logs @@ -2140,7 +2167,7 @@ def queue_acr_build(cmd, registry_rg, registry_name, img_name, src_dir): raise CLIError("Source directory should be a local directory path.") - docker_file_path = os.path.join(src_dir, "Dockerfile") + docker_file_path = os.path.join(src_dir, dockerfile) if not os.path.isfile(docker_file_path): raise CLIError("Unable to find '{}'.".format(docker_file_path)) @@ -2197,6 +2224,8 @@ def queue_acr_build(cmd, registry_rg, registry_name, img_name, src_dir): return stream_logs(cmd, client_runs, run_id, registry_name, registry_rg, None, False, True) + # return client_runs.get(registry_rg, registry_name, run_id) # returns only the response object + def _get_acr_cred(cli_ctx, registry_name): from azure.mgmt.containerregistry import ContainerRegistryManagementClient @@ -2235,6 +2264,4 @@ def create_new_acr(cmd, registry_name, resource_group_name, location=None, sku=" zone_redundancy=None, tags=None) # lro_poller = client.begin_create(resource_group_name, registry_name, registry, polling=False) - lro_poller = client._create_initial(resource_group_name, registry_name, registry) - - return lro_poller + return client._create_initial(resource_group_name, registry_name, registry) From 7dae662f92672d723e58ac610502660fb038a5f9 Mon Sep 17 00:00:00 2001 From: Haroon Feisal Date: Fri, 1 Apr 2022 16:48:47 -0400 Subject: [PATCH 29/70] Check if rg exists and create one with name if it doesn't. --- src/containerapp/azext_containerapp/custom.py | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index 34214a94dcf..c65cd7aa0a9 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -1978,7 +1978,17 @@ def containerapp_up(cmd, if not location: location = "eastus2" # check user's default location? find least populated server? - if not resource_group_name: + custom_rg_name = None + # user passes bad resource group name, we create it for them + if resource_group_name: + try: + get_resource_group(cmd, resource_group_name) + except: + custom_rg_name = resource_group_name + resource_group_name = None + + # if custom_rg_name, that means rg doesn't exist no need to look for CA + if not resource_group_name and not custom_rg_name: try: rg_found = False containerapps = list_containerapp(cmd) @@ -2005,7 +2015,7 @@ def containerapp_up(cmd, if not containerapp_def: if not resource_group_name: user = get_profile_username() - rg_name = get_randomized_name(user, resource_group_name) + rg_name = get_randomized_name(user, resource_group_name) if custom_rg_name is None else custom_rg_name not dryrun and logger.warning("Creating new resource group {}".format(rg_name)) not dryrun and create_resource_group(cmd, rg_name, location) resource_group_name = rg_name @@ -2065,7 +2075,7 @@ def containerapp_up(cmd, registry_def = create_new_acr(cmd, registry_name, registry_rg, location) registry_server = registry_def.login_server else: - registry_server = registry_name + "azurecr.io" + registry_server = registry_name + ".azurecr.io" image_name = image if image is not None else name from datetime import datetime @@ -2145,6 +2155,13 @@ def create_resource_group(cmd, rg_name, location): return rcf.resource_groups.create_or_update(rg_name, rg_params) +def get_resource_group(cmd, rg_name): + from azure.cli.core.profiles import ResourceType, get_sdk + rcf = _resource_client_factory(cmd.cli_ctx) + resource_group = get_sdk(cmd.cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, 'ResourceGroup', mod='models') + return rcf.resource_groups.get(rg_name) + + def _resource_client_factory(cli_ctx, **_): from azure.cli.core.commands.client_factory import get_mgmt_service_client from azure.cli.core.profiles import ResourceType From f4cd9d427d8b7ecafe8997cac55079e970dc50e6 Mon Sep 17 00:00:00 2001 From: Saisankar Gochhayat Date: Fri, 1 Apr 2022 18:16:28 -0700 Subject: [PATCH 30/70] Release ArcAppliance 0.2.18 (#4615) * Added ArcAppliance 0.2.18 * Remove ArcAppliance 0.2.15 from index Co-authored-by: Sai Sankar Gochhayat --- src/index.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/index.json b/src/index.json index 23727522f41..470183c84fa 100644 --- a/src/index.json +++ b/src/index.json @@ -6178,8 +6178,8 @@ "sha256Digest": "d700ad923f36ae9b1e50910839fdaeb5941a63abf0e5de6b3d2f6543fcf3821d" }, { - "downloadUrl": "https://arcplatformcliextprod.blob.core.windows.net/arcappliance/arcappliance-0.2.15-py2.py3-none-any.whl", - "filename": "arcappliance-0.2.15-py2.py3-none-any.whl", + "downloadUrl": "https://arcplatformcliextprod.blob.core.windows.net/arcappliance/arcappliance-0.2.16-py2.py3-none-any.whl", + "filename": "arcappliance-0.2.16-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.0.67", @@ -6225,13 +6225,13 @@ } ], "summary": "Microsoft Azure Command-Line Tools Arcappliance Extension", - "version": "0.2.15" + "version": "0.2.16" }, - "sha256Digest": "774c34709e2e76d2c873934c5770e371688cbf89d612de8b332136caef2eef9c" + "sha256Digest": "3f528b71c913ba0daf69fd048211ccf52428a2c8f9f48d39281d3b9fc88c0c06" }, { - "downloadUrl": "https://arcplatformcliextprod.blob.core.windows.net/arcappliance/arcappliance-0.2.16-py2.py3-none-any.whl", - "filename": "arcappliance-0.2.16-py2.py3-none-any.whl", + "downloadUrl": "https://arcplatformcliextprod.blob.core.windows.net/arcappliance/arcappliance-0.2.18-py2.py3-none-any.whl", + "filename": "arcappliance-0.2.18-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.0.67", @@ -6277,9 +6277,9 @@ } ], "summary": "Microsoft Azure Command-Line Tools Arcappliance Extension", - "version": "0.2.16" + "version": "0.2.18" }, - "sha256Digest": "3f528b71c913ba0daf69fd048211ccf52428a2c8f9f48d39281d3b9fc88c0c06" + "sha256Digest": "8d273078acbfad02639d93796e97be93438a4efe962207ea0e319207911bf5aa" } ], "arcdata": [ From b3a3460bdaaead3962b25670c53b2f764dc551f0 Mon Sep 17 00:00:00 2001 From: Yishi Wang Date: Sat, 2 Apr 2022 12:38:47 +0800 Subject: [PATCH 31/70] [db-up] Upgrade pymssql to support Python 3.10 (#4610) * Upgrade psycopg2 * pymssql installation * fix typo * Update src/db-up/HISTORY.rst * Upgrade `pymssql` to support Python 3.10 * Update src/db-up/setup.py * Use `~=` instead of `==` * Update src/db-up/setup.py --- src/db-up/HISTORY.rst | 4 ++++ src/db-up/azext_db_up/custom.py | 2 +- src/db-up/setup.py | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/db-up/HISTORY.rst b/src/db-up/HISTORY.rst index 240d5c5b685..1cba27491a4 100644 --- a/src/db-up/HISTORY.rst +++ b/src/db-up/HISTORY.rst @@ -2,6 +2,10 @@ Release History =============== +0.2.7 (2022-04-02) +++++++++++++++++++ +* Upgrade `pymssql` to support Python 3.10 + 0.2.6 (2021-09-08) ++++++++++++++++++ * `az sql up`: Fix pymssql installation failure with Python 3.8/3.9 diff --git a/src/db-up/azext_db_up/custom.py b/src/db-up/azext_db_up/custom.py index e635d8bf16f..b94abfb1aaa 100644 --- a/src/db-up/azext_db_up/custom.py +++ b/src/db-up/azext_db_up/custom.py @@ -209,7 +209,7 @@ def _ensure_pymssql(): python_path = os.environ.get('PYTHONPATH', '') os.environ['PYTHONPATH'] = python_path + ':' + db_up_ext_path if python_path else db_up_ext_path cmd = [sys.executable, '-m', 'pip', 'install', '--target', db_up_ext_path, - 'pymssql==2.2.2', '-vv', '--disable-pip-version-check', '--no-cache-dir'] + 'pymssql~=2.2.4', '-vv', '--disable-pip-version-check', '--no-cache-dir'] logger.warning(' Installing "pymssql" pip packages') with HomebrewPipPatch(): subprocess.check_output(cmd, stderr=subprocess.STDOUT) diff --git a/src/db-up/setup.py b/src/db-up/setup.py index a55c78b6f40..61851a04a6c 100644 --- a/src/db-up/setup.py +++ b/src/db-up/setup.py @@ -9,7 +9,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.2.6" +VERSION = "0.2.7" CLASSIFIERS = [ 'Development Status :: 4 - Beta', @@ -30,7 +30,7 @@ ] if sys.platform != 'darwin': - DEPENDENCIES.append('pymssql==2.2.2') + DEPENDENCIES.append('pymssql~=2.2.4') setup( name='db-up', From 58cd399fef7c5d1e5658464fda492a7e38506236 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Sat, 2 Apr 2022 13:45:34 +0800 Subject: [PATCH 32/70] [Release] Update index.json for extension [ db-up ] (#4617) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=1478378 Last commit: https://github.com/Azure/azure-cli-extensions/commit/b3a3460bdaaead3962b25670c53b2f764dc551f0 --- src/index.json | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/src/index.json b/src/index.json index 470183c84fa..113d84ae4ba 100644 --- a/src/index.json +++ b/src/index.json @@ -15297,6 +15297,60 @@ "version": "0.2.6" }, "sha256Digest": "d629a42206cc7bc436f8c1595058966fc50ad4d40bd9b818e8ef950d2ca7c205" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/db_up-0.2.7-py2.py3-none-any.whl", + "filename": "db_up-0.2.7-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.46", + "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/tree/main/src/db-up" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "db-up", + "run_requires": [ + { + "requires": [ + "Cython (==0.29.17)", + "mysql-connector-python (==8.0.14)", + "psycopg2-binary (==2.9.1)", + "pymssql (~=2.2.4)" + ] + } + ], + "summary": "Additional commands to simplify Azure Database workflows.", + "version": "0.2.7" + }, + "sha256Digest": "3a3fa10842fbc8fffe5d20bc2fd078e21020f814d22a1e5e67923088d6629837" } ], "deploy-to-azure": [ From 3c23d2b0b3b88b778e7033d2ee90c8c6e06df982 Mon Sep 17 00:00:00 2001 From: kai ru <69238381+kairu-ms@users.noreply.github.com> Date: Sat, 2 Apr 2022 15:17:13 +0800 Subject: [PATCH 33/70] Update CODEOWNERS (#4619) Add @necusjz for some extensions' owner --- .github/CODEOWNERS | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f36de88c52e..f22f81d4624 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -2,7 +2,7 @@ /linter_exclusions.yml @kairu-ms @fengzhou-msft -/src/index.json @fengzhou-msft @qwordy @houk-ms @kairu-ms @jsntcy @Juliehzl @jiasli @zhoxing-ms @evelyn-ys @xfz11 @08nholloway +/src/index.json @fengzhou-msft @qwordy @houk-ms @kairu-ms @jsntcy @Juliehzl @jiasli @zhoxing-ms @evelyn-ys @xfz11 @08nholloway @necusjz /src/footprint/ @jonunezd @Diego-Perez-Botero @@ -32,7 +32,7 @@ /src/edgeorder/ @necusjz -/src/express-route-cross-connection/ @kairu-ms @jsntcy +/src/express-route-cross-connection/ @necusjz @kairu-ms @jsntcy /src/application-insights/ @alexeldeib @@ -46,11 +46,11 @@ /src/resource-graph/ @demyanenko @amirhbk @chiragg4u -/src/azure-firewall/ @kairu-ms @jsntcy +/src/azure-firewall/ @necusjz @kairu-ms @jsntcy -/src/virtual-network-tap/ @kairu-ms @jsntcy +/src/virtual-network-tap/ @necusjz @kairu-ms @jsntcy -/src/virtual-wan/ @kairu-ms @jsntcy +/src/virtual-wan/ @necusjz @kairu-ms @jsntcy /src/front-door/ @pichandwork @@ -62,7 +62,7 @@ /src/netappfiles-preview/ @b-lefr -/src/network-manager/ @kairu-ms @jsntcy +/src/network-manager/ @necusjz @kairu-ms @jsntcy /src/healthcareapis/ @fengzhou-msft @iviark @@ -78,7 +78,7 @@ /src/connectedmachine/ @farehar -/src/ip-group/ @kairu-ms @jsntcy +/src/ip-group/ @necusjz @kairu-ms @jsntcy /src/connectedk8s/ @akashkeshari @alphaWizard From caf8008753b1bcad9316e75b15055e4a22b0c8de Mon Sep 17 00:00:00 2001 From: Mason Chen Date: Sat, 2 Apr 2022 16:38:45 +0800 Subject: [PATCH 34/70] [Spring-cloud] Upgrade min version requirement of azure cli for spring-cloud (#4621) * Upgrade min version requirement of azure cli for spring-cloud * update version and release note --- src/spring-cloud/HISTORY.md | 4 ++++ src/spring-cloud/azext_spring_cloud/azext_metadata.json | 2 +- src/spring-cloud/setup.py | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/spring-cloud/HISTORY.md b/src/spring-cloud/HISTORY.md index 414a7acfda0..0c69a701597 100644 --- a/src/spring-cloud/HISTORY.md +++ b/src/spring-cloud/HISTORY.md @@ -1,5 +1,9 @@ Release History =============== +3.1.1 +--- +* Fix min version requirement for Azure CLI Core. + 3.1.0 --- * Add support for user-assigned managed identity on App (Preview). diff --git a/src/spring-cloud/azext_spring_cloud/azext_metadata.json b/src/spring-cloud/azext_spring_cloud/azext_metadata.json index 619f41e5c75..0056e92ab3f 100644 --- a/src/spring-cloud/azext_spring_cloud/azext_metadata.json +++ b/src/spring-cloud/azext_spring_cloud/azext_metadata.json @@ -1,4 +1,4 @@ { "azext.isPreview": false, - "azext.minCliCoreVersion": "2.25.0" + "azext.minCliCoreVersion": "2.34.1" } \ No newline at end of file diff --git a/src/spring-cloud/setup.py b/src/spring-cloud/setup.py index 1134bea59c9..5f03ae7038d 100644 --- a/src/spring-cloud/setup.py +++ b/src/spring-cloud/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '3.1.0' +VERSION = '3.1.1' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From 8182e72c08ba923105705c6d8d162bd73c4c1abe Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Sat, 2 Apr 2022 16:59:21 +0800 Subject: [PATCH 35/70] [Release] Update index.json for extension [ spring-cloud ] (#4622) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=1478718 Last commit: https://github.com/Azure/azure-cli-extensions/commit/caf8008753b1bcad9316e75b15055e4a22b0c8de --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 113d84ae4ba..65ba7f2b4c4 100644 --- a/src/index.json +++ b/src/index.json @@ -27693,6 +27693,49 @@ "version": "3.1.0" }, "sha256Digest": "a979236cad4f10e12e190c97848495f21dc2d066652366e1a728c0b6db2fb567" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-3.1.1-py3-none-any.whl", + "filename": "spring_cloud-3.1.1-py3-none-any.whl", + "metadata": { + "azext.isPreview": false, + "azext.minCliCoreVersion": "2.34.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/tree/main/src/spring-cloud" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "spring-cloud", + "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", + "version": "3.1.1" + }, + "sha256Digest": "24d37afd816a9b6cbad6e3e0fae2c515ed2f11639cf7944266d128f01e98a0b9" } ], "ssh": [ From b14fafb02cc96159b6608d0a2c29aac53fbad0d3 Mon Sep 17 00:00:00 2001 From: Mason Chen Date: Sat, 2 Apr 2022 18:18:22 +0800 Subject: [PATCH 36/70] [Spring-cloud] Remove 3.1.0 of Spring-Cloud extension from index.json (#4623) --- src/index.json | 43 ------------------------------------------- 1 file changed, 43 deletions(-) diff --git a/src/index.json b/src/index.json index 65ba7f2b4c4..6456f66773b 100644 --- a/src/index.json +++ b/src/index.json @@ -27651,49 +27651,6 @@ }, "sha256Digest": "1142951621ab8ae41759275261cdd0507d11544ba03ad57e02c880e074eabafd" }, - { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-3.1.0-py3-none-any.whl", - "filename": "spring_cloud-3.1.0-py3-none-any.whl", - "metadata": { - "azext.isPreview": false, - "azext.minCliCoreVersion": "2.25.0", - "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/tree/main/src/spring-cloud" - } - } - }, - "generator": "bdist_wheel (0.30.0)", - "license": "MIT", - "metadata_version": "2.0", - "name": "spring-cloud", - "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", - "version": "3.1.0" - }, - "sha256Digest": "a979236cad4f10e12e190c97848495f21dc2d066652366e1a728c0b6db2fb567" - }, { "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-3.1.1-py3-none-any.whl", "filename": "spring_cloud-3.1.1-py3-none-any.whl", From a70efc66dce5f88964f3e5a622a0e7f92ad79af8 Mon Sep 17 00:00:00 2001 From: Hanchi Wang Date: Mon, 4 Apr 2022 10:09:03 -0700 Subject: [PATCH 37/70] Add az ml version 2.2.1 (#4624) --- src/index.json | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/src/index.json b/src/index.json index 6456f66773b..92ac6347ddd 100644 --- a/src/index.json +++ b/src/index.json @@ -22747,6 +22747,60 @@ "version": "2.1.2" }, "sha256Digest": "19845c2b0d3701f5ff9e34162047c0c85f57904e17cdcbdde784ab4c8ac2fc49" + }, + { + "downloadUrl": "https://azuremlsdktestpypi.blob.core.windows.net/wheels/sdk-cli-v2-public/ml-2.2.1-py3-none-any.whl", + "filename": "ml-2.2.1-py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.15.0", + "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/tree/master/src/machinelearningservices" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "ml", + "run_requires": [ + { + "requires": [ + "applicationinsights (<=0.11.10)", + "azure-common (<2.0.0,>=1.1)", + "azure-identity", + "azure-storage-blob (<=12.9.0,>12.0.0b4)", + "azure-storage-file-share (<13.0.0)", + "colorama (<=0.4.4)", + "cryptography (<=3.3.2)", + "docker (>=4.0.0,~=5.0.0)", + "isodate", + "marshmallow (<4.0.0,>=3.5)", + "pathspec (==0.9.*)", + "pydash (<=4.9.0)", + "pyjwt (<=2.3.0)", + "tqdm (<=4.63.0)", + "typing-extensions (<4.0.0,>=3.10)" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools AzureMachineLearningWorkspaces Extension", + "version": "2.2.1" + }, + "sha256Digest": "9e0c11f0d587d5c34969bef3287de5fba3f6fc398541812d2dc4c4db47e24498" } ], "monitor-control-service": [ From d94a36dd54c01318c696f0486abde4a54fbeaf65 Mon Sep 17 00:00:00 2001 From: Haroon Feisal Date: Tue, 5 Apr 2022 15:56:36 -0400 Subject: [PATCH 38/70] Added disable verbose. Moved utils into utils.py. --- src/containerapp/azext_containerapp/_utils.py | 195 +++++++++++++++++- src/containerapp/azext_containerapp/custom.py | 191 +---------------- 2 files changed, 201 insertions(+), 185 deletions(-) diff --git a/src/containerapp/azext_containerapp/_utils.py b/src/containerapp/azext_containerapp/_utils.py index 57e0fd44108..91fb092ad40 100644 --- a/src/containerapp/azext_containerapp/_utils.py +++ b/src/containerapp/azext_containerapp/_utils.py @@ -5,7 +5,6 @@ # pylint: disable=line-too-long, consider-using-f-string, no-else-return, duplicate-string-formatting-argument from urllib.parse import urlparse -from azure.cli.command_modules.appservice.custom import (_get_acr_cred) from azure.cli.core.azclierror import (ValidationError, RequiredArgumentMissingError) from azure.cli.core.commands.client_factory import get_subscription_id from knack.log import get_logger @@ -585,3 +584,197 @@ def _registry_exists(containerapp_def, registry_server): exists = True break return exists + + +def get_randomized_name(prefix, name=None, initial="rg"): + from random import randint + default = "{}_{}_{:04}".format(prefix, initial, randint(0, 9999)) + if name is not None: + return name + return default + + +def _set_webapp_up_default_args(cmd, resource_group_name, location, name, registry_server): + from azure.cli.core.util import ConfiguredDefaultSetter + with ConfiguredDefaultSetter(cmd.cli_ctx.config, True): + logger.warning("Setting 'az containerapp up' default arguments for current directory. " + "Manage defaults with 'az configure --scope local'") + + + cmd.cli_ctx.config.set_value('defaults', 'resource_group_name', resource_group_name) + logger.warning("--resource-group/-g default: %s", resource_group_name) + + + cmd.cli_ctx.config.set_value('defaults', 'location', location) + logger.warning("--location/-l default: %s", location) + + + cmd.cli_ctx.config.set_value('defaults', 'name', name) + logger.warning("--name/-n default: %s", name) + + # cmd.cli_ctx.config.set_value('defaults', 'managed_env', managed_env) + # logger.warning("--environment default: %s", managed_env) + + cmd.cli_ctx.config.set_value('defaults', 'registry_server', registry_server) + logger.warning("--registry-server default: %s", registry_server) + + +def get_profile_username(): + from azure.cli.core._profile import Profile + user = Profile().get_current_account_user() + user = user.split('@', 1)[0] + if len(user.split('#', 1)) > 1: # on cloudShell user is in format live.com#user@domain.com + user = user.split('#', 1)[1] + return user + + +def create_resource_group(cmd, rg_name, location): + from azure.cli.core.profiles import ResourceType, get_sdk + rcf = _resource_client_factory(cmd.cli_ctx) + resource_group = get_sdk(cmd.cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, 'ResourceGroup', mod='models') + rg_params = resource_group(location=location) + return rcf.resource_groups.create_or_update(rg_name, rg_params) + + +def get_resource_group(cmd, rg_name): + from azure.cli.core.profiles import ResourceType, get_sdk + rcf = _resource_client_factory(cmd.cli_ctx) + resource_group = get_sdk(cmd.cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, 'ResourceGroup', mod='models') + return rcf.resource_groups.get(rg_name) + + +def _resource_client_factory(cli_ctx, **_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from azure.cli.core.profiles import ResourceType + return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES) + + +def queue_acr_build(cmd, registry_rg, registry_name, img_name, src_dir, dockerfile="Dockerfile", disable_verbose=False): + import os, uuid, tempfile + from azure.cli.command_modules.acr._archive_utils import upload_source_code + from azure.cli.command_modules.acr._stream_utils import stream_logs + from azure.cli.command_modules.acr._client_factory import cf_acr_registries_tasks + from azure.cli.core.commands import LongRunningOperation + + # client_registries = get_acr_service_client(cmd.cli_ctx).registries + client_registries = cf_acr_registries_tasks(cmd.cli_ctx) + + + if not os.path.isdir(src_dir): + raise CLIError("Source directory should be a local directory path.") + + + docker_file_path = os.path.join(src_dir, dockerfile) + if not os.path.isfile(docker_file_path): + raise CLIError("Unable to find '{}'.".format(docker_file_path)) + + + # NOTE: os.path.basename is unable to parse "\" in the file path + original_docker_file_name = os.path.basename(docker_file_path.replace("\\", "/")) + docker_file_in_tar = '{}_{}'.format(uuid.uuid4().hex, original_docker_file_name) + tar_file_path = os.path.join(tempfile.gettempdir(), 'build_archive_{}.tar.gz'.format(uuid.uuid4().hex)) + + + source_location = upload_source_code(cmd, client_registries, registry_name, registry_rg, src_dir, tar_file_path, docker_file_path, docker_file_in_tar) + + # For local source, the docker file is added separately into tar as the new file name (docker_file_in_tar) + # So we need to update the docker_file_path + docker_file_path = docker_file_in_tar + + + from azure.cli.core.profiles import ResourceType + OS, Architecture = cmd.get_models('OS', 'Architecture', resource_type=ResourceType.MGMT_CONTAINERREGISTRY, operation_group='runs') + # Default platform values + platform_os = OS.linux.value + platform_arch = Architecture.amd64.value + platform_variant = None + + + DockerBuildRequest, PlatformProperties = cmd.get_models('DockerBuildRequest', 'PlatformProperties', + resource_type=ResourceType.MGMT_CONTAINERREGISTRY, operation_group='runs') + docker_build_request = DockerBuildRequest( + image_names=[img_name], + is_push_enabled=True, + source_location=source_location, + platform=PlatformProperties( + os=platform_os, + architecture=platform_arch, + variant=platform_variant + ), + docker_file_path=docker_file_path, + timeout=None, + arguments=[]) + + + queued_build = LongRunningOperation(cmd.cli_ctx)(client_registries.begin_schedule_run( + resource_group_name=registry_rg, + registry_name=registry_name, + run_request=docker_build_request)) + + + run_id = queued_build.run_id + logger.warning("Queued a build with ID: %s", run_id) + not disable_verbose and logger.warning("Waiting for agent...") + + from azure.cli.command_modules.acr._client_factory import (cf_acr_runs) + client_runs = cf_acr_runs(cmd.cli_ctx) + + if disable_verbose: + logger.warning("Waiting for build to finish.") + finished = False + while not finished: + try: + res = client_runs.get(registry_rg, registry_name, run_id) + except: + pass + if res.status != "Running": + if res.status != "Succeeded": + logger.warning("Build failed.") + return res.status + finished = True # doesn't matter can just do while True + logger.warning("Build succeeded.") + return res.status + + return client_runs.get(registry_rg, registry_name, run_id) # returns only the response object + + return stream_logs(cmd, client_runs, run_id, registry_name, registry_rg, None, False, True) + + +def _get_acr_cred(cli_ctx, registry_name): + from azure.mgmt.containerregistry import ContainerRegistryManagementClient + from azure.cli.core.commands.parameters import get_resources_in_subscription + from azure.cli.core.commands.client_factory import get_mgmt_service_client + + client = get_mgmt_service_client(cli_ctx, ContainerRegistryManagementClient).registries + + result = get_resources_in_subscription(cli_ctx, 'Microsoft.ContainerRegistry/registries') + result = [item for item in result if item.name.lower() == registry_name] + if not result or len(result) > 1: + raise ResourceNotFoundError("No resource or more than one were found with name '{}'.".format(registry_name)) + resource_group_name = parse_resource_id(result[0].id)['resource_group'] + + registry = client.get(resource_group_name, registry_name) + + if registry.admin_user_enabled: # pylint: disable=no-member + cred = client.list_credentials(resource_group_name, registry_name) + return cred.username, cred.passwords[0].value, resource_group_name + raise ResourceNotFoundError("Failed to retrieve container registry credentials. Please either provide the " + "credentials or run 'az acr update -n {} --admin-enabled true' to enable " + "admin first.".format(registry_name)) + + +def create_new_acr(cmd, registry_name, resource_group_name, location=None, sku="Basic"): + # from azure.cli.command_modules.acr.custom import acr_create + from azure.cli.command_modules.acr._client_factory import cf_acr_registries + from azure.cli.core.profiles import ResourceType + + + client = cf_acr_registries(cmd.cli_ctx) + # return acr_create(cmd, client, registry_name, resource_group_name, sku, location) + + Registry, Sku, NetworkRuleSet = cmd.get_models('Registry', 'Sku', 'NetworkRuleSet', resource_type=ResourceType.MGMT_CONTAINERREGISTRY, operation_group="registries") + registry = Registry(location=location, sku=Sku(name=sku), admin_user_enabled=True, + zone_redundancy=None, tags=None) + + # lro_poller = client.begin_create(resource_group_name, registry_name, registry, polling=False) + return client._create_initial(resource_group_name, registry_name, registry) diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index c65cd7aa0a9..edb8d0ce0ee 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -47,7 +47,9 @@ _object_to_dict, _add_or_update_secrets, _remove_additional_attributes, _remove_readonly_attributes, _add_or_update_env_vars, _add_or_update_tags, update_nested_dictionary, _update_traffic_weights, _get_app_from_revision, raise_missing_token_suggestion, _infer_acr_credentials, _remove_registry_secret, _remove_secret, - _ensure_identity_resource_id, _remove_dapr_readonly_attributes, _registry_exists, _remove_env_vars, _update_revision_env_secretrefs) + _ensure_identity_resource_id, _remove_dapr_readonly_attributes, _registry_exists, _remove_env_vars, + _update_revision_env_secretrefs, get_randomized_name, _set_webapp_up_default_args, get_profile_username, create_resource_group, + get_resource_group, queue_acr_build, _get_acr_cred, create_new_acr) logger = get_logger(__name__) @@ -1955,6 +1957,7 @@ def containerapp_up(cmd, dryrun=False, logs_customer_id=None, logs_key=None, + disable_verbose=False, no_wait=False): import os, json src_dir = os.getcwd() @@ -2011,7 +2014,7 @@ def containerapp_up(cmd, except: pass - env_name = "" if not managed_env else managed_env.split('/')[8] + env_name = "" if not managed_env else managed_env.split('/')[6] if not containerapp_def: if not resource_group_name: user = get_profile_username() @@ -2082,9 +2085,9 @@ def containerapp_up(cmd, now = datetime.now() image_name += ":{}".format(str(now).replace(' ', '').replace('-','').replace('.','').replace(':','')) image = registry_server + '/' + image_name - not dryrun and queue_acr_build(cmd, registry_rg, registry_name, image_name, source, dockerfile) + not dryrun and queue_acr_build(cmd, registry_rg, registry_name, image_name, source, dockerfile, disable_verbose) _set_webapp_up_default_args(cmd, resource_group_name, location, name, registry_server) - + dry_run_str = r""" { "name" : "%s", "resourcegroup" : "%s", @@ -2102,183 +2105,3 @@ def containerapp_up(cmd, logger.warning("Containerapp will be created with the below configuration, re-run command " "without the --dryrun flag to create & deploy a new containerapp.") return json.loads(dry_run_str) - - -def get_randomized_name(prefix, name=None, initial="rg"): - from random import randint - default = "{}_{}_{:04}".format(prefix, initial, randint(0, 9999)) - if name is not None: - return name - return default - - -def _set_webapp_up_default_args(cmd, resource_group_name, location, name, registry_server): - from azure.cli.core.util import ConfiguredDefaultSetter - with ConfiguredDefaultSetter(cmd.cli_ctx.config, True): - logger.warning("Setting 'az containerapp up' default arguments for current directory. " - "Manage defaults with 'az configure --scope local'") - - - cmd.cli_ctx.config.set_value('defaults', 'resource_group_name', resource_group_name) - logger.warning("--resource-group/-g default: %s", resource_group_name) - - - cmd.cli_ctx.config.set_value('defaults', 'location', location) - logger.warning("--location/-l default: %s", location) - - - cmd.cli_ctx.config.set_value('defaults', 'name', name) - logger.warning("--name/-n default: %s", name) - - # cmd.cli_ctx.config.set_value('defaults', 'managed_env', managed_env) - # logger.warning("--environment default: %s", managed_env) - - cmd.cli_ctx.config.set_value('defaults', 'registry_server', registry_server) - logger.warning("--registry-server default: %s", registry_server) - - - -def get_profile_username(): - from azure.cli.core._profile import Profile - user = Profile().get_current_account_user() - user = user.split('@', 1)[0] - if len(user.split('#', 1)) > 1: # on cloudShell user is in format live.com#user@domain.com - user = user.split('#', 1)[1] - return user - - -def create_resource_group(cmd, rg_name, location): - from azure.cli.core.profiles import ResourceType, get_sdk - rcf = _resource_client_factory(cmd.cli_ctx) - resource_group = get_sdk(cmd.cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, 'ResourceGroup', mod='models') - rg_params = resource_group(location=location) - return rcf.resource_groups.create_or_update(rg_name, rg_params) - - -def get_resource_group(cmd, rg_name): - from azure.cli.core.profiles import ResourceType, get_sdk - rcf = _resource_client_factory(cmd.cli_ctx) - resource_group = get_sdk(cmd.cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, 'ResourceGroup', mod='models') - return rcf.resource_groups.get(rg_name) - - -def _resource_client_factory(cli_ctx, **_): - from azure.cli.core.commands.client_factory import get_mgmt_service_client - from azure.cli.core.profiles import ResourceType - return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES) - - -def queue_acr_build(cmd, registry_rg, registry_name, img_name, src_dir, dockerfile="Dockerfile"): - import os, uuid, tempfile - from azure.cli.command_modules.acr._archive_utils import upload_source_code - from azure.cli.command_modules.acr._stream_utils import stream_logs - from azure.cli.command_modules.acr._client_factory import cf_acr_registries_tasks - - from azure.cli.core.commands import LongRunningOperation - - # client_registries = get_acr_service_client(cmd.cli_ctx).registries - client_registries = cf_acr_registries_tasks(cmd.cli_ctx) - - - if not os.path.isdir(src_dir): - raise CLIError("Source directory should be a local directory path.") - - - docker_file_path = os.path.join(src_dir, dockerfile) - if not os.path.isfile(docker_file_path): - raise CLIError("Unable to find '{}'.".format(docker_file_path)) - - - # NOTE: os.path.basename is unable to parse "\" in the file path - original_docker_file_name = os.path.basename(docker_file_path.replace("\\", "/")) - docker_file_in_tar = '{}_{}'.format(uuid.uuid4().hex, original_docker_file_name) - tar_file_path = os.path.join(tempfile.gettempdir(), 'build_archive_{}.tar.gz'.format(uuid.uuid4().hex)) - - - source_location = upload_source_code(cmd, client_registries, registry_name, registry_rg, src_dir, tar_file_path, docker_file_path, docker_file_in_tar) - - # For local source, the docker file is added separately into tar as the new file name (docker_file_in_tar) - # So we need to update the docker_file_path - docker_file_path = docker_file_in_tar - - - from azure.cli.core.profiles import ResourceType - OS, Architecture = cmd.get_models('OS', 'Architecture', resource_type=ResourceType.MGMT_CONTAINERREGISTRY, operation_group='runs') - # Default platform values - platform_os = OS.linux.value - platform_arch = Architecture.amd64.value - platform_variant = None - - - DockerBuildRequest, PlatformProperties = cmd.get_models('DockerBuildRequest', 'PlatformProperties', - resource_type=ResourceType.MGMT_CONTAINERREGISTRY, operation_group='runs') - docker_build_request = DockerBuildRequest( - image_names=[img_name], - is_push_enabled=True, - source_location=source_location, - platform=PlatformProperties( - os=platform_os, - architecture=platform_arch, - variant=platform_variant - ), - docker_file_path=docker_file_path, - timeout=None, - arguments=[]) - - - queued_build = LongRunningOperation(cmd.cli_ctx)(client_registries.begin_schedule_run( - resource_group_name=registry_rg, - registry_name=registry_name, - run_request=docker_build_request)) - - - run_id = queued_build.run_id - logger.warning("Queued a build with ID: %s", run_id) - logger.warning("Waiting for agent...") - - from azure.cli.command_modules.acr._client_factory import (cf_acr_runs) - client_runs = cf_acr_runs(cmd.cli_ctx) - - return stream_logs(cmd, client_runs, run_id, registry_name, registry_rg, None, False, True) - - # return client_runs.get(registry_rg, registry_name, run_id) # returns only the response object - - -def _get_acr_cred(cli_ctx, registry_name): - from azure.mgmt.containerregistry import ContainerRegistryManagementClient - from azure.cli.core.commands.parameters import get_resources_in_subscription - from azure.cli.core.commands.client_factory import get_mgmt_service_client - - client = get_mgmt_service_client(cli_ctx, ContainerRegistryManagementClient).registries - - result = get_resources_in_subscription(cli_ctx, 'Microsoft.ContainerRegistry/registries') - result = [item for item in result if item.name.lower() == registry_name] - if not result or len(result) > 1: - raise ResourceNotFoundError("No resource or more than one were found with name '{}'.".format(registry_name)) - resource_group_name = parse_resource_id(result[0].id)['resource_group'] - - registry = client.get(resource_group_name, registry_name) - - if registry.admin_user_enabled: # pylint: disable=no-member - cred = client.list_credentials(resource_group_name, registry_name) - return cred.username, cred.passwords[0].value, resource_group_name - raise ResourceNotFoundError("Failed to retrieve container registry credentials. Please either provide the " - "credentials or run 'az acr update -n {} --admin-enabled true' to enable " - "admin first.".format(registry_name)) - - -def create_new_acr(cmd, registry_name, resource_group_name, location=None, sku="Basic"): - # from azure.cli.command_modules.acr.custom import acr_create - from azure.cli.command_modules.acr._client_factory import cf_acr_registries - from azure.cli.core.profiles import ResourceType - - - client = cf_acr_registries(cmd.cli_ctx) - # return acr_create(cmd, client, registry_name, resource_group_name, sku, location) - - Registry, Sku, NetworkRuleSet = cmd.get_models('Registry', 'Sku', 'NetworkRuleSet', resource_type=ResourceType.MGMT_CONTAINERREGISTRY, operation_group="registries") - registry = Registry(location=location, sku=Sku(name=sku), admin_user_enabled=True, - zone_redundancy=None, tags=None) - - # lro_poller = client.begin_create(resource_group_name, registry_name, registry, polling=False) - return client._create_initial(resource_group_name, registry_name, registry) From dadc70261e3f401297207062a30c79359fa209fa Mon Sep 17 00:00:00 2001 From: Haroon Feisal Date: Tue, 5 Apr 2022 17:08:53 -0400 Subject: [PATCH 39/70] Disable verbose now uses sdk poller so it gives running animation. --- .../azext_containerapp/_acr_run_polling.py | 111 ++++++++++++++++++ .../azext_containerapp/_params.py | 2 +- src/containerapp/azext_containerapp/_utils.py | 42 +++---- 3 files changed, 128 insertions(+), 27 deletions(-) create mode 100644 src/containerapp/azext_containerapp/_acr_run_polling.py diff --git a/src/containerapp/azext_containerapp/_acr_run_polling.py b/src/containerapp/azext_containerapp/_acr_run_polling.py new file mode 100644 index 00000000000..1ea21228617 --- /dev/null +++ b/src/containerapp/azext_containerapp/_acr_run_polling.py @@ -0,0 +1,111 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import time + +from azure.core.polling import PollingMethod, LROPoller +from msrest import Deserializer +from msrestazure.azure_exceptions import CloudError +from azure.cli.core.profiles import ResourceType +from azure.cli.command_modules.acr._constants import get_acr_task_models + + +def get_run_with_polling(cmd, + client, + run_id, + registry_name, + resource_group_name): + deserializer = Deserializer( + {k: v for k, v in get_acr_task_models(cmd).__dict__.items() if isinstance(v, type)}) + + def deserialize_run(response): + return deserializer('Run', response) + + return LROPoller( + client=client, + initial_response=client.get( + resource_group_name, registry_name, run_id, cls=lambda x, y, z: x), + deserialization_callback=deserialize_run, + polling_method=RunPolling( + cmd=cmd, + registry_name=registry_name, + run_id=run_id + )) + + +class RunPolling(PollingMethod): # pylint: disable=too-many-instance-attributes + + def __init__(self, cmd, registry_name, run_id, timeout=30): + self._cmd = cmd + self._registry_name = registry_name + self._run_id = run_id + self._timeout = timeout + self._client = None + self._response = None # Will hold latest received response + self._url = None # The URL used to get the run + self._deserialize = None # The deserializer for Run + self.operation_status = "" + self.operation_result = None + + def initialize(self, client, initial_response, deserialization_callback): + self._client = client._client # pylint: disable=protected-access + self._response = initial_response + self._url = initial_response.http_request.url + self._deserialize = deserialization_callback + + self._set_operation_status(initial_response) + + def run(self): + while not self.finished(): + time.sleep(self._timeout) + self._update_status() + + if self.operation_status not in get_succeeded_run_status(self._cmd): + from knack.util import CLIError + raise CLIError("The run with ID '{}' finished with unsuccessful status '{}'. " + "Show run details by 'az acr task show-run -r {} --run-id {}'. " + "Show run logs by 'az acr task logs -r {} --run-id {}'.".format( + self._run_id, + self.operation_status, + self._registry_name, + self._run_id, + self._registry_name, + self._run_id + )) + + def status(self): + return self.operation_status + + def finished(self): + return self.operation_status in get_finished_run_status(self._cmd) + + def resource(self): + return self.operation_result + + def _set_operation_status(self, response): + if response.http_response.status_code == 200: + self.operation_result = self._deserialize(response) + self.operation_status = self.operation_result.status + return + raise CloudError(response) + + def _update_status(self): + self._response = self._client._pipeline.run( # pylint: disable=protected-access + self._client.get(self._url), stream=False) + self._set_operation_status(self._response) + + +def get_succeeded_run_status(cmd): + RunStatus = cmd.get_models('RunStatus', resource_type=ResourceType.MGMT_CONTAINERREGISTRY, operation_group='task_runs') + return [RunStatus.succeeded.value] + + +def get_finished_run_status(cmd): + RunStatus = cmd.get_models('RunStatus', resource_type=ResourceType.MGMT_CONTAINERREGISTRY, operation_group='task_runs') + return [RunStatus.succeeded.value, + RunStatus.failed.value, + RunStatus.canceled.value, + RunStatus.error.value, + RunStatus.timeout.value] diff --git a/src/containerapp/azext_containerapp/_params.py b/src/containerapp/azext_containerapp/_params.py index 24fece9d6a6..26d7638228a 100644 --- a/src/containerapp/azext_containerapp/_params.py +++ b/src/containerapp/azext_containerapp/_params.py @@ -182,4 +182,4 @@ def load_arguments(self, _): c.argument('location', configured_default='location') c.argument('name', configured_default='name') c.argument('managed_env', configured_default='managed_env') - c.argument('registry_server', configured_default='registry_server') \ No newline at end of file + c.argument('registry_server', configured_default='registry_server') diff --git a/src/containerapp/azext_containerapp/_utils.py b/src/containerapp/azext_containerapp/_utils.py index 91fb092ad40..c65584b0527 100644 --- a/src/containerapp/azext_containerapp/_utils.py +++ b/src/containerapp/azext_containerapp/_utils.py @@ -637,9 +637,7 @@ def create_resource_group(cmd, rg_name, location): def get_resource_group(cmd, rg_name): - from azure.cli.core.profiles import ResourceType, get_sdk rcf = _resource_client_factory(cmd.cli_ctx) - resource_group = get_sdk(cmd.cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, 'ResourceGroup', mod='models') return rcf.resource_groups.get(rg_name) @@ -650,7 +648,9 @@ def _resource_client_factory(cli_ctx, **_): def queue_acr_build(cmd, registry_rg, registry_name, img_name, src_dir, dockerfile="Dockerfile", disable_verbose=False): - import os, uuid, tempfile + import os + import uuid + import tempfile from azure.cli.command_modules.acr._archive_utils import upload_source_code from azure.cli.command_modules.acr._stream_utils import stream_logs from azure.cli.command_modules.acr._client_factory import cf_acr_registries_tasks @@ -661,12 +661,12 @@ def queue_acr_build(cmd, registry_rg, registry_name, img_name, src_dir, dockerfi if not os.path.isdir(src_dir): - raise CLIError("Source directory should be a local directory path.") + raise ValidationError("Source directory should be a local directory path.") docker_file_path = os.path.join(src_dir, dockerfile) if not os.path.isfile(docker_file_path): - raise CLIError("Unable to find '{}'.".format(docker_file_path)) + raise ValidationError("Unable to find '{}'.".format(docker_file_path)) # NOTE: os.path.basename is unable to parse "\" in the file path @@ -717,25 +717,14 @@ def queue_acr_build(cmd, registry_rg, registry_name, img_name, src_dir, dockerfi not disable_verbose and logger.warning("Waiting for agent...") from azure.cli.command_modules.acr._client_factory import (cf_acr_runs) + from ._acr_run_polling import get_run_with_polling client_runs = cf_acr_runs(cmd.cli_ctx) if disable_verbose: - logger.warning("Waiting for build to finish.") - finished = False - while not finished: - try: - res = client_runs.get(registry_rg, registry_name, run_id) - except: - pass - if res.status != "Running": - if res.status != "Succeeded": - logger.warning("Build failed.") - return res.status - finished = True # doesn't matter can just do while True - logger.warning("Build succeeded.") - return res.status - - return client_runs.get(registry_rg, registry_name, run_id) # returns only the response object + lro_poller = get_run_with_polling(cmd, client_runs, run_id, registry_name, registry_rg) + acr = LongRunningOperation(cmd.cli_ctx)(lro_poller) + logger.warning("Build {}.".format(acr.status.lower())) + return acr return stream_logs(cmd, client_runs, run_id, registry_name, registry_rg, None, False, True) @@ -767,14 +756,15 @@ def create_new_acr(cmd, registry_name, resource_group_name, location=None, sku=" # from azure.cli.command_modules.acr.custom import acr_create from azure.cli.command_modules.acr._client_factory import cf_acr_registries from azure.cli.core.profiles import ResourceType - + from azure.cli.core.commands import LongRunningOperation client = cf_acr_registries(cmd.cli_ctx) # return acr_create(cmd, client, registry_name, resource_group_name, sku, location) - - Registry, Sku, NetworkRuleSet = cmd.get_models('Registry', 'Sku', 'NetworkRuleSet', resource_type=ResourceType.MGMT_CONTAINERREGISTRY, operation_group="registries") + + Registry, Sku = cmd.get_models('Registry', 'Sku', resource_type=ResourceType.MGMT_CONTAINERREGISTRY, operation_group="registries") registry = Registry(location=location, sku=Sku(name=sku), admin_user_enabled=True, zone_redundancy=None, tags=None) - # lro_poller = client.begin_create(resource_group_name, registry_name, registry, polling=False) - return client._create_initial(resource_group_name, registry_name, registry) + lro_poller = client.begin_create(resource_group_name, registry_name, registry) + acr = LongRunningOperation(cmd.cli_ctx)(lro_poller) + return acr From 4aaa82b4b30348abf28dc10d443e2d294e594642 Mon Sep 17 00:00:00 2001 From: Mason Chen Date: Wed, 6 Apr 2022 16:16:54 +0800 Subject: [PATCH 40/70] [Spring-cloud] Find min version requirement of Azure CLI (#4626) --- src/spring-cloud/HISTORY.md | 7 ++++--- src/spring-cloud/azext_spring_cloud/azext_metadata.json | 2 +- src/spring-cloud/setup.py | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/spring-cloud/HISTORY.md b/src/spring-cloud/HISTORY.md index 0c69a701597..f47a6130974 100644 --- a/src/spring-cloud/HISTORY.md +++ b/src/spring-cloud/HISTORY.md @@ -1,11 +1,12 @@ Release History =============== -3.1.1 +3.1.2 --- -* Fix min version requirement for Azure CLI Core. +* Find min version requirement for Azure CLI Core. -3.1.0 +3.1.1 --- +* Fix min version requirement for Azure CLI Core. * Add support for user-assigned managed identity on App (Preview). 3.0.1 diff --git a/src/spring-cloud/azext_spring_cloud/azext_metadata.json b/src/spring-cloud/azext_spring_cloud/azext_metadata.json index 0056e92ab3f..afce12cdd37 100644 --- a/src/spring-cloud/azext_spring_cloud/azext_metadata.json +++ b/src/spring-cloud/azext_spring_cloud/azext_metadata.json @@ -1,4 +1,4 @@ { "azext.isPreview": false, - "azext.minCliCoreVersion": "2.34.1" + "azext.minCliCoreVersion": "2.30.0" } \ No newline at end of file diff --git a/src/spring-cloud/setup.py b/src/spring-cloud/setup.py index 5f03ae7038d..92f2acf8702 100644 --- a/src/spring-cloud/setup.py +++ b/src/spring-cloud/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '3.1.1' +VERSION = '3.1.2' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From da4fd3588c9abffa1070daadb8c4c1c934b35008 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Wed, 6 Apr 2022 17:01:29 +0800 Subject: [PATCH 41/70] [Release] Update index.json for extension [ spring-cloud ] (#4636) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=1485340 Last commit: https://github.com/Azure/azure-cli-extensions/commit/4aaa82b4b30348abf28dc10d443e2d294e594642 --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 92ac6347ddd..d6c7d31faee 100644 --- a/src/index.json +++ b/src/index.json @@ -27747,6 +27747,49 @@ "version": "3.1.1" }, "sha256Digest": "24d37afd816a9b6cbad6e3e0fae2c515ed2f11639cf7944266d128f01e98a0b9" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-3.1.2-py3-none-any.whl", + "filename": "spring_cloud-3.1.2-py3-none-any.whl", + "metadata": { + "azext.isPreview": false, + "azext.minCliCoreVersion": "2.30.0", + "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/tree/main/src/spring-cloud" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "spring-cloud", + "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", + "version": "3.1.2" + }, + "sha256Digest": "f30828da4055c5cb4e88e981a6f883c304fafea747ecac46e92f2b65a04e1dc8" } ], "ssh": [ From 815d196631011ed2e8fc7f59430345356d4beca9 Mon Sep 17 00:00:00 2001 From: Qingqing Date: Wed, 6 Apr 2022 02:03:33 -0700 Subject: [PATCH 42/70] add mc snapshot command and change nodepool snapshot (#4594) * add mc snapshot command and change nodepool snapshot * make change consist with official cli * update history.md --- src/aks-preview/HISTORY.md | 149 + .../azext_aks_preview/_client_factory.py | 12 +- src/aks-preview/azext_aks_preview/_format.py | 41 +- src/aks-preview/azext_aks_preview/_help.py | 61 +- src/aks-preview/azext_aks_preview/_params.py | 43 +- .../azext_aks_preview/_validators.py | 119 +- src/aks-preview/azext_aks_preview/commands.py | 53 +- src/aks-preview/azext_aks_preview/custom.py | 153 +- .../test_aks_nodepool_snapshot.yaml | 3932 +++++++++++++++++ .../latest/recordings/test_aks_snapshot.yaml | 3538 ++------------- .../tests/latest/test_aks_commands.py | 302 +- src/aks-preview/setup.py | 2 +- 12 files changed, 4927 insertions(+), 3478 deletions(-) create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_snapshot.yaml diff --git a/src/aks-preview/HISTORY.md b/src/aks-preview/HISTORY.md index 725e495c9e7..644464b10f1 100644 --- a/src/aks-preview/HISTORY.md +++ b/src/aks-preview/HISTORY.md @@ -3,30 +3,53 @@ Release History =============== +0.5.59 +++++++ + +* Add support for managed cluster snapshot commands and modify current nodepool snapshot commands. +* It is breaking change for nodepool snapshot commands, `az aks nodepool snapshot` will be the command +to managed nodepool snapshot. `az aks snapshot` is used for managed cluster snapshot. +for managed cluster snapshot, it will be + * `az aks snapshot create` + * `az aks snapshot delete` + * `az aks snapshot list` + * `az aks snapshot show` +for nodepool snapshot, it will be + * `az aks nodepool snapshot create` + * `az aks nodepool snapshot delete` + * `az aks nodepool snapshot list` + * `az aks nodepool snapshot show` + 0.5.58 ++++++ + * Add support for enabling Azure KeyVault KMS with `--enable-azure-keyvault-kms` flag. 0.5.57 ++++++ + * Add support for updating HTTP proxy configuration via `az aks update --http-proxy-config file.json` 0.5.56 ++++++ + * Add `--message-of-the-day` flag for `az aks create` and `az aks nodepool add` for Linux message of the day. 0.5.55 ++++++ + * Add option `none` to `--network-plugin` parameter to skip CNI installation during cluster creation. 0.5.54 ++++++ + * Add --host-group-id to `az aks create` and `az aks nodepool add` commands to support Azure Dedicated Host Group, which requires registering the feature flag "Microsoft.ContainerService/DedicatedHostGroupPreview" * `az aks create --host-group-id` * `az aks nodepool add --host-group-id` 0.5.53 ++++++ + * Add support for cluster creating with Capacity Reservation Group. * `az aks create --crg-id` * Add support for nodepool adding with Capacity Reservation Group. @@ -34,6 +57,7 @@ Release History 0.5.52 ++++++ + * Add yaml template files to package data to fix issue [#148](https://github.com/Azure/aks-periscope/issues/148). * Add support for using empty string to remove existing nodepool label by `az aks update --nodepool-labels` or `az aks nodepool update --labels`. * Add support for using empty string to remove existing node taints by `az nodepool update --node-taints`. @@ -42,51 +66,63 @@ Release History 0.5.51 ++++++ + * Add currentKubernetesVersion column for az aks show --output table. 0.5.50 ++++++ + * Add support for enabling OIDC issuer with `--enable-oidc-issuer` flag. 0.5.49 ++++++ + * Add support for Alias Minor Version. 0.5.48 ++++++ + * Fix aks update issue with load balancer profile defaults being set when CLI arguments only include outbound IPs or outbound prefixes 0.5.47 ++++++ + * Add support for IPv4/IPv6 dual-stack networking AKS clusters * `az aks create --pod-cidrs --service-cidrs --ip-families --load-balancer-managed-outbound-ipv6-count` 0.5.46 ++++++ + * Update to use 2021-10-01 api-version 0.5.45 ++++++ + * Remove the snapshot name trimming in `az aks snapshot create` command. 0.5.44 ++++++ + * In AKS Monitoring addon, fix DCR resource naming convention from DCR- to MSCI- to make consistent naming across. 0.5.43 ++++++ + * Enable the new implementation in command `aks create`, and change the dependent cli version to at least 2.30.0 0.5.42 ++++++ + * Fix default value behavior for pod identity exception pod labels in upgrade/scale calls. 0.5.41 ++++++ + * Fix default value behavior for pod identity exception pod labels. 0.5.40 +++++ + * Add support for new snapshot commands * `az aks snapshot create` * `az aks snapshot delete` @@ -99,32 +135,39 @@ Release History 0.5.39 +++++ + * Add commands for agentpool start stop feature 0.5.38 +++++ + * Add parameter `--rotation-poll-interval` for Azure Keyvault Secrets Provider Addon. 0.5.37 +++++ + * Add Windows gMSA v2 support. Add parameters `--enable-windows-gmsa`, `--gmsa-dns-server` and `--gmsa-root-domain-name` 0.5.36 +++++ + * Update to use 2021-09-01 api-version 0.5.35 +++++ + * Add support for multi-instance GPU configuration (`--gpu_instance_profile`) in `az aks create` and `az aks nodepool add`. 0.5.34 +++++ + * Add support for WASM nodepools (`--workload-runtime WasmWasi`) in `az aks create` and `az aks nodepool add` 0.5.33 +++++ + * Add support for new addon commands * `az aks addon list` * `az aks addon list-available` @@ -136,100 +179,123 @@ and `az aks nodepool add` 0.5.32 +++++ + * Update to use 2021-08-01 api-version 0.5.31 +++++ + * Add support for new outbound types: 'managedNATGateway' and 'userAssignedNATGateway' 0.5.30 +++++ + * Add preview support for setting scaleDownMode field on nodepools. Requires registering the feature flag "Microsoft.ContainerService/AKS-ScaleDownModePreview" for setting the value to "Deallocate". 0.5.29 +++++ + * Fix update (failed due to "ERROR: (BadRequest) Feature Microsoft.ContainerService/AutoUpgradePreview is not enabled" even when autoupgrade was not specified) * Add podMaxPids argument for kubelet-config 0.5.28 +++++ + * Update to adopt 2021-07-01 api-version 0.5.27 +++++ + * GA private cluster public FQDN feature, breaking change to replace create parameter `--enable-public-fqdn` with `--disable-public-fqdn` since now it's enabled by default for private cluster during cluster creation. 0.5.26 +++++ + * Correct containerLogMaxSizeMb to containerLogMaxSizeMB in customized kubelet config 0.5.25 +++++ + * Add support for http proxy 0.5.24 +++++ + * * Add "--aks-custom-headers" for "az aks nodepool upgrade" 0.5.23 +++++ + * Fix issue that `maintenanceconfiguration add` subcommand cannot work 0.5.22 +++++ + * Fix issue in dcr template 0.5.21 +++++ + * Fix issue when disable monitoring on an AKS cluster would fail in regions where Data Collection Rules are not enabled 0.5.20 +++++ + * Support enabling monitoring on AKS clusters with msi auth * Add `--enable-msi-auth-for-monitoring` option in aks create and aks enable-addons 0.5.19 +++++ + * Remove azure-defender from list of available addons to install via `az aks enable-addons` command 0.5.18 +++++ + * Fix issue with node config not consuming logging settings 0.5.17 +++++ + * Add parameter '--enable-ultra-ssd' to enable UltraSSD on agent node pool 0.5.16 +++++ + * Vendor SDK using latest swagger with optional query parameter added * Support private cluster public fqdn feature 0.5.15 +++++ + * Update to use 2021-05-01 api-version 0.5.14 +++++ + * Add os-sku argument for cluster and nodepool creation 0.5.13 +++++ + * Add compatible logic for the track 2 migration of resource dependence 0.5.12 +++++ + * Add --enable-azure-rbac and --disable-azure-rbac in aks update * Support disabling local accounts * Add addon `azure-defender` to list of available addons under `az aks enable-addons` command 0.5.11 +++++ + * Add get OS options support * Fix wrong behavior when enabling pod identity addon for cluster with addon enabled 0.5.10 +++++ + * Add `--binding-selector` to AAD pod identity add sub command * Support using custom kubelet identity * Support updating Windows password @@ -237,97 +303,118 @@ and `az aks nodepool add` 0.5.9 +++++ + * Display result better for `az aks command invoke`, while still honor output option * Fix the bug that checking the addon profile whether it exists 0.5.8 +++++ + * Update to use 2021-03-01 api-version 0.5.7 +++++ + * Add command invoke for run-command feature 0.5.6 +++++ + * Fix issue that assigning identity in another subscription will fail 0.5.5 +++++ + * Add support for Azure KeyVault Secrets Provider as an AKS addon 0.5.4 +++++ + * Add operations of maintenance configuration 0.5.3 +++++ + * Add `--enable-pod-identity-with-kubenet` for enabling AAD Pod Identity in Kubenet cluster * Add `--fqdn-subdomain parameter` to create private cluster with custom private dns zone scenario 0.5.2 +++++ + * Add support for node public IP prefix ID '--node-public-ip-prefix-id' 0.5.1 +++++ + * Update to use 2021-02-01 api-version 0.5.0 +++++ + * Modify addon confcom behavior to only enable SGX device plugin by default. * Introducte argument '--enable-sgx-quotehelper' * Breaking Change: remove argument '--diable-sgx-quotehelper'. 0.4.73 +++++ + * Update to use 2020-12-01 api-version * Add argument '--enable-encryption-at-host' 0.4.72 ++++++ + * Add --no-uptime-sla * Create MSI clusters by default. 0.4.71 ++++++ + * Add support using custom private dns zone resource id for parameter '--private-dns-zone' 0.4.70 ++++++ + * Revert to use CLIError to be compatible with azure cli versions < 2.15.0 0.4.69 +++++ + * Add argument 'subnetCIDR' to replace 'subnetPrefix' when using ingress-azure addon. 0.4.68 +++++ + * Add support for AAD Pod Identity resources configuration in Azure CLI. 0.4.67 +++++ + * Add support for node configuration when creating cluster or agent pool. * Support private DNS zone for AKS private cluster. 0.4.66 +++++ + * Add support for GitOps as an AKS addon * Update standard load balancer (SLB) max idle timeout from 120 to 100 minutes 0.4.65 +++++ + * Honor addon names defined in Azure CLI * Add LicenseType support for Windows * Remove patterns for adminUsername and adminPassword in WindowsProfile 0.4.64 +++++ + * Add support for Open Service Mesh as an AKS addon * Add support to get available upgrade versions for an agent pool in AKS 0.4.63 +++++ + * Enable the September (2020-09-01) for use with the AKS commands * Support Start/Stop cluster feature in preview * Support ephemeral OS functionality @@ -337,52 +424,64 @@ and `az aks nodepool add` 0.4.62 +++++ + * Add support for enable/disable confcom (sgx) addon. 0.4.61 +++++ + * Fix AGIC typo and remove preview label from VN #2141 * Set network profile when using basic load balancer. #2137 * Fix bug that compare float number with 0 #2213 0.4.60 +++++ + * Fix regression due to a change in the azure-mgmt-resource APIs in CLI 2.10.0 0.4.59 +++++ + * Support bring-your-own VNET scenario for MSI clusters which use user assigned identity in control plane. 0.4.58 +++++ + * Added clearer error message for invalid addon names 0.4.57 +++++ + * Support "--assign-identity" for specifying an existing user assigned identity for control plane's usage in MSI clusters. 0.4.56 +++++ + * Support "--enable-aad" for "az aks update" to update an existing RBAC-enabled non-AAD cluster to the new AKS-managed AAD experience 0.4.55 +++++ + * Add "--enable-azure-rbac" for enabling Azure RBAC for Kubernetes authorization 0.4.54 +++++ + * Support "--enable-aad" for "az aks update" to update an existing AAD-Integrated cluster to the new AKS-managed AAD experience 0.4.53 +++++ + * Add --ppg for "az aks create" and "az aks nodepool add" 0.4.52 +++++ + * Add --uptime-sla for az aks update 0.4.51 +++++ + * Remove --appgw-shared flag from AGIC addon * Handle role assignments for AGIC addon post-cluster creation * Support --yes for "az aks upgrade" @@ -390,70 +489,87 @@ and `az aks nodepool add` 0.4.50 +++++ + * Add "--max-surge" for az aks nodepool add/update/upgrade 0.4.49 +++++ + * Fix break in get-versions since container service needs to stay on old api. 0.4.48 +++++ + * Fix issues of storage account name for az aks kollect 0.4.47 +++++ + * Add "--node-image-only" for "az aks nodepool upgrade" and "az aks upgrade"". 0.4.46 +++++ + * Fix issues for az aks kollect on private clusters 0.4.45 +++++ + * Add "--aks-custom-headers" for "az aks nodepool add" and "az aks update" 0.4.44 +++++ + * Fix issues with monitoring addon enabling with CLI versions 2.4.0+ 0.4.43 +++++ + * Add support for VMSS node public IP. 0.4.38 +++++ + * Add support for AAD V2. 0.4.37 +++++ + * Added slb outbound ip fix 0.4.36 +++++ + * Added --uptime-sla for paid service 0.4.35 +++++ + * Added support for creation time node labels 0.4.34 +++++ + * Remove preview flag for private cluster feature. 0.4.33 +++++ + * Adding az aks get-credentials --context argument 0.4.32 +++++ + * Adding support for user assigned msi for monitoring addon. 0.4.31 +++++ + * Fixed a regular agent pool creation bug. 0.4.30 +++++ + * Remove "Low" option from --priority * Add "Spot" option to --priority * Add float value option "--spot-max-price" for Spot Pool @@ -461,73 +577,89 @@ and `az aks nodepool add` 0.4.29 +++++ + * Add option '--nodepool-tags for create cluster' * Add option '--tags' for add or update node pool 0.4.28 +++++ + * Add option '--outbound-type' for create * Add options '--load-balancer-outbound-ports' and '--load-balancer-idle-timeout' for create and update 0.4.27 +++++ + * Fixed aks cluster creation error 0.4.26 +++++ + * Update to use 2020-01-01 api-version * Support cluster creation with server side encryption using customer managed key 0.4.25 +++++ + * List credentials for different users via parameter `--user` 0.4.24 +++++ + * added custom header support 0.4.23 +++++ + * Enable GA support of apiserver authorized IP ranges via parameter `--api-server-authorized-ip-ranges` in `az aks create` and `az aks update` 0.4.21 +++++ + * Support cluster certificate rotation operation using `az aks rotate-certs` * Add support for `az aks kanalyze` 0.4.20 +++++ + * Add commands '--zones' and '-z' for availability zones in aks 0.4.19 +++++ + * Refactor and remove a custom way of getting subscriptions 0.4.18 +++++ + * Update to use 2019-10-01 api-version 0.4.17 +++++ + * Add support for public IP per node during node pool creation * Add support for taints during node pool creation * Add support for low priority node pool 0.4.16 +++++ + * Add support for `az aks kollect` * Add support for `az aks upgrade --control-plane-only` 0.4.15 +++++ + * Set default cluster creation to SLB and VMSS 0.4.14 +++++ + * Add support for using managed identity to manage cluster resource group 0.4.13 ++++++ + * Rename a few options for ACR integration, which includes * Rename `--attach-acr ` in `az aks create` command, which allows for attach the ACR to AKS cluster. * Rename `--attach-acr ` and `--detach-acr ` in `az aks update` command, which allows to attach or detach the ACR from AKS cluster. @@ -535,80 +667,97 @@ and `az aks nodepool add` 0.4.12 +++++ + * Bring back "enable-vmss" flag for backward compatibility * Revert "Set default availability type to VMSS" for backward compatibility * Revert "Set default load balancer SKU to Standard" for backward compatibility 0.4.11 +++++ + * Add support for load-balancer-profile * Set default availability type to VMSS * Set default load balancer SKU to Standard 0.4.10 +++++ + * Add support for `az aks update --disable-acr --acr ` 0.4.9 +++++ + * Use https if dashboard container port is using https 0.4.8 +++++ + * Add update support for `--enable-acr` together with `--acr ` * Merge `az aks create --acr-name` into `az aks create --acr ` 0.4.7 +++++ + * Add support for `--enable-acr` and `--acr-name` 0.4.4 +++++ + * Add support for per node pool auto scaler settings. * Add `az aks nodepool update` to allow users to change auto scaler settings per node pool. * Add support for Standard sku load balancer. 0.4.1 +++++ + * Add `az aks get-versions -l location` to allow users to see all managed cluster versions. * Add `az aks get-upgrades` to get all available versions to upgrade. * Add '(preview)' suffix if kubernetes version is preview when using `get-versions` and `get-upgrades` 0.4.0 +++++ + * Add support for Azure policy add-on. 0.3.2 +++++ + * Add support of customizing node resource group 0.3.1 +++++ + * Add support of pod security policy. 0.3.0 +++++ + * Add support of feature `--node-zones` 0.2.3 +++++ + * `az aks create/scale --nodepool-name` configures nodepool name, truncated to 12 characters, default - nodepool1 * Don't require --nodepool-name in "az aks scale" if there's only one nodepool 0.2.2 +++++ + * Add support of Network Policy when creating new AKS clusters 0.2.1 +++++ + * add support of apiserver authorized IP ranges 0.2.0 +++++ + * Breaking Change: Set default agentType to VMAS * opt-in VMSS by --enable-VMSS when creating AKS 0.1.0 +++++ + * new feature `enable-cluster-autoscaler` * default agentType is VMSS diff --git a/src/aks-preview/azext_aks_preview/_client_factory.py b/src/aks-preview/azext_aks_preview/_client_factory.py index fb7ce2f65b2..6eb8fe35d44 100644 --- a/src/aks-preview/azext_aks_preview/_client_factory.py +++ b/src/aks-preview/azext_aks_preview/_client_factory.py @@ -38,11 +38,19 @@ def cf_agent_pools(cli_ctx, *_): return get_mgmt_service_client(cli_ctx, CUSTOM_MGMT_AKS_PREVIEW).agent_pools -def cf_snapshots_client(cli_ctx, subscription_id=None): +def cf_mc_snapshots_client(cli_ctx, subscription_id=None): + return get_mgmt_service_client(cli_ctx, CUSTOM_MGMT_AKS_PREVIEW, subscription_id=subscription_id).managed_cluster_snapshots + + +def cf_mc_snapshots(cli_ctx, *_): + return get_mgmt_service_client(cli_ctx, CUSTOM_MGMT_AKS_PREVIEW).managed_cluster_snapshots + + +def cf_nodepool_snapshots_client(cli_ctx, subscription_id=None): return get_mgmt_service_client(cli_ctx, CUSTOM_MGMT_AKS_PREVIEW, subscription_id=subscription_id).snapshots -def cf_snapshots(cli_ctx, *_): +def cf_nodepool_snapshots(cli_ctx, *_): return get_mgmt_service_client(cli_ctx, CUSTOM_MGMT_AKS_PREVIEW).snapshots diff --git a/src/aks-preview/azext_aks_preview/_format.py b/src/aks-preview/azext_aks_preview/_format.py index e0bd12428f3..88957cbfdbd 100644 --- a/src/aks-preview/azext_aks_preview/_format.py +++ b/src/aks-preview/azext_aks_preview/_format.py @@ -217,17 +217,17 @@ def aks_pod_identities_table_format(result): return parsed.search(result, Options(dict_cls=OrderedDict, custom_functions=_custom_functions(preview))) -def aks_list_snapshot_table_format(results): - """"Format a list of snapshots as summary results for display with "-o table".""" - return [_aks_snapshot_table_format(r) for r in results] +def aks_list_nodepool_snapshot_table_format(results): + """"Format a list of nodepool snapshots as summary results for display with "-o table".""" + return [_aks_nodepool_snapshot_table_format(r) for r in results] -def aks_show_snapshot_table_format(result): - """Format a snapshot as summary results for display with "-o table".""" - return [_aks_snapshot_table_format(result)] +def aks_show_nodepool_snapshot_table_format(result): + """Format a nodepool snapshot as summary results for display with "-o table".""" + return [_aks_nodepool_snapshot_table_format(result)] -def _aks_snapshot_table_format(result): +def _aks_nodepool_snapshot_table_format(result): parsed = compile_jmes("""{ name: name, location: location, @@ -240,3 +240,30 @@ def _aks_snapshot_table_format(result): }""") # use ordered dicts so headers are predictable return parsed.search(result, Options(dict_cls=OrderedDict)) + + +def aks_list_snapshot_table_format(results): + """"Format a list of cluster snapshots as summary results for display with "-o table".""" + return [_aks_snapshot_table_format(r) for r in results] + + +def aks_show_snapshot_table_format(result): + """Format a cluster snapshot as summary results for display with "-o table".""" + return [_aks_snapshot_table_format(result)] + + +def _aks_snapshot_table_format(result): + parsed = compile_jmes("""{ + name: name, + location: location, + resourceGroup: resourceGroup, + sku: managedClusterPropertiesReadOnly.sku.tier, + enableRbac: managedClusterPropertiesReadOnly.enableRbac, + kubernetesVersion: managedClusterPropertiesReadOnly.kubernetesVersion, + networkPlugin: managedClusterPropertiesReadOnly.networkProfile.networkPlugin, + networkPolicy: managedClusterPropertiesReadOnly.networkProfile.networkPolicy, + networkMode: managedClusterPropertiesReadOnly.networkProfile.networkMode, + loadBalancerSku: managedClusterPropertiesReadOnly.networkProfile.loadBalancerSku + }""") + # use ordered dicts so headers are predictable + return parsed.search(result, Options(dict_cls=OrderedDict)) diff --git a/src/aks-preview/azext_aks_preview/_help.py b/src/aks-preview/azext_aks_preview/_help.py index 845d54013fa..7e4a611eb70 100644 --- a/src/aks-preview/azext_aks_preview/_help.py +++ b/src/aks-preview/azext_aks_preview/_help.py @@ -1549,22 +1549,63 @@ helps['aks snapshot'] = """ type: group - short-summary: Commands to manage snapshots. + short-summary: Commands to manage cluster snapshots. """ helps['aks snapshot show'] = """ type: command - short-summary: Show the details of a snapshot. + short-summary: Show the details of a cluster snapshot. """ helps['aks snapshot list'] = """ type: command - short-summary: List snapshots. + short-summary: List cluster snapshots. """ helps['aks snapshot create'] = """ type: command - short-summary: Create a snapshot of a node pool. + short-summary: Create a snapshot of a cluster. + parameters: + - name: --cluster-id + type: string + short-summary: The source cluster id from which to create this snapshot. + - name: --tags + type: string + short-summary: The tags of the snapshot. + - name: --aks-custom-headers + type: string + short-summary: Send custom headers. When specified, format should be Key1=Value1,Key2=Value2 + + examples: + - name: Create a cluster snapshot. + text: az aks snapshot create -g MyResourceGroup -n snapshot1 --cluster-id "/subscriptions/00000/resourceGroups/AnotherResourceGroup/providers/Microsoft.ContainerService/managedClusters/akscluster1" + - name: Create a cluster snapshot with custom tags. + text: az aks snapshot create -g MyResourceGroup -n snapshot1 --cluster-id "/subscriptions/00000/resourceGroups/AnotherResourceGroup/providers/Microsoft.ContainerService/managedClusters/akscluster1" --tags "foo=bar" "key1=val1" +""" + +helps['aks snapshot delete'] = """ + type: command + short-summary: Delete a cluster snapshot. +""" + +helps['aks nodepool snapshot'] = """ + type: group + short-summary: Commands to manage nodepool snapshots. +""" + +helps['aks nodepool snapshot show'] = """ + type: command + short-summary: Show the details of a nodepool snapshot. +""" + +helps['aks nodepool snapshot list'] = """ + type: command + short-summary: List nodepool snapshots. +""" + +helps['aks nodepool snapshot create'] = """ + type: command + short-summary: Create a nodepool snapshot. parameters: - name: --nodepool-id type: string @@ -1577,13 +1618,13 @@ short-summary: Send custom headers. When specified, format should be Key1=Value1,Key2=Value2 examples: - - name: Create a snapshot. - text: az aks snapshot create -g MyResourceGroup -n snapshot1 --nodepool-id "/subscriptions/00000/resourceGroups/AnotherResourceGroup/providers/Microsoft.ContainerService/managedClusters/akscluster1/agentPools/nodepool1" - - name: Create a snapshot with custom tags. - text: az aks snapshot create -g MyResourceGroup -n snapshot1 --nodepool-id "/subscriptions/00000/resourceGroups/AnotherResourceGroup/providers/Microsoft.ContainerService/managedClusters/akscluster1/agentPools/nodepool1" --tags "foo=bar" "key1=val1" + - name: Create a nodepool snapshot. + text: az aks nodepool snapshot create -g MyResourceGroup -n snapshot1 --nodepool-id "/subscriptions/00000/resourceGroups/AnotherResourceGroup/providers/Microsoft.ContainerService/managedClusters/akscluster1/agentPools/nodepool1" + - name: Create a nodepool snapshot with custom tags. + text: az aks nodepool snapshot create -g MyResourceGroup -n snapshot1 --nodepool-id "/subscriptions/00000/resourceGroups/AnotherResourceGroup/providers/Microsoft.ContainerService/managedClusters/akscluster1/agentPools/nodepool1" --tags "foo=bar" "key1=val1" """ -helps['aks snapshot delete'] = """ +helps['aks nodepool snapshot delete'] = """ type: command - short-summary: Delete a snapshot. + short-summary: Delete a nodepool snapshot. """ diff --git a/src/aks-preview/azext_aks_preview/_params.py b/src/aks-preview/azext_aks_preview/_params.py index a7b8c4435bb..3670a91667f 100644 --- a/src/aks-preview/azext_aks_preview/_params.py +++ b/src/aks-preview/azext_aks_preview/_params.py @@ -17,8 +17,8 @@ get_vm_size_completion_list, get_k8s_versions_completion_list, get_k8s_upgrades_completion_list, get_ossku_completion_list) from ._validators import ( validate_create_parameters, validate_k8s_version, validate_linux_host_name, - validate_ssh_key, validate_nodes_count, validate_ip_ranges, - validate_nodepool_name, validate_vm_set_type, validate_load_balancer_sku, validate_nodepool_id, validate_snapshot_id, validate_crg_id, + validate_ssh_key, validate_nodes_count, validate_ip_ranges, validate_snapshot_name, + validate_nodepool_name, validate_vm_set_type, validate_load_balancer_sku, validate_nodepool_id, validate_cluster_id, validate_snapshot_id, validate_crg_id, validate_load_balancer_outbound_ips, validate_load_balancer_outbound_ip_prefixes, validate_nat_gateway_managed_outbound_ip_count, validate_taints, validate_priority, validate_eviction_policy, validate_spot_max_price, validate_acr, validate_user, validate_load_balancer_outbound_ports, validate_load_balancer_idle_timeout, validate_nat_gateway_idle_timeout, validate_nodepool_tags, validate_addon, @@ -206,9 +206,12 @@ def load_arguments(self, _): c.argument('host_group_id', validator=validate_host_group_id, is_preview=True) c.argument('crg_id', validator=validate_crg_id, is_preview=True) - c.argument('message_of_the_day', type=str) # no validation for aks create because it already only supports Linux. - c.argument('enable_azure_keyvault_kms', action='store_true', is_preview=True) - c.argument('azure_keyvault_kms_key_id', validator=validate_azure_keyvault_kms_key_id, is_preview=True) + # no validation for aks create because it already only supports Linux. + c.argument('message_of_the_day', type=str) + c.argument('enable_azure_keyvault_kms', + action='store_true', is_preview=True) + c.argument('azure_keyvault_kms_key_id', + validator=validate_azure_keyvault_kms_key_id, is_preview=True) with self.argument_context('aks update') as c: c.argument('enable_cluster_autoscaler', options_list=[ @@ -270,8 +273,10 @@ def load_arguments(self, _): help='space-separated labels: key[=value] [key[=value] ...]. See https://aka.ms/node-labels for syntax of labels.') c.argument('enable_oidc_issuer', action='store_true', is_preview=True) c.argument('http_proxy_config', type=str) - c.argument('enable_azure_keyvault_kms', action='store_true', is_preview=True) - c.argument('azure_keyvault_kms_key_id', validator=validate_azure_keyvault_kms_key_id, is_preview=True) + c.argument('enable_azure_keyvault_kms', + action='store_true', is_preview=True) + c.argument('azure_keyvault_kms_key_id', + validator=validate_azure_keyvault_kms_key_id, is_preview=True) with self.argument_context('aks scale') as c: c.argument('nodepool_name', type=str, @@ -531,19 +536,35 @@ def load_arguments(self, _): help='pod labels in key=value [key=value ...].', validator=validate_pod_identity_pod_labels) - for scope in ['aks snapshot create']: + for scope in ['aks nodepool snapshot create']: with self.argument_context(scope) as c: c.argument('snapshot_name', type=str, options_list=[ - '--name', '-n'], required=True, validator=validate_linux_host_name, help='The snapshot name.') + '--name', '-n'], required=True, help='The nodepool snapshot name.', validator=validate_snapshot_name) c.argument('tags', tags_type) c.argument('nodepool_id', type=str, required=True, - validator=validate_nodepool_id, help='The nodepool id.') + help='The nodepool id.', validator=validate_nodepool_id) + c.argument('aks_custom_headers') + + for scope in ['aks nodepool snapshot show', 'aks nodepool snapshot delete']: + with self.argument_context(scope) as c: + c.argument('snapshot_name', type=str, options_list=[ + '--name', '-n'], required=True, help='The nodepool snapshot name.', validator=validate_snapshot_name) + c.argument('yes', options_list=[ + '--yes', '-y'], help='Do not prompt for confirmation.', action='store_true') + + for scope in ['aks snapshot create']: + with self.argument_context(scope) as c: + c.argument('snapshot_name', type=str, options_list=[ + '--name', '-n'], required=True, help='The cluster snapshot name.', validator=validate_snapshot_name) + c.argument('tags', tags_type) + c.argument('cluster_id', type=str, required=True, + validator=validate_cluster_id, help='The cluster id.') c.argument('aks_custom_headers') for scope in ['aks snapshot show', 'aks snapshot delete']: with self.argument_context(scope) as c: c.argument('snapshot_name', type=str, options_list=[ - '--name', '-n'], required=True, validator=validate_linux_host_name, help='The snapshot name.') + '--name', '-n'], required=True, help='The cluster snapshot name.', validator=validate_snapshot_name) c.argument('yes', options_list=[ '--yes', '-y'], help='Do not prompt for confirmation.', action='store_true') diff --git a/src/aks-preview/azext_aks_preview/_validators.py b/src/aks-preview/azext_aks_preview/_validators.py index 8a641634a5a..f830ea00a35 100644 --- a/src/aks-preview/azext_aks_preview/_validators.py +++ b/src/aks-preview/azext_aks_preview/_validators.py @@ -43,7 +43,8 @@ def validate_ssh_key(namespace): private_key_filepath = public_key_filepath[:-4] else: private_key_filepath = public_key_filepath + '.private' - content = keys.generate_ssh_keys(private_key_filepath, public_key_filepath) + content = keys.generate_ssh_keys( + private_key_filepath, public_key_filepath) logger.warning("SSH key files '%s' and '%s' have been generated under ~/.ssh to " "allow SSH access to the VM. If using machines without " "permanent storage like Azure Cloud Shell without an attached " @@ -107,14 +108,16 @@ def validate_ip_ranges(namespace): restrict_traffic_to_agentnodes = "0.0.0.0/32" allow_all_traffic = "" - ip_ranges = [ip.strip() for ip in namespace.api_server_authorized_ip_ranges.split(",")] + ip_ranges = [ip.strip() + for ip in namespace.api_server_authorized_ip_ranges.split(",")] if restrict_traffic_to_agentnodes in ip_ranges and len(ip_ranges) > 1: raise CLIError(("Setting --api-server-authorized-ip-ranges to 0.0.0.0/32 is not allowed with other IP ranges." "Refer to https://aka.ms/aks/whitelist for more details")) if allow_all_traffic in ip_ranges and len(ip_ranges) > 1: - raise CLIError("--api-server-authorized-ip-ranges cannot be disabled and simultaneously enabled") + raise CLIError( + "--api-server-authorized-ip-ranges cannot be disabled and simultaneously enabled") for ip in ip_ranges: if ip in [restrict_traffic_to_agentnodes, allow_all_traffic]: @@ -122,11 +125,14 @@ def validate_ip_ranges(namespace): try: ip = ip_network(ip) if not ip.is_global: - raise CLIError("--api-server-authorized-ip-ranges must be global non-reserved addresses or CIDRs") + raise CLIError( + "--api-server-authorized-ip-ranges must be global non-reserved addresses or CIDRs") if ip.version == 6: - raise CLIError("--api-server-authorized-ip-ranges cannot be IPv6 addresses") + raise CLIError( + "--api-server-authorized-ip-ranges cannot be IPv6 addresses") except ValueError: - raise CLIError("--api-server-authorized-ip-ranges should be a list of IPv4 addresses or CIDRs") + raise CLIError( + "--api-server-authorized-ip-ranges should be a list of IPv4 addresses or CIDRs") def validate_nodepool_name(namespace): @@ -135,7 +141,8 @@ def validate_nodepool_name(namespace): if len(namespace.nodepool_name) > 12: raise CLIError('--nodepool-name can contain atmost 12 characters') if not namespace.nodepool_name.isalnum(): - raise CLIError('--nodepool-name should only contain alphanumeric characters') + raise CLIError( + '--nodepool-name should only contain alphanumeric characters') def validate_vm_set_type(namespace): @@ -145,7 +152,8 @@ def validate_vm_set_type(namespace): return if namespace.vm_set_type.lower() != "availabilityset" and \ namespace.vm_set_type.lower() != "virtualmachinescalesets": - raise CLIError("--vm-set-type can only be VirtualMachineScaleSets or AvailabilitySet") + raise CLIError( + "--vm-set-type can only be VirtualMachineScaleSets or AvailabilitySet") def validate_load_balancer_sku(namespace): @@ -160,17 +168,21 @@ def validate_load_balancer_sku(namespace): def validate_load_balancer_outbound_ips(namespace): """validate load balancer profile outbound IP ids""" if namespace.load_balancer_outbound_ips is not None: - ip_id_list = [x.strip() for x in namespace.load_balancer_outbound_ips.split(',')] + ip_id_list = [x.strip() + for x in namespace.load_balancer_outbound_ips.split(',')] if not all(ip_id_list): - raise CLIError("--load-balancer-outbound-ips cannot contain whitespace") + raise CLIError( + "--load-balancer-outbound-ips cannot contain whitespace") def validate_load_balancer_outbound_ip_prefixes(namespace): """validate load balancer profile outbound IP prefix ids""" if namespace.load_balancer_outbound_ip_prefixes is not None: - ip_prefix_id_list = [x.strip() for x in namespace.load_balancer_outbound_ip_prefixes.split(',')] + ip_prefix_id_list = [ + x.strip() for x in namespace.load_balancer_outbound_ip_prefixes.split(',')] if not all(ip_prefix_id_list): - raise CLIError("--load-balancer-outbound-ip-prefixes cannot contain whitespace") + raise CLIError( + "--load-balancer-outbound-ip-prefixes cannot contain whitespace") def validate_taints(namespace): @@ -205,16 +217,19 @@ def validate_eviction_policy(namespace): return if namespace.eviction_policy != "Delete" and \ namespace.eviction_policy != "Deallocate": - raise CLIError("--eviction-policy can only be Delete or Deallocate") + raise CLIError( + "--eviction-policy can only be Delete or Deallocate") def validate_spot_max_price(namespace): """Validates the spot node pool max price.""" if not isnan(namespace.spot_max_price): if namespace.priority != "Spot": - raise CLIError("--spot_max_price can only be set when --priority is Spot") + raise CLIError( + "--spot_max_price can only be set when --priority is Spot") if len(str(namespace.spot_max_price).split(".")) > 1 and len(str(namespace.spot_max_price).split(".")[1]) > 5: - raise CLIError("--spot_max_price can only include up to 5 decimal places") + raise CLIError( + "--spot_max_price can only include up to 5 decimal places") if namespace.spot_max_price <= 0 and not isclose(namespace.spot_max_price, -1.0, rel_tol=1e-06): raise CLIError( "--spot_max_price can only be any decimal value greater than zero, or -1 which indicates " @@ -225,18 +240,21 @@ def validate_message_of_the_day(namespace): """Validates message of the day can only be used on Linux.""" if namespace.message_of_the_day is not None and namespace.message_of_the_day != "": if namespace.os_type is not None and namespace.os_type != "Linux": - raise ArgumentUsageError('--message-of-the-day can only be set for linux nodepools') + raise ArgumentUsageError( + '--message-of-the-day can only be set for linux nodepools') def validate_acr(namespace): if namespace.attach_acr and namespace.detach_acr: - raise CLIError('Cannot specify "--attach-acr" and "--detach-acr" at the same time.') + raise CLIError( + 'Cannot specify "--attach-acr" and "--detach-acr" at the same time.') def validate_user(namespace): if namespace.user.lower() != "clusteruser" and \ namespace.user.lower() != "clustermonitoringuser": - raise CLIError("--user can only be clusterUser or clusterMonitoringUser") + raise CLIError( + "--user can only be clusterUser or clusterMonitoringUser") def validate_vnet_subnet_id(namespace): @@ -259,30 +277,35 @@ def validate_load_balancer_outbound_ports(namespace): """validate load balancer profile outbound allocated ports""" if namespace.load_balancer_outbound_ports is not None: if namespace.load_balancer_outbound_ports % 8 != 0: - raise CLIError("--load-balancer-allocated-ports must be a multiple of 8") + raise CLIError( + "--load-balancer-allocated-ports must be a multiple of 8") if namespace.load_balancer_outbound_ports < 0 or namespace.load_balancer_outbound_ports > 64000: - raise CLIError("--load-balancer-allocated-ports must be in the range [0,64000]") + raise CLIError( + "--load-balancer-allocated-ports must be in the range [0,64000]") def validate_load_balancer_idle_timeout(namespace): """validate load balancer profile idle timeout""" if namespace.load_balancer_idle_timeout is not None: if namespace.load_balancer_idle_timeout < 4 or namespace.load_balancer_idle_timeout > 100: - raise CLIError("--load-balancer-idle-timeout must be in the range [4,100]") + raise CLIError( + "--load-balancer-idle-timeout must be in the range [4,100]") def validate_nat_gateway_managed_outbound_ip_count(namespace): """validate NAT gateway profile managed outbound IP count""" if namespace.nat_gateway_managed_outbound_ip_count is not None: if namespace.nat_gateway_managed_outbound_ip_count < 1 or namespace.nat_gateway_managed_outbound_ip_count > 16: - raise InvalidArgumentValueError("--nat-gateway-managed-outbound-ip-count must be in the range [1,16]") + raise InvalidArgumentValueError( + "--nat-gateway-managed-outbound-ip-count must be in the range [1,16]") def validate_nat_gateway_idle_timeout(namespace): """validate NAT gateway profile idle timeout""" if namespace.nat_gateway_idle_timeout is not None: if namespace.nat_gateway_idle_timeout < 4 or namespace.nat_gateway_idle_timeout > 120: - raise InvalidArgumentValueError("--nat-gateway-idle-timeout must be in the range [4,120]") + raise InvalidArgumentValueError( + "--nat-gateway-idle-timeout must be in the range [4,120]") def validate_nodepool_tags(ns): @@ -321,7 +344,8 @@ def validate_nodepool_labels(namespace): def validate_label(label): """Validates that provided label is a valid format""" - prefix_regex = re.compile(r"^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$") + prefix_regex = re.compile( + r"^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$") name_regex = re.compile(r"^([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$") value_regex = re.compile(r"^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$") @@ -329,14 +353,16 @@ def validate_label(label): return {} kv = label.split('=') if len(kv) != 2: - raise CLIError("Invalid label: %s. Label definition must be of format name=value." % label) + raise CLIError( + "Invalid label: %s. Label definition must be of format name=value." % label) name_parts = kv[0].split('/') if len(name_parts) == 1: name = name_parts[0] elif len(name_parts) == 2: prefix = name_parts[0] if not prefix or len(prefix) > 253: - raise CLIError("Invalid label: %s. Label prefix can't be empty or more than 253 chars." % label) + raise CLIError( + "Invalid label: %s. Label prefix can't be empty or more than 253 chars." % label) if not prefix_regex.match(prefix): raise CLIError("Invalid label: %s. Prefix part a DNS-1123 label must consist of lower case alphanumeric " "characters or '-', and must start and end with an alphanumeric character" % label) @@ -349,7 +375,8 @@ def validate_label(label): # validate label name if not name or len(name) > 63: - raise CLIError("Invalid label: %s. Label name can't be empty or more than 63 chars." % label) + raise CLIError( + "Invalid label: %s. Label name can't be empty or more than 63 chars." % label) if not name_regex.match(name): raise CLIError("Invalid label: %s. A qualified name must consist of alphanumeric characters, '-', '_' " "or '.', and must start and end with an alphanumeric character (e.g. 'MyName', or " @@ -358,7 +385,8 @@ def validate_label(label): # validate label value if len(kv[1]) > 63: - raise CLIError("Invalid label: %s. Label must be more than 63 chars." % label) + raise CLIError( + "Invalid label: %s. Label must be more than 63 chars." % label) if not value_regex.match(kv[1]): raise CLIError("Invalid label: %s. A valid label must be an empty string or consist of alphanumeric " "characters, '-', '_' or '.', and must start and end with an alphanumeric character" % label) @@ -387,7 +415,8 @@ def validate_assign_identity(namespace): return from msrestazure.tools import is_valid_resource_id if not is_valid_resource_id(namespace.assign_identity): - raise CLIError("--assign-identity is not a valid Azure resource ID.") + raise CLIError( + "--assign-identity is not a valid Azure resource ID.") def _recognize_addons(addon_args): @@ -479,34 +508,56 @@ def validate_assign_kubelet_identity(namespace): return from msrestazure.tools import is_valid_resource_id if not is_valid_resource_id(namespace.assign_kubelet_identity): - raise CLIError("--assign-kubelet-identity is not a valid Azure resource ID.") + raise CLIError( + "--assign-kubelet-identity is not a valid Azure resource ID.") + + +def validate_snapshot_name(namespace): + """Validates a nodepool snapshot name to be alphanumeric and dashes.""" + rfc1123_regex = re.compile( + r'^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$') # pylint:disable=line-too-long + found = rfc1123_regex.findall(namespace.snapshot_name) + if not found: + raise InvalidArgumentValueError('--name cannot exceed 63 characters and can only contain ' + 'letters, numbers, or dashes (-).') def validate_nodepool_id(namespace): from msrestazure.tools import is_valid_resource_id if not is_valid_resource_id(namespace.nodepool_id): - raise InvalidArgumentValueError("--nodepool-id is not a valid Azure resource ID.") + raise InvalidArgumentValueError( + "--nodepool-id is not a valid Azure resource ID.") + + +def validate_cluster_id(namespace): + from msrestazure.tools import is_valid_resource_id + if not is_valid_resource_id(namespace.cluster_id): + raise InvalidArgumentValueError( + "--cluster-id is not a valid Azure resource ID.") def validate_snapshot_id(namespace): if namespace.snapshot_id: from msrestazure.tools import is_valid_resource_id if not is_valid_resource_id(namespace.snapshot_id): - raise InvalidArgumentValueError("--snapshot-id is not a valid Azure resource ID.") + raise InvalidArgumentValueError( + "--snapshot-id is not a valid Azure resource ID.") def validate_host_group_id(namespace): if namespace.host_group_id: from msrestazure.tools import is_valid_resource_id if not is_valid_resource_id(namespace.host_group_id): - raise InvalidArgumentValueError("--host-group-id is not a valid Azure resource ID.") + raise InvalidArgumentValueError( + "--host-group-id is not a valid Azure resource ID.") def validate_crg_id(namespace): if namespace.crg_id: from msrestazure.tools import is_valid_resource_id if not is_valid_resource_id(namespace.crg_id): - raise InvalidArgumentValueError("--crg-id is not a valid Azure resource ID.") + raise InvalidArgumentValueError( + "--crg-id is not a valid Azure resource ID.") def validate_azure_keyvault_kms_key_id(namespace): diff --git a/src/aks-preview/azext_aks_preview/commands.py b/src/aks-preview/azext_aks_preview/commands.py index 02052f661a2..f9618d4801e 100644 --- a/src/aks-preview/azext_aks_preview/commands.py +++ b/src/aks-preview/azext_aks_preview/commands.py @@ -8,7 +8,8 @@ from ._client_factory import cf_managed_clusters from ._client_factory import cf_maintenance_configurations from ._client_factory import cf_agent_pools -from ._client_factory import cf_snapshots +from ._client_factory import cf_nodepool_snapshots +from ._client_factory import cf_mc_snapshots from ._format import aks_show_table_format from ._format import aks_addon_list_available_table_format, aks_addon_list_table_format, aks_addon_show_table_format from ._format import aks_agentpool_show_table_format @@ -17,6 +18,8 @@ from ._format import aks_upgrades_table_format from ._format import aks_pod_identities_table_format from ._format import aks_pod_identity_exceptions_table_format +from ._format import aks_show_nodepool_snapshot_table_format +from ._format import aks_list_nodepool_snapshot_table_format from ._format import aks_show_snapshot_table_format from ._format import aks_list_snapshot_table_format @@ -42,12 +45,17 @@ def load_command_table(self, _): client_factory=cf_maintenance_configurations ) - snapshot_sdk = CliCommandType( + nodepool_snapshot_sdk = CliCommandType( operations_tmpl='azext_aks_preview.vendored_sdks.azure_mgmt_preview_aks.' 'operations._snapshots_operations#SnapshotsOperations.{}', - client_factory=cf_snapshots + client_factory=cf_nodepool_snapshots ) + mc_snapshot_sdk = CliCommandType( + operations_tmpl='azext_aks_preview.vendored_sdks.azure_mgmt_preview_aks.' + 'operations._managed_clusters_snapshots_operations#ManagedClusterSnapshotsOperations.{}', + client_factory=cf_mc_snapshots) + # AKS managed cluster commands with self.command_group('aks', managed_clusters_sdk, client_factory=cf_managed_clusters) as g: g.custom_command('kollect', 'aks_kollect') @@ -55,7 +63,8 @@ def load_command_table(self, _): g.custom_command('browse', 'aks_browse') g.custom_command('create', 'aks_create', supports_no_wait=True) g.custom_command('update', 'aks_update', supports_no_wait=True) - g.command('delete', 'begin_delete', supports_no_wait=True, confirmation=True) + g.command('delete', 'begin_delete', + supports_no_wait=True, confirmation=True) g.custom_command('scale', 'aks_scale', supports_no_wait=True) g.custom_command('disable-addons', 'aks_disable_addons', supports_no_wait=True) @@ -85,9 +94,12 @@ def load_command_table(self, _): # AKS addon commands with self.command_group('aks addon', managed_clusters_sdk, client_factory=cf_managed_clusters) as g: - g.custom_command('list-available', 'aks_addon_list_available', table_transformer=aks_addon_list_available_table_format) - g.custom_command('list', 'aks_addon_list', table_transformer=aks_addon_list_table_format) - g.custom_show_command('show', 'aks_addon_show', table_transformer=aks_addon_show_table_format) + g.custom_command('list-available', 'aks_addon_list_available', + table_transformer=aks_addon_list_available_table_format) + g.custom_command('list', 'aks_addon_list', + table_transformer=aks_addon_list_table_format) + g.custom_show_command('show', 'aks_addon_show', + table_transformer=aks_addon_show_table_format) g.custom_command('enable', 'aks_addon_enable', supports_no_wait=True) g.custom_command('disable', 'aks_addon_disable', supports_no_wait=True) g.custom_command('update', 'aks_addon_update', supports_no_wait=True) @@ -129,9 +141,24 @@ def load_command_table(self, _): with self.command_group('aks egress-endpoints', managed_clusters_sdk, client_factory=cf_managed_clusters) as g: g.custom_command('list', 'aks_egress_endpoints_list') - # AKS snapshot commands - with self.command_group('aks snapshot', snapshot_sdk, client_factory=cf_snapshots) as g: - g.custom_command('list', 'aks_snapshot_list', table_transformer=aks_list_snapshot_table_format) - g.custom_show_command('show', 'aks_snapshot_show', table_transformer=aks_show_snapshot_table_format) - g.custom_command('create', 'aks_snapshot_create', supports_no_wait=True) - g.custom_command('delete', 'aks_snapshot_delete', supports_no_wait=True) + # AKS nodepool snapshot commands + with self.command_group('aks nodepool snapshot', nodepool_snapshot_sdk, client_factory=cf_nodepool_snapshots) as g: + g.custom_command('list', 'aks_nodepool_snapshot_list', + table_transformer=aks_list_nodepool_snapshot_table_format) + g.custom_show_command('show', 'aks_nodepool_snapshot_show', + table_transformer=aks_show_nodepool_snapshot_table_format) + g.custom_command('create', 'aks_nodepool_snapshot_create', + supports_no_wait=True) + g.custom_command('delete', 'aks_nodepool_snapshot_delete', + supports_no_wait=True) + + # AKS mc snapshot commands + with self.command_group('aks snapshot', mc_snapshot_sdk, client_factory=cf_mc_snapshots) as g: + g.custom_command('list', 'aks_snapshot_list', + table_transformer=aks_list_snapshot_table_format) + g.custom_show_command('show', 'aks_snapshot_show', + table_transformer=aks_show_snapshot_table_format) + g.custom_command('create', 'aks_snapshot_create', + supports_no_wait=True) + g.custom_command('delete', 'aks_snapshot_delete', + supports_no_wait=True) diff --git a/src/aks-preview/azext_aks_preview/custom.py b/src/aks-preview/azext_aks_preview/custom.py index be258e173c9..18d8b32048c 100644 --- a/src/aks-preview/azext_aks_preview/custom.py +++ b/src/aks-preview/azext_aks_preview/custom.py @@ -64,7 +64,8 @@ from ._client_factory import ( cf_agent_pools, cf_container_registry_service, - cf_snapshots_client, + cf_nodepool_snapshots_client, + cf_mc_snapshots_client, cf_storage, get_auth_management_client, get_graph_rbac_management_client, @@ -143,6 +144,7 @@ ManagedClusterPodIdentityException, PowerState, Snapshot, + ManagedClusterSnapshot, SysctlConfig, UserAssignedIdentity, ) @@ -524,6 +526,11 @@ def _get_user_assigned_identity(cli_ctx, resource_id): flags=re.IGNORECASE) +_re_mc_snapshot_resource_id = re.compile( + r'/subscriptions/(.*?)/resourcegroups/(.*?)/providers/microsoft.containerservice/managedclustersnapshots/(.*)', + flags=re.IGNORECASE) + + def _get_snapshot(cli_ctx, snapshot_id): snapshot_id = snapshot_id.lower() match = _re_snapshot_resource_id.search(snapshot_id) @@ -531,12 +538,14 @@ def _get_snapshot(cli_ctx, snapshot_id): subscription_id = match.group(1) resource_group_name = match.group(2) snapshot_name = match.group(3) - snapshot_client = cf_snapshots_client(cli_ctx, subscription_id=subscription_id) + snapshot_client = cf_nodepool_snapshots_client( + cli_ctx, subscription_id=subscription_id) try: snapshot = snapshot_client.get(resource_group_name, snapshot_name) except CloudError as ex: if 'was not found' in ex.message: - raise InvalidArgumentValueError("Snapshot {} not found.".format(snapshot_id)) + raise InvalidArgumentValueError( + "Snapshot {} not found.".format(snapshot_id)) raise CLIError(ex.message) return snapshot raise InvalidArgumentValueError( @@ -1051,10 +1060,12 @@ def aks_kollect(cmd, # pylint: disable=too-many-statements,too-many-locals sas_token = sas_token.strip('?') deployment_yaml = _read_periscope_yaml() - deployment_yaml = deployment_yaml.replace("# ", storage_account_name) + deployment_yaml = deployment_yaml.replace( + "# ", storage_account_name) deployment_yaml = deployment_yaml.replace("# ", (base64.b64encode(bytes("?" + sas_token, 'ascii'))).decode('ascii')) - deployment_yaml = deployment_yaml.replace("# ", container_name) + deployment_yaml = deployment_yaml.replace( + "# ", container_name) yaml_lines = deployment_yaml.splitlines() for index, line in enumerate(yaml_lines): @@ -1139,7 +1150,8 @@ def aks_kollect(cmd, # pylint: disable=too-many-statements,too-many-locals def _read_periscope_yaml(): curr_dir = os.path.dirname(os.path.realpath(__file__)) - periscope_yaml_file = os.path.join(curr_dir, "deploymentyaml", "aks-periscope.yaml") + periscope_yaml_file = os.path.join( + curr_dir, "deploymentyaml", "aks-periscope.yaml") yaml_file = open(periscope_yaml_file, "r") data_loaded = yaml_file.read() @@ -1322,7 +1334,8 @@ def _handle_addons_args(cmd, # pylint: disable=too-many-statements # use default workspace if exists else create default workspace workspace_resource_id = ensure_default_log_analytics_workspace_for_monitoring( cmd, subscription_id, resource_group_name) - workspace_resource_id = sanitize_loganalytics_ws_resource_id(workspace_resource_id) + workspace_resource_id = sanitize_loganalytics_ws_resource_id( + workspace_resource_id) addon_profiles[CONST_MONITORING_ADDON_NAME] = ManagedClusterAddonProfile(enabled=True, config={CONST_MONITORING_LOG_ANALYTICS_WORKSPACE_RESOURCE_ID: workspace_resource_id, CONST_MONITORING_USING_AAD_MSI_AUTH: enable_msi_auth_for_monitoring}) @@ -1358,7 +1371,8 @@ def _handle_addons_args(cmd, # pylint: disable=too-many-statements addon_profiles[CONST_OPEN_SERVICE_MESH_ADDON_NAME] = addon_profile addons.remove('open-service-mesh') if 'azure-keyvault-secrets-provider' in addons: - addon_profile = ManagedClusterAddonProfile(enabled=True, config={CONST_SECRET_ROTATION_ENABLED: "false", CONST_ROTATION_POLL_INTERVAL: "2m"}) + addon_profile = ManagedClusterAddonProfile(enabled=True, config={ + CONST_SECRET_ROTATION_ENABLED: "false", CONST_ROTATION_POLL_INTERVAL: "2m"}) if enable_secret_rotation: addon_profile.config[CONST_SECRET_ROTATION_ENABLED] = "true" if rotation_poll_interval is not None: @@ -1689,7 +1703,8 @@ def aks_agentpool_add(cmd, # pylint: disable=unused-argument,too-many-local agent_pool.linux_os_config = _get_linux_os_config(linux_os_config) if message_of_the_day: - agent_pool.message_of_the_day = _get_message_of_the_day(message_of_the_day) + agent_pool.message_of_the_day = _get_message_of_the_day( + message_of_the_day) headers = get_aks_custom_headers(aks_custom_headers) return sdk_no_wait(no_wait, client.begin_create_or_update, resource_group_name, cluster_name, nodepool_name, agent_pool, headers=headers) @@ -2062,7 +2077,8 @@ def aks_enable_addons(cmd, client, resource_group_name, name, addons, workspace_ appgw_watch_namespace=None, enable_sgxquotehelper=False, enable_secret_rotation=False, rotation_poll_interval=None, no_wait=False, enable_msi_auth_for_monitoring=False): instance = client.get(resource_group_name, name) - msi_auth = True if instance.service_principal_profile.client_id == "msi" else False # this is overwritten by _update_addons(), so the value needs to be recorded here + # this is overwritten by _update_addons(), so the value needs to be recorded here + msi_auth = True if instance.service_principal_profile.client_id == "msi" else False subscription_id = get_subscription_id(cmd.cli_ctx) instance = _update_addons(cmd, instance, subscription_id, resource_group_name, name, addons, enable=True, @@ -2074,13 +2090,16 @@ def aks_enable_addons(cmd, client, resource_group_name, name, addons, workspace_ if CONST_MONITORING_USING_AAD_MSI_AUTH in instance.addon_profiles[CONST_MONITORING_ADDON_NAME].config and \ str(instance.addon_profiles[CONST_MONITORING_ADDON_NAME].config[CONST_MONITORING_USING_AAD_MSI_AUTH]).lower() == 'true': if not msi_auth: - raise ArgumentUsageError("--enable-msi-auth-for-monitoring can not be used on clusters with service principal auth.") + raise ArgumentUsageError( + "--enable-msi-auth-for-monitoring can not be used on clusters with service principal auth.") else: # create a Data Collection Rule (DCR) and associate it with the cluster - ensure_container_insights_for_monitoring(cmd, instance.addon_profiles[CONST_MONITORING_ADDON_NAME], subscription_id, resource_group_name, name, instance.location, aad_route=True, create_dcr=True, create_dcra=True) + ensure_container_insights_for_monitoring( + cmd, instance.addon_profiles[CONST_MONITORING_ADDON_NAME], subscription_id, resource_group_name, name, instance.location, aad_route=True, create_dcr=True, create_dcra=True) else: # monitoring addon will use legacy path - ensure_container_insights_for_monitoring(cmd, instance.addon_profiles[CONST_MONITORING_ADDON_NAME], subscription_id, resource_group_name, name, instance.location, aad_route=False) + ensure_container_insights_for_monitoring( + cmd, instance.addon_profiles[CONST_MONITORING_ADDON_NAME], subscription_id, resource_group_name, name, instance.location, aad_route=False) monitoring = CONST_MONITORING_ADDON_NAME in instance.addon_profiles and instance.addon_profiles[ CONST_MONITORING_ADDON_NAME].enabled @@ -2189,9 +2208,11 @@ def _update_addons(cmd, # pylint: disable=too-many-branches,too-many-statements cmd, subscription_id, resource_group_name) - workspace_resource_id = sanitize_loganalytics_ws_resource_id(workspace_resource_id) + workspace_resource_id = sanitize_loganalytics_ws_resource_id( + workspace_resource_id) - addon_profile.config = {logAnalyticsConstName: workspace_resource_id} + addon_profile.config = { + logAnalyticsConstName: workspace_resource_id} addon_profile.config[CONST_MONITORING_USING_AAD_MSI_AUTH] = enable_msi_auth_for_monitoring elif addon == (CONST_VIRTUAL_NODE_ADDON_NAME + os_type): if addon_profile.enabled: @@ -2660,17 +2681,20 @@ def _is_msi_cluster(managed_cluster): def _get_message_of_the_day(file_path): if not os.path.isfile(file_path): - raise CLIError("{} is not valid file, or not accessable.".format(file_path)) + raise CLIError( + "{} is not valid file, or not accessable.".format(file_path)) content = read_file_content(file_path) if not content: - raise ArgumentUsageError("message of the day should point to a non-empty file if specified.") + raise ArgumentUsageError( + "message of the day should point to a non-empty file if specified.") content = base64.b64encode(bytes(content, 'ascii')).decode('ascii') return content def _get_kubelet_config(file_path): if not os.path.isfile(file_path): - raise CLIError("{} is not valid file, or not accessable.".format(file_path)) + raise CLIError( + "{} is not valid file, or not accessable.".format(file_path)) kubelet_config = get_file_json(file_path) if not isinstance(kubelet_config, dict): raise CLIError( @@ -2702,7 +2726,8 @@ def _get_kubelet_config(file_path): def _get_linux_os_config(file_path): if not os.path.isfile(file_path): - raise CLIError("{} is not valid file, or not accessable.".format(file_path)) + raise CLIError( + "{} is not valid file, or not accessable.".format(file_path)) os_config = get_file_json(file_path) if not isinstance(os_config, dict): raise CLIError( @@ -2776,7 +2801,8 @@ def _get_linux_os_config(file_path): def _get_http_proxy_config(file_path): if not os.path.isfile(file_path): - raise CLIError("{} is not valid file, or not accessable.".format(file_path)) + raise CLIError( + "{} is not valid file, or not accessable.".format(file_path)) hp_config = get_file_json(file_path) if not isinstance(hp_config, dict): raise CLIError( @@ -2821,7 +2847,8 @@ def aks_pod_identity_add(cmd, client, resource_group_name, cluster_name, from azext_aks_preview.decorator import AKSPreviewModels # store all the models used by pod identity - pod_identity_models = AKSPreviewModels(cmd, CUSTOM_MGMT_AKS_PREVIEW).pod_identity_models + pod_identity_models = AKSPreviewModels( + cmd, CUSTOM_MGMT_AKS_PREVIEW).pod_identity_models _update_addon_pod_identity( instance, enable=True, pod_identities=pod_identities, @@ -2850,7 +2877,8 @@ def aks_pod_identity_delete(cmd, client, resource_group_name, cluster_name, from azext_aks_preview.decorator import AKSPreviewModels # store all the models used by pod identity - pod_identity_models = AKSPreviewModels(cmd, CUSTOM_MGMT_AKS_PREVIEW).pod_identity_models + pod_identity_models = AKSPreviewModels( + cmd, CUSTOM_MGMT_AKS_PREVIEW).pod_identity_models _update_addon_pod_identity( instance, enable=True, pod_identities=pod_identities, @@ -2882,7 +2910,8 @@ def aks_pod_identity_exception_add(cmd, client, resource_group_name, cluster_nam from azext_aks_preview.decorator import AKSPreviewModels # store all the models used by pod identity - pod_identity_models = AKSPreviewModels(cmd, CUSTOM_MGMT_AKS_PREVIEW).pod_identity_models + pod_identity_models = AKSPreviewModels( + cmd, CUSTOM_MGMT_AKS_PREVIEW).pod_identity_models _update_addon_pod_identity( instance, enable=True, pod_identities=instance.pod_identity_profile.user_assigned_identities, @@ -2910,7 +2939,8 @@ def aks_pod_identity_exception_delete(cmd, client, resource_group_name, cluster_ from azext_aks_preview.decorator import AKSPreviewModels # store all the models used by pod identity - pod_identity_models = AKSPreviewModels(cmd, CUSTOM_MGMT_AKS_PREVIEW).pod_identity_models + pod_identity_models = AKSPreviewModels( + cmd, CUSTOM_MGMT_AKS_PREVIEW).pod_identity_models _update_addon_pod_identity( instance, enable=True, pod_identities=instance.pod_identity_profile.user_assigned_identities, @@ -2946,7 +2976,8 @@ def aks_pod_identity_exception_update(cmd, client, resource_group_name, cluster_ from azext_aks_preview.decorator import AKSPreviewModels # store all the models used by pod identity - pod_identity_models = AKSPreviewModels(cmd, CUSTOM_MGMT_AKS_PREVIEW).pod_identity_models + pod_identity_models = AKSPreviewModels( + cmd, CUSTOM_MGMT_AKS_PREVIEW).pod_identity_models _update_addon_pod_identity( instance, enable=True, pod_identities=instance.pod_identity_profile.user_assigned_identities, @@ -2979,7 +3010,8 @@ def _ensure_cluster_identity_permission_on_kubelet_identity(cli_ctx, cluster_ide if not add_role_assignment(cli_ctx, CONST_MANAGED_IDENTITY_OPERATOR_ROLE, cluster_identity_object_id, is_service_principal=False, scope=scope): - raise CLIError('Could not grant Managed Identity Operator permission to cluster identity at scope {}'.format(scope)) + raise CLIError( + 'Could not grant Managed Identity Operator permission to cluster identity at scope {}'.format(scope)) def aks_egress_endpoints_list(cmd, client, resource_group_name, name): # pylint: disable=unused-argument @@ -2990,7 +3022,7 @@ def aks_snapshot_create(cmd, # pylint: disable=too-many-locals,too-many-state client, resource_group_name, name, - nodepool_id, + cluster_id, location=None, tags=None, aks_custom_headers=None, @@ -3001,14 +3033,15 @@ def aks_snapshot_create(cmd, # pylint: disable=too-many-locals,too-many-state location = rg_location creationData = CreationData( - source_resource_id=nodepool_id + source_resource_id=cluster_id ) - snapshot = Snapshot( + snapshot = ManagedClusterSnapshot( name=name, tags=tags, location=location, - creation_data=creationData + creation_data=creationData, + snapshot_type="ManagedCluster", ) headers = get_aks_custom_headers(aks_custom_headers) @@ -3028,7 +3061,8 @@ def aks_snapshot_delete(cmd, # pylint: disable=unused-argument yes=False): from knack.prompting import prompt_y_n - msg = 'This will delete the snapshot "{}" in resource group "{}", Are you sure?'.format(name, resource_group_name) + msg = 'This will delete the cluster snapshot "{}" in resource group "{}", Are you sure?'.format( + name, resource_group_name) if not yes and not prompt_y_n(msg, default="n"): return None @@ -3040,3 +3074,60 @@ def aks_snapshot_list(cmd, client, resource_group_name=None): # pylint: disable return client.list() return client.list_by_resource_group(resource_group_name) + + +def aks_nodepool_snapshot_create(cmd, # pylint: disable=too-many-locals,too-many-statements,too-many-branches + client, + resource_group_name, + snapshot_name, + nodepool_id, + location=None, + tags=None, + aks_custom_headers=None, + no_wait=False): + + rg_location = get_rg_location(cmd.cli_ctx, resource_group_name) + if location is None: + location = rg_location + + creationData = CreationData( + source_resource_id=nodepool_id + ) + + snapshot = Snapshot( + name=snapshot_name, + tags=tags, + location=location, + creation_data=creationData + ) + + headers = get_aks_custom_headers(aks_custom_headers) + return client.create_or_update(resource_group_name, snapshot_name, snapshot, headers=headers) + + +def aks_nodepool_snapshot_show(cmd, client, resource_group_name, snapshot_name): # pylint: disable=unused-argument + snapshot = client.get(resource_group_name, snapshot_name) + return snapshot + + +def aks_nodepool_snapshot_delete(cmd, # pylint: disable=unused-argument + client, + resource_group_name, + snapshot_name, + no_wait=False, + yes=False): + + from knack.prompting import prompt_y_n + msg = 'This will delete the nodepool snapshot "{}" in resource group "{}", Are you sure?'.format( + snapshot_name, resource_group_name) + if not yes and not prompt_y_n(msg, default="n"): + return None + + return client.delete(resource_group_name, snapshot_name) + + +def aks_nodepool_snapshot_list(cmd, client, resource_group_name=None): # pylint: disable=unused-argument + if resource_group_name is None or resource_group_name == '': + return client.list() + + return client.list_by_resource_group(resource_group_name) diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_snapshot.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_snapshot.yaml new file mode 100644 index 00000000000..a92191c4359 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_snapshot.yaml @@ -0,0 +1,3932 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks get-versions + Connection: + - keep-alive + ParameterSetName: + - -l --query + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/18.0.0 Python/3.10.2 + (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/orchestrators?api-version=2019-04-01&resource-type=managedClusters + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/orchestrators\"\ + ,\n \"name\": \"default\",\n \"type\": \"Microsoft.ContainerService/locations/orchestrators\"\ + ,\n \"properties\": {\n \"orchestrators\": [\n {\n \"orchestratorType\"\ + : \"Kubernetes\",\n \"orchestratorVersion\": \"1.20.13\",\n \"upgrades\"\ + : [\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ + : \"1.20.15\"\n },\n {\n \"orchestratorType\": \"Kubernetes\"\ + ,\n \"orchestratorVersion\": \"1.21.7\"\n },\n {\n \"\ + orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": \"1.21.9\"\ + \n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\"\ + ,\n \"orchestratorVersion\": \"1.20.15\",\n \"upgrades\": [\n \ + \ {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ + : \"1.21.7\"\n },\n {\n \"orchestratorType\": \"Kubernetes\"\ + ,\n \"orchestratorVersion\": \"1.21.9\"\n }\n ]\n },\n \ + \ {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ + : \"1.21.7\",\n \"upgrades\": [\n {\n \"orchestratorType\"\ + : \"Kubernetes\",\n \"orchestratorVersion\": \"1.21.9\"\n },\n\ + \ {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ + : \"1.22.4\"\n },\n {\n \"orchestratorType\": \"Kubernetes\"\ + ,\n \"orchestratorVersion\": \"1.22.6\"\n }\n ]\n },\n \ + \ {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ + : \"1.21.9\",\n \"default\": true,\n \"upgrades\": [\n {\n \ + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ + : \"1.22.4\"\n },\n {\n \"orchestratorType\": \"Kubernetes\"\ + ,\n \"orchestratorVersion\": \"1.22.6\"\n }\n ]\n },\n \ + \ {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ + : \"1.22.4\",\n \"upgrades\": [\n {\n \"orchestratorType\"\ + : \"Kubernetes\",\n \"orchestratorVersion\": \"1.22.6\"\n },\n\ + \ {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ + : \"1.23.3\",\n \"isPreview\": true\n }\n ]\n },\n {\n\ + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ + : \"1.22.6\",\n \"upgrades\": [\n {\n \"orchestratorType\"\ + : \"Kubernetes\",\n \"orchestratorVersion\": \"1.23.3\",\n \"\ + isPreview\": true\n }\n ]\n },\n {\n \"orchestratorType\"\ + : \"Kubernetes\",\n \"orchestratorVersion\": \"1.23.3\",\n \"isPreview\"\ + : true\n }\n ]\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '2410' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:04:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestspjbi3vdr-8ecadf", + "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "c000004"}], "linuxProfile": + {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": + false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": + "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1746' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --ssh-key-value + -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-02-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ + ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\"\ + : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\"\ + : \"Running\"\n },\n \"kubernetesVersion\": \"1.21.9\",\n \"currentKubernetesVersion\"\ + : \"1.21.9\",\n \"dnsPrefix\": \"cliakstest-clitestspjbi3vdr-8ecadf\",\n\ + \ \"fqdn\": \"cliakstest-clitestspjbi3vdr-8ecadf-978765cc.hcp.westus2.azmk8s.io\"\ + ,\n \"azurePortalFQDN\": \"cliakstest-clitestspjbi3vdr-8ecadf-978765cc.portal.hcp.westus2.azmk8s.io\"\ + ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"\ + count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ + : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ + ,\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n\ + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \ + \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.9\"\ + ,\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ + enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ + osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ + : \"AKSUbuntu-1804gen2containerd-2022.03.20\",\n \"enableFIPS\": false\n\ + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\"\ + ,\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"\ + ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ + \ test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ + : {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \ + \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n\ + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\"\ + : {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\"\ + ,\n \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"\ + count\": 1\n }\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\"\ + : \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\"\ + : \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\"\ + : [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\ + \n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\"\ + : 100,\n \"disableLocalAccounts\": false,\n \"securityProfile\": {},\n\ + \ \"oidcIssuerProfile\": {\n \"enabled\": false\n }\n },\n \"identity\"\ + : {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\ + ,\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\"\ + : {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/206d5ae6-8b68-45d1-9ce6-39c3e8df1f2c?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3377' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:04:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --ssh-key-value + -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/206d5ae6-8b68-45d1-9ce6-39c3e8df1f2c?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e65a6d20-688b-d145-9ce6-39c3e8df1f2c\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:04:55.7266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:05:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --ssh-key-value + -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/206d5ae6-8b68-45d1-9ce6-39c3e8df1f2c?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e65a6d20-688b-d145-9ce6-39c3e8df1f2c\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:04:55.7266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:05:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --ssh-key-value + -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/206d5ae6-8b68-45d1-9ce6-39c3e8df1f2c?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e65a6d20-688b-d145-9ce6-39c3e8df1f2c\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:04:55.7266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:06:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --ssh-key-value + -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/206d5ae6-8b68-45d1-9ce6-39c3e8df1f2c?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e65a6d20-688b-d145-9ce6-39c3e8df1f2c\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:04:55.7266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:06:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --ssh-key-value + -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/206d5ae6-8b68-45d1-9ce6-39c3e8df1f2c?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e65a6d20-688b-d145-9ce6-39c3e8df1f2c\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:04:55.7266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:07:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --ssh-key-value + -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/206d5ae6-8b68-45d1-9ce6-39c3e8df1f2c?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e65a6d20-688b-d145-9ce6-39c3e8df1f2c\",\n \"status\"\ + : \"Succeeded\",\n \"startTime\": \"2022-03-29T23:04:55.7266666Z\",\n \"\ + endTime\": \"2022-03-29T23:07:48.7137127Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:07:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --ssh-key-value + -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-02-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ + ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\"\ + : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\"\ + : \"Running\"\n },\n \"kubernetesVersion\": \"1.21.9\",\n \"currentKubernetesVersion\"\ + : \"1.21.9\",\n \"dnsPrefix\": \"cliakstest-clitestspjbi3vdr-8ecadf\",\n\ + \ \"fqdn\": \"cliakstest-clitestspjbi3vdr-8ecadf-978765cc.hcp.westus2.azmk8s.io\"\ + ,\n \"azurePortalFQDN\": \"cliakstest-clitestspjbi3vdr-8ecadf-978765cc.portal.hcp.westus2.azmk8s.io\"\ + ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"\ + count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ + : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ + ,\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n\ + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ + \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.9\"\ + ,\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ + enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ + osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ + : \"AKSUbuntu-1804gen2containerd-2022.03.20\",\n \"enableFIPS\": false\n\ + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\"\ + ,\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"\ + ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ + \ test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ + : {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \ + \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n\ + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\"\ + : {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\"\ + ,\n \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"\ + count\": 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"\ + id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/75194250-b012-4b00-9449-b7459a5c9aef\"\ + \n }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\"\ + : \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\"\ + : \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\"\ + : [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\ + \n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\"\ + : 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\"\ + : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\"\ + ,\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\"\ + :\"00000000-0000-0000-0000-000000000001\"\n }\n },\n \"disableLocalAccounts\"\ + : false,\n \"securityProfile\": {},\n \"oidcIssuerProfile\": {\n \"\ + enabled\": false\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\"\ + ,\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\"\ + : \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\"\ + : \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4030' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:07:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - aks nodepool snapshot create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --aks-custom-headers --nodepool-id -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-resource/20.0.0 Python/3.10.2 + (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"cause":"automation","date":"2022-03-29T23:04:46Z","deletion_due_time":"1648854431","deletion_marked_by":"gc","product":"azurecli"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '364' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 29 Mar 2022 23:07:57 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": {"creationData": {"sourceResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004"}, + "snapshotType": "NodePool"}}' + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool snapshot create + Connection: + - keep-alive + Content-Length: + - '278' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --aks-custom-headers --nodepool-id -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006?api-version=2022-02-02-preview + response: + body: + string: "{\n \"name\": \"s000006\",\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ + ,\n \"type\": \"Microsoft.ContainerService/Snapshots\",\n \"location\":\ + \ \"westus2\",\n \"systemData\": {\n \"createdBy\": \"qizhe@microsoft.com\"\ + ,\n \"createdByType\": \"User\",\n \"createdAt\": \"2022-03-29T23:07:59.1564824Z\"\ + ,\n \"lastModifiedBy\": \"qizhe@microsoft.com\",\n \"lastModifiedByType\"\ + : \"User\",\n \"lastModifiedAt\": \"2022-03-29T23:07:59.1564824Z\"\n },\n\ + \ \"properties\": {\n \"creationData\": {\n \"sourceResourceId\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\"\ + \n },\n \"snapshotType\": \"NodePool\",\n \"kubernetesVersion\": \"\ + 1.21.9\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.03.20\"\ + ,\n \"osType\": \"Linux\",\n \"osSku\": \"Ubuntu\",\n \"vmSize\": \"\ + Standard_DS2_v2\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '965' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:07:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - aks delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --yes --no-wait + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-02-02-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8f855b08-e439-4c27-b425-3c93c468bb1b?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 29 Mar 2022 23:08:00 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/8f855b08-e439-4c27-b425-3c93c468bb1b?api-version=2016-03-30 + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool snapshot show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006?api-version=2022-02-02-preview + response: + body: + string: "{\n \"name\": \"s000006\",\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ + ,\n \"type\": \"Microsoft.ContainerService/Snapshots\",\n \"location\":\ + \ \"westus2\",\n \"systemData\": {\n \"createdBy\": \"qizhe@microsoft.com\"\ + ,\n \"createdByType\": \"User\",\n \"createdAt\": \"2022-03-29T23:07:59.1564824Z\"\ + ,\n \"lastModifiedBy\": \"qizhe@microsoft.com\",\n \"lastModifiedByType\"\ + : \"User\",\n \"lastModifiedAt\": \"2022-03-29T23:07:59.1564824Z\"\n },\n\ + \ \"properties\": {\n \"creationData\": {\n \"sourceResourceId\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\"\ + \n },\n \"snapshotType\": \"NodePool\",\n \"kubernetesVersion\": \"\ + 1.21.9\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.03.20\"\ + ,\n \"osType\": \"Linux\",\n \"osSku\": \"Ubuntu\",\n \"vmSize\": \"\ + Standard_DS2_v2\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '965' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:08:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - aks nodepool snapshot list + Connection: + - keep-alive + ParameterSetName: + - --resource-group -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots?api-version=2022-02-02-preview + response: + body: + string: "{\n \"value\": [\n {\n \"name\": \"s000006\",\n \"id\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ + ,\n \"type\": \"Microsoft.ContainerService/Snapshots\",\n \"location\"\ + : \"westus2\",\n \"systemData\": {\n \"createdBy\": \"qizhe@microsoft.com\"\ + ,\n \"createdByType\": \"User\",\n \"createdAt\": \"2022-03-29T23:07:59.1564824Z\"\ + ,\n \"lastModifiedBy\": \"qizhe@microsoft.com\",\n \"lastModifiedByType\"\ + : \"User\",\n \"lastModifiedAt\": \"2022-03-29T23:07:59.1564824Z\"\n \ + \ },\n \"properties\": {\n \"creationData\": {\n \"sourceResourceId\"\ + : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\"\ + \n },\n \"snapshotType\": \"NodePool\",\n \"kubernetesVersion\"\ + : \"1.21.9\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.03.20\"\ + ,\n \"osType\": \"Linux\",\n \"osSku\": \"Ubuntu\",\n \"vmSize\"\ + : \"Standard_DS2_v2\"\n }\n }\n ]\n }" + headers: + cache-control: + - no-cache + content-length: + - '1038' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:08:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --snapshot-id + --aks-custom-headers -k --ssh-key-value -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006?api-version=2022-02-02-preview + response: + body: + string: "{\n \"name\": \"s000006\",\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ + ,\n \"type\": \"Microsoft.ContainerService/Snapshots\",\n \"location\":\ + \ \"westus2\",\n \"systemData\": {\n \"createdBy\": \"qizhe@microsoft.com\"\ + ,\n \"createdByType\": \"User\",\n \"createdAt\": \"2022-03-29T23:07:59.1564824Z\"\ + ,\n \"lastModifiedBy\": \"qizhe@microsoft.com\",\n \"lastModifiedByType\"\ + : \"User\",\n \"lastModifiedAt\": \"2022-03-29T23:07:59.1564824Z\"\n },\n\ + \ \"properties\": {\n \"creationData\": {\n \"sourceResourceId\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\"\ + \n },\n \"snapshotType\": \"NodePool\",\n \"kubernetesVersion\": \"\ + 1.21.9\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.03.20\"\ + ,\n \"osType\": \"Linux\",\n \"osSku\": \"Ubuntu\",\n \"vmSize\": \"\ + Standard_DS2_v2\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '965' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:08:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "1.22.6", "dnsPrefix": "cliakstest-clitestspjbi3vdr-8ecadf", + "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": false, + "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, + "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": + -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "creationData": {"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006"}, + "name": "c000004"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": + false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": + "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}, + "disableLocalAccounts": false}}' + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1948' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --snapshot-id + --aks-custom-headers -k --ssh-key-value -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2022-02-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003\"\ + ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000003\",\n \"type\"\ + : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\"\ + : \"Running\"\n },\n \"kubernetesVersion\": \"1.22.6\",\n \"currentKubernetesVersion\"\ + : \"1.22.6\",\n \"dnsPrefix\": \"cliakstest-clitestspjbi3vdr-8ecadf\",\n\ + \ \"fqdn\": \"cliakstest-clitestspjbi3vdr-8ecadf-e6436563.hcp.westus2.azmk8s.io\"\ + ,\n \"azurePortalFQDN\": \"cliakstest-clitestspjbi3vdr-8ecadf-e6436563.portal.hcp.westus2.azmk8s.io\"\ + ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"\ + count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ + : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ + ,\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n\ + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \ + \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.22.6\"\ + ,\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ + enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ + osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ + : \"AKSUbuntu-1804gen2containerd-2022.03.20\",\n \"enableFIPS\": false,\n\ + \ \"creationData\": {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ + \n }\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"\ + azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\"\ + : \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ + \ test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ + : {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \ + \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000003_westus2\",\n\ + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\"\ + : {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\"\ + ,\n \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"\ + count\": 1\n }\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\"\ + : \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\"\ + : \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\"\ + : [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\ + \n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\"\ + : 100,\n \"disableLocalAccounts\": false,\n \"securityProfile\": {},\n\ + \ \"oidcIssuerProfile\": {\n \"enabled\": false\n }\n },\n \"identity\"\ + : {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\ + ,\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\"\ + : {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/356c1a64-d2b9-4809-9b55-20d2dba6dd2a?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3572' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:08:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --snapshot-id + --aks-custom-headers -k --ssh-key-value -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/356c1a64-d2b9-4809-9b55-20d2dba6dd2a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"641a6c35-b9d2-0948-9b55-20d2dba6dd2a\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:08:07.6666666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:08:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --snapshot-id + --aks-custom-headers -k --ssh-key-value -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/356c1a64-d2b9-4809-9b55-20d2dba6dd2a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"641a6c35-b9d2-0948-9b55-20d2dba6dd2a\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:08:07.6666666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:09:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --snapshot-id + --aks-custom-headers -k --ssh-key-value -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/356c1a64-d2b9-4809-9b55-20d2dba6dd2a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"641a6c35-b9d2-0948-9b55-20d2dba6dd2a\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:08:07.6666666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:09:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --snapshot-id + --aks-custom-headers -k --ssh-key-value -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/356c1a64-d2b9-4809-9b55-20d2dba6dd2a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"641a6c35-b9d2-0948-9b55-20d2dba6dd2a\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:08:07.6666666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:10:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --snapshot-id + --aks-custom-headers -k --ssh-key-value -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/356c1a64-d2b9-4809-9b55-20d2dba6dd2a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"641a6c35-b9d2-0948-9b55-20d2dba6dd2a\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:08:07.6666666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:10:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --snapshot-id + --aks-custom-headers -k --ssh-key-value -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/356c1a64-d2b9-4809-9b55-20d2dba6dd2a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"641a6c35-b9d2-0948-9b55-20d2dba6dd2a\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:08:07.6666666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:11:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --snapshot-id + --aks-custom-headers -k --ssh-key-value -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/356c1a64-d2b9-4809-9b55-20d2dba6dd2a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"641a6c35-b9d2-0948-9b55-20d2dba6dd2a\",\n \"status\"\ + : \"Succeeded\",\n \"startTime\": \"2022-03-29T23:08:07.6666666Z\",\n \"\ + endTime\": \"2022-03-29T23:11:35.9003563Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:11:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --snapshot-id + --aks-custom-headers -k --ssh-key-value -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2022-02-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003\"\ + ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000003\",\n \"type\"\ + : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\"\ + : \"Running\"\n },\n \"kubernetesVersion\": \"1.22.6\",\n \"currentKubernetesVersion\"\ + : \"1.22.6\",\n \"dnsPrefix\": \"cliakstest-clitestspjbi3vdr-8ecadf\",\n\ + \ \"fqdn\": \"cliakstest-clitestspjbi3vdr-8ecadf-e6436563.hcp.westus2.azmk8s.io\"\ + ,\n \"azurePortalFQDN\": \"cliakstest-clitestspjbi3vdr-8ecadf-e6436563.portal.hcp.westus2.azmk8s.io\"\ + ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"\ + count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ + : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ + ,\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n\ + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ + \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.22.6\"\ + ,\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ + enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ + osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ + : \"AKSUbuntu-1804gen2containerd-2022.03.20\",\n \"enableFIPS\": false,\n\ + \ \"creationData\": {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ + \n }\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"\ + azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\"\ + : \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ + \ test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ + : {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \ + \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000003_westus2\",\n\ + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\"\ + : {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\"\ + ,\n \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"\ + count\": 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"\ + id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.Network/publicIPAddresses/6f0515f2-c3cc-4397-8005-3fbb3f05c3d2\"\ + \n }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\"\ + : \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\"\ + : \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\"\ + : [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\ + \n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\"\ + : 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\"\ + : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003-agentpool\"\ + ,\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\"\ + :\"00000000-0000-0000-0000-000000000001\"\n }\n },\n \"disableLocalAccounts\"\ + : false,\n \"securityProfile\": {},\n \"oidcIssuerProfile\": {\n \"\ + enabled\": false\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\"\ + ,\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\"\ + : \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\"\ + : \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4225' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:11:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --aks-custom-headers -k + --snapshot-id -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools?api-version=2022-02-02-preview + response: + body: + string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000004\"\ + ,\n \"name\": \"c000004\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\"\ + ,\n \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\"\ + ,\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"\ + kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n\ + \ \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\"\ + ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ + : \"1.22.6\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\"\ + ,\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n\ + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ + : \"AKSUbuntu-1804gen2containerd-2022.03.20\",\n \"enableFIPS\": false,\n\ + \ \"creationData\": {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ + \n }\n }\n }\n ]\n }" + headers: + cache-control: + - no-cache + content-length: + - '1194' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:11:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --aks-custom-headers -k + --snapshot-id -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006?api-version=2022-02-02-preview + response: + body: + string: "{\n \"name\": \"s000006\",\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ + ,\n \"type\": \"Microsoft.ContainerService/Snapshots\",\n \"location\":\ + \ \"westus2\",\n \"systemData\": {\n \"createdBy\": \"qizhe@microsoft.com\"\ + ,\n \"createdByType\": \"User\",\n \"createdAt\": \"2022-03-29T23:07:59.1564824Z\"\ + ,\n \"lastModifiedBy\": \"qizhe@microsoft.com\",\n \"lastModifiedByType\"\ + : \"User\",\n \"lastModifiedAt\": \"2022-03-29T23:07:59.1564824Z\"\n },\n\ + \ \"properties\": {\n \"creationData\": {\n \"sourceResourceId\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\"\ + \n },\n \"snapshotType\": \"NodePool\",\n \"kubernetesVersion\": \"\ + 1.21.9\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.03.20\"\ + ,\n \"osType\": \"Linux\",\n \"osSku\": \"Ubuntu\",\n \"vmSize\": \"\ + Standard_DS2_v2\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '965' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:11:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: '{"properties": {"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "osSKU": "Ubuntu", "scaleDownMode": "Delete", + "mode": "User", "orchestratorVersion": "1.22.6", "upgradeSettings": {}, "enableNodePublicIP": + false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": + -1.0, "nodeTaints": [], "enableEncryptionAtHost": false, "enableUltraSSD": false, + "enableFIPS": false, "creationData": {"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006"}}}' + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + Content-Length: + - '621' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --cluster-name --name --node-count --aks-custom-headers -k + --snapshot-id -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005?api-version=2022-02-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005\"\ + ,\n \"name\": \"c000005\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\"\ + ,\n \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\"\ + ,\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\"\ + : \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n\ + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\"\ + ,\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\"\ + : \"Running\"\n },\n \"orchestratorVersion\": \"1.22.6\",\n \"enableNodePublicIP\"\ + : false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n\ + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"\ + Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.03.20\"\ + ,\n \"upgradeSettings\": {},\n \"enableFIPS\": false,\n \"creationData\"\ + : {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ + \n }\n }\n }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d2c3abc6-e44d-4976-864a-1ef7ac1d22d1?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '1129' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:11:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --aks-custom-headers -k + --snapshot-id -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d2c3abc6-e44d-4976-864a-1ef7ac1d22d1?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"c6abc3d2-4de4-7649-864a-1ef7ac1d22d1\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:11:44.67Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:12:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --aks-custom-headers -k + --snapshot-id -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d2c3abc6-e44d-4976-864a-1ef7ac1d22d1?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"c6abc3d2-4de4-7649-864a-1ef7ac1d22d1\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:11:44.67Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:12:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --aks-custom-headers -k + --snapshot-id -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d2c3abc6-e44d-4976-864a-1ef7ac1d22d1?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"c6abc3d2-4de4-7649-864a-1ef7ac1d22d1\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:11:44.67Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:13:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --aks-custom-headers -k + --snapshot-id -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d2c3abc6-e44d-4976-864a-1ef7ac1d22d1?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"c6abc3d2-4de4-7649-864a-1ef7ac1d22d1\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:11:44.67Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:13:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --aks-custom-headers -k + --snapshot-id -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d2c3abc6-e44d-4976-864a-1ef7ac1d22d1?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"c6abc3d2-4de4-7649-864a-1ef7ac1d22d1\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:11:44.67Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:14:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --aks-custom-headers -k + --snapshot-id -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d2c3abc6-e44d-4976-864a-1ef7ac1d22d1?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"c6abc3d2-4de4-7649-864a-1ef7ac1d22d1\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:11:44.67Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:14:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --aks-custom-headers -k + --snapshot-id -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d2c3abc6-e44d-4976-864a-1ef7ac1d22d1?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"c6abc3d2-4de4-7649-864a-1ef7ac1d22d1\",\n \"status\"\ + : \"Succeeded\",\n \"startTime\": \"2022-03-29T23:11:44.67Z\",\n \"endTime\"\ + : \"2022-03-29T23:15:07.1311844Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:15:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --aks-custom-headers -k + --snapshot-id -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005?api-version=2022-02-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005\"\ + ,\n \"name\": \"c000005\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\"\ + ,\n \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\"\ + ,\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\"\ + : \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n\ + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\"\ + ,\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ + code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.22.6\",\n \"\ + enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\"\ + : false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"\ + osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.03.20\"\ + ,\n \"upgradeSettings\": {},\n \"enableFIPS\": false,\n \"creationData\"\ + : {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ + \n }\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '1130' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:15:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2022-02-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003\"\ + ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000003\",\n \"type\"\ + : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\"\ + : \"Running\"\n },\n \"kubernetesVersion\": \"1.22.6\",\n \"currentKubernetesVersion\"\ + : \"1.22.6\",\n \"dnsPrefix\": \"cliakstest-clitestspjbi3vdr-8ecadf\",\n\ + \ \"fqdn\": \"cliakstest-clitestspjbi3vdr-8ecadf-e6436563.hcp.westus2.azmk8s.io\"\ + ,\n \"azurePortalFQDN\": \"cliakstest-clitestspjbi3vdr-8ecadf-e6436563.portal.hcp.westus2.azmk8s.io\"\ + ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"\ + count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ + : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ + ,\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n\ + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ + \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.22.6\"\ + ,\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ + enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ + osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ + : \"AKSUbuntu-1804gen2containerd-2022.03.20\",\n \"enableFIPS\": false,\n\ + \ \"creationData\": {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ + \n }\n },\n {\n \"name\": \"c000005\",\n \"count\": 1,\n\ + \ \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \ + \ \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"\ + workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\"\ + : \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ + code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.22.6\",\n\ + \ \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\"\ + : false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \ + \ \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.03.20\"\ + ,\n \"upgradeSettings\": {},\n \"enableFIPS\": false,\n \"creationData\"\ + : {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ + \n }\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"\ + azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\"\ + : \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ + \ test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ + : {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \ + \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000003_westus2\",\n\ + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\"\ + : {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\"\ + ,\n \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"\ + count\": 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"\ + id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.Network/publicIPAddresses/6f0515f2-c3cc-4397-8005-3fbb3f05c3d2\"\ + \n }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\"\ + : \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\"\ + : \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\"\ + : [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\ + \n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\"\ + : 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\"\ + : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003-agentpool\"\ + ,\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\"\ + :\"00000000-0000-0000-0000-000000000001\"\n }\n },\n \"disableLocalAccounts\"\ + : false,\n \"securityProfile\": {},\n \"oidcIssuerProfile\": {\n \"\ + enabled\": false\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\"\ + ,\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\"\ + : \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\"\ + : \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '5149' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:15:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.23.3", "dnsPrefix": + "cliakstest-clitestspjbi3vdr-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.23.3", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "c000004"}, {"count": 1, "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": + "OCIContainer", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "scaleDownMode": + "Delete", "type": "VirtualMachineScaleSets", "mode": "User", "orchestratorVersion": + "1.23.3", "upgradeSettings": {}, "powerState": {"code": "Running"}, "enableNodePublicIP": + false, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "name": "c000005"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": + {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "oidcIssuerProfile": {"enabled": false}, "nodeResourceGroup": + "MC_clitest000001_cliakstest000003_westus2", "enableRBAC": true, "enablePodSecurityPolicy": + false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": + "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "Standard", + "loadBalancerProfile": {"managedOutboundIPs": {"count": 1}, "effectiveOutboundIPs": + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.Network/publicIPAddresses/6f0515f2-c3cc-4397-8005-3fbb3f05c3d2"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003-agentpool", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false, "securityProfile": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + Content-Length: + - '3221' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2022-02-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003\"\ + ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000003\",\n \"type\"\ + : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ + \ \"provisioningState\": \"Upgrading\",\n \"powerState\": {\n \"code\"\ + : \"Running\"\n },\n \"kubernetesVersion\": \"1.22.6\",\n \"currentKubernetesVersion\"\ + : \"1.23.3\",\n \"dnsPrefix\": \"cliakstest-clitestspjbi3vdr-8ecadf\",\n\ + \ \"fqdn\": \"cliakstest-clitestspjbi3vdr-8ecadf-e6436563.hcp.westus2.azmk8s.io\"\ + ,\n \"azurePortalFQDN\": \"cliakstest-clitestspjbi3vdr-8ecadf-e6436563.portal.hcp.westus2.azmk8s.io\"\ + ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"\ + count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ + : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ + ,\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n\ + \ \"provisioningState\": \"Upgrading\",\n \"powerState\": {\n \ + \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.23.3\"\ + ,\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ + enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ + osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ + : \"AKSUbuntu-1804gen2containerd-2022.03.20\",\n \"enableFIPS\": false\n\ + \ },\n {\n \"name\": \"c000005\",\n \"count\": 1,\n \"vmSize\"\ + : \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\":\ + \ \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\"\ + : \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\"\ + ,\n \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Upgrading\"\ + ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ + : \"1.23.3\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\"\ + ,\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n\ + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ + : \"AKSUbuntu-1804gen2containerd-2022.03.20\",\n \"upgradeSettings\":\ + \ {},\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n\ + \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ + : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ + \ test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ + : {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \ + \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000003_westus2\",\n\ + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\"\ + : {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\"\ + ,\n \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"\ + count\": 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"\ + id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.Network/publicIPAddresses/6f0515f2-c3cc-4397-8005-3fbb3f05c3d2\"\ + \n }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\"\ + : \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\"\ + : \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\"\ + : [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\ + \n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\"\ + : 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\"\ + : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003-agentpool\"\ + ,\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\"\ + :\"00000000-0000-0000-0000-000000000001\"\n }\n },\n \"disableLocalAccounts\"\ + : false,\n \"securityProfile\": {},\n \"oidcIssuerProfile\": {\n \"\ + enabled\": false\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\"\ + ,\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\"\ + : \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\"\ + : \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '4759' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:15:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:15:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:16:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:16:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:17:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:17:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:18:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:18:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:19:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:19:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:20:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:20:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:21:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:21:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:22:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:22:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:23:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:23:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:24:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:24:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:25:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:25:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:26:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:26:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:27:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:27:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:28:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b2c6e5d6-52fc-441e-ab0b-b9e40cdc5812?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d6e5c6b2-fc52-1e44-ab0b-b9e40cdc5812\",\n \"status\"\ + : \"Succeeded\",\n \"startTime\": \"2022-03-29T23:15:20.25Z\",\n \"endTime\"\ + : \"2022-03-29T23:28:48.2090939Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:28:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -k --yes -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2022-02-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003\"\ + ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000003\",\n \"type\"\ + : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\"\ + : \"Running\"\n },\n \"kubernetesVersion\": \"1.22.6\",\n \"currentKubernetesVersion\"\ + : \"1.23.3\",\n \"dnsPrefix\": \"cliakstest-clitestspjbi3vdr-8ecadf\",\n\ + \ \"fqdn\": \"cliakstest-clitestspjbi3vdr-8ecadf-e6436563.hcp.westus2.azmk8s.io\"\ + ,\n \"azurePortalFQDN\": \"cliakstest-clitestspjbi3vdr-8ecadf-e6436563.portal.hcp.westus2.azmk8s.io\"\ + ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"\ + count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ + : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ + ,\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n\ + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ + \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.23.3\"\ + ,\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ + enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ + osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ + : \"AKSUbuntu-1804gen2containerd-2022.03.20\",\n \"enableFIPS\": false\n\ + \ },\n {\n \"name\": \"c000005\",\n \"count\": 1,\n \"vmSize\"\ + : \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\":\ + \ \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\"\ + : \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\"\ + ,\n \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\"\ + ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ + : \"1.23.3\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\"\ + ,\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n\ + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ + : \"AKSUbuntu-1804gen2containerd-2022.03.20\",\n \"upgradeSettings\":\ + \ {},\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n\ + \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ + : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ + \ test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ + : {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \ + \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000003_westus2\",\n\ + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\"\ + : {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\"\ + ,\n \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"\ + count\": 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"\ + id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.Network/publicIPAddresses/6f0515f2-c3cc-4397-8005-3fbb3f05c3d2\"\ + \n }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\"\ + : \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\"\ + : \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\"\ + : [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\ + \n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\"\ + : 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\"\ + : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003-agentpool\"\ + ,\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\"\ + :\"00000000-0000-0000-0000-000000000001\"\n }\n },\n \"disableLocalAccounts\"\ + : false,\n \"securityProfile\": {},\n \"oidcIssuerProfile\": {\n \"\ + enabled\": false\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\"\ + ,\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\"\ + : \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\"\ + : \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4759' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:28:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + AKSSnapshotId: + - /subscriptions/8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8/resourceGroups/clitestspjbi3vdr3/providers/Microsoft.ContainerService/snapshots/saispbevd6knx2ow + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool upgrade + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --cluster-name -n --node-image-only --no-wait --snapshot-id + -o + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005/upgradeNodeImageVersion?api-version=2022-02-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005\"\ + ,\n \"name\": \"c000005\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\"\ + ,\n \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\"\ + ,\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\"\ + : \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n\ + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\"\ + ,\n \"provisioningState\": \"UpgradingNodeImageVersion\",\n \"powerState\"\ + : {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.23.3\"\ + ,\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\"\ + : false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"\ + osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.03.20\"\ + ,\n \"upgradeSettings\": {},\n \"enableFIPS\": false,\n \"creationData\"\ + : {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ + \n }\n }\n }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/96dd9586-e2d1-44e8-8e2f-6de2410d9195?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '1146' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:28:57 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/96dd9586-e2d1-44e8-8e2f-6de2410d9195?api-version=2016-03-30 + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name -n + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005?api-version=2022-02-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005\"\ + ,\n \"name\": \"c000005\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\"\ + ,\n \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\"\ + ,\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\"\ + : \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n\ + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\"\ + ,\n \"provisioningState\": \"UpgradingNodeImageVersion\",\n \"powerState\"\ + : {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.23.3\"\ + ,\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\"\ + : false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"\ + osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.03.20\"\ + ,\n \"upgradeSettings\": {},\n \"enableFIPS\": false,\n \"creationData\"\ + : {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ + \n }\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '1146' + content-type: + - application/json + date: + - Tue, 29 Mar 2022 23:28:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - aks delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --yes --no-wait + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2022-02-02-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2da3e685-4590-4c1e-bcad-b0243c425147?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 29 Mar 2022 23:29:00 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/2da3e685-4590-4c1e-bcad-b0243c425147?api-version=2016-03-30 + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool snapshot delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name --yes --no-wait + User-Agent: + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006?api-version=2022-02-02-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 29 Mar 2022 23:29:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +version: 1 diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_snapshot.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_snapshot.yaml index 09b650e88f2..9d6755e869c 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_snapshot.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_snapshot.yaml @@ -13,45 +13,47 @@ interactions: ParameterSetName: - -l --query User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0 Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/18.0.0 Python/3.10.2 + (Linux-5.10.25-linuxkit-x86_64-with) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/orchestrators?api-version=2019-04-01&resource-type=managedClusters response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/orchestrators\",\n - \ \"name\": \"default\",\n \"type\": \"Microsoft.ContainerService/locations/orchestrators\",\n - \ \"properties\": {\n \"orchestrators\": [\n {\n \"orchestratorType\": - \"Kubernetes\",\n \"orchestratorVersion\": \"1.20.13\",\n \"upgrades\": - [\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": - \"1.20.15\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n - \ \"orchestratorVersion\": \"1.21.7\"\n },\n {\n \"orchestratorType\": - \"Kubernetes\",\n \"orchestratorVersion\": \"1.21.9\"\n }\n ]\n - \ },\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": - \"1.20.15\",\n \"upgrades\": [\n {\n \"orchestratorType\": - \"Kubernetes\",\n \"orchestratorVersion\": \"1.21.7\"\n },\n {\n - \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": - \"1.21.9\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n - \ \"orchestratorVersion\": \"1.21.7\",\n \"upgrades\": [\n {\n - \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": - \"1.21.9\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n - \ \"orchestratorVersion\": \"1.22.4\"\n },\n {\n \"orchestratorType\": - \"Kubernetes\",\n \"orchestratorVersion\": \"1.22.6\"\n }\n ]\n - \ },\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": - \"1.21.9\",\n \"default\": true,\n \"upgrades\": [\n {\n \"orchestratorType\": - \"Kubernetes\",\n \"orchestratorVersion\": \"1.22.4\"\n },\n {\n - \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": - \"1.22.6\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n - \ \"orchestratorVersion\": \"1.22.4\",\n \"upgrades\": [\n {\n - \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": - \"1.22.6\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n - \ \"orchestratorVersion\": \"1.23.3\",\n \"isPreview\": true\n - \ }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n - \ \"orchestratorVersion\": \"1.22.6\",\n \"upgrades\": [\n {\n - \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": - \"1.23.3\",\n \"isPreview\": true\n }\n ]\n },\n {\n - \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": - \"1.23.3\",\n \"isPreview\": true\n }\n ]\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/orchestrators\"\ + ,\n \"name\": \"default\",\n \"type\": \"Microsoft.ContainerService/locations/orchestrators\"\ + ,\n \"properties\": {\n \"orchestrators\": [\n {\n \"orchestratorType\"\ + : \"Kubernetes\",\n \"orchestratorVersion\": \"1.20.13\",\n \"upgrades\"\ + : [\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ + : \"1.20.15\"\n },\n {\n \"orchestratorType\": \"Kubernetes\"\ + ,\n \"orchestratorVersion\": \"1.21.7\"\n },\n {\n \"\ + orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": \"1.21.9\"\ + \n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\"\ + ,\n \"orchestratorVersion\": \"1.20.15\",\n \"upgrades\": [\n \ + \ {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ + : \"1.21.7\"\n },\n {\n \"orchestratorType\": \"Kubernetes\"\ + ,\n \"orchestratorVersion\": \"1.21.9\"\n }\n ]\n },\n \ + \ {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ + : \"1.21.7\",\n \"upgrades\": [\n {\n \"orchestratorType\"\ + : \"Kubernetes\",\n \"orchestratorVersion\": \"1.21.9\"\n },\n\ + \ {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ + : \"1.22.4\"\n },\n {\n \"orchestratorType\": \"Kubernetes\"\ + ,\n \"orchestratorVersion\": \"1.22.6\"\n }\n ]\n },\n \ + \ {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ + : \"1.21.9\",\n \"default\": true,\n \"upgrades\": [\n {\n \ + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ + : \"1.22.4\"\n },\n {\n \"orchestratorType\": \"Kubernetes\"\ + ,\n \"orchestratorVersion\": \"1.22.6\"\n }\n ]\n },\n \ + \ {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ + : \"1.22.4\",\n \"upgrades\": [\n {\n \"orchestratorType\"\ + : \"Kubernetes\",\n \"orchestratorVersion\": \"1.22.6\"\n },\n\ + \ {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ + : \"1.23.3\",\n \"isPreview\": true\n }\n ]\n },\n {\n\ + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ + : \"1.22.6\",\n \"upgrades\": [\n {\n \"orchestratorType\"\ + : \"Kubernetes\",\n \"orchestratorVersion\": \"1.23.3\",\n \"\ + isPreview\": true\n }\n ]\n },\n {\n \"orchestratorType\"\ + : \"Kubernetes\",\n \"orchestratorVersion\": \"1.23.3\",\n \"isPreview\"\ + : true\n }\n ]\n }\n }" headers: cache-control: - no-cache @@ -60,7 +62,7 @@ interactions: content-type: - application/json date: - - Mon, 21 Mar 2022 05:25:59 GMT + - Wed, 30 Mar 2022 02:39:51 GMT expires: - '-1' pragma: @@ -80,18 +82,18 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestuapvzyxvo-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestlyd6v23qe-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false, "name": "c000004"}], "linuxProfile": - {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCumQ7QuaQdPndgxn9hQULXqCXVDEmxKAKAKqkLYTy/yXSHURHnIap9+bhoGn9qwtBL9Ue2NNWSgNO/Qig3evn4cGgK5cDl+Q6NKKlEmyObga4JWBFrFKYu/apHCkPqQZClsX98qvcmDVOfoKpCp2KhaEPdA6uQPZRSpDYSlnAUUm0uOc/JL+9ka7lIpw9JNEuts+oVdeUjbB7nSLvjJx65I8XrhRJHszl2CyQg24t/sP1iCkiQLajnMIM6qfifdltiQJ3HZ6BL3SY69jG5prXBb3kINq+mcZwIe/N/OUeJRznRHr38wVKbzZuaPosWDSceMscoNIUB8bgOiqmVc1mz - azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {}, "enableRBAC": true, - "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": - "standard"}, "disableLocalAccounts": false}}' + {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": + false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": + "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}, + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -102,65 +104,68 @@ interactions: Connection: - keep-alive Content-Length: - - '1417' + - '1746' Content-Type: - application/json ParameterSetName: - --resource-group --name --location --nodepool-name --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-02-02-preview response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.21.9\",\n \"currentKubernetesVersion\": \"1.21.9\",\n \"dnsPrefix\": - \"cliakstest-clitestuapvzyxvo-8ecadf\",\n \"fqdn\": \"cliakstest-clitestuapvzyxvo-8ecadf-8d33ef34.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestuapvzyxvo-8ecadf-8d33ef34.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"count\": - 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.21.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2022.03.02\",\n \"enableFIPS\": false\n - \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCumQ7QuaQdPndgxn9hQULXqCXVDEmxKAKAKqkLYTy/yXSHURHnIap9+bhoGn9qwtBL9Ue2NNWSgNO/Qig3evn4cGgK5cDl+Q6NKKlEmyObga4JWBFrFKYu/apHCkPqQZClsX98qvcmDVOfoKpCp2KhaEPdA6uQPZRSpDYSlnAUUm0uOc/JL+9ka7lIpw9JNEuts+oVdeUjbB7nSLvjJx65I8XrhRJHszl2CyQg24t/sP1iCkiQLajnMIM6qfifdltiQJ3HZ6BL3SY69jG5prXBb3kINq+mcZwIe/N/OUeJRznRHr38wVKbzZuaPosWDSceMscoNIUB8bgOiqmVc1mz - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": - \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n - \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": - \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n \"loadBalancerProfile\": - {\n \"managedOutboundIPs\": {\n \"count\": 1\n }\n },\n \"podCidr\": - \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": - \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": - [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n - \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": - {\n \"enabled\": false\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n - \ \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\": - \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": - \"Basic\",\n \"tier\": \"Free\"\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ + ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\"\ + : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\"\ + : \"Running\"\n },\n \"kubernetesVersion\": \"1.21.9\",\n \"currentKubernetesVersion\"\ + : \"1.21.9\",\n \"dnsPrefix\": \"cliakstest-clitestlyd6v23qe-8ecadf\",\n\ + \ \"fqdn\": \"cliakstest-clitestlyd6v23qe-8ecadf-f6f5535b.hcp.westus2.azmk8s.io\"\ + ,\n \"azurePortalFQDN\": \"cliakstest-clitestlyd6v23qe-8ecadf-f6f5535b.portal.hcp.westus2.azmk8s.io\"\ + ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"\ + count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ + : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ + ,\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n\ + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \ + \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.9\"\ + ,\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ + enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ + osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ + : \"AKSUbuntu-1804gen2containerd-2022.03.20\",\n \"enableFIPS\": false\n\ + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\"\ + ,\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"\ + ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ + \ test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ + : {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \ + \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n\ + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\"\ + : {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\"\ + ,\n \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"\ + count\": 1\n }\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\"\ + : \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\"\ + : \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\"\ + : [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\ + \n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\"\ + : 100,\n \"disableLocalAccounts\": false,\n \"securityProfile\": {},\n\ + \ \"oidcIssuerProfile\": {\n \"enabled\": false\n }\n },\n \"identity\"\ + : {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\ + ,\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\"\ + : {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/32df0475-cb2d-40fc-96af-eba4dd207746?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8bc2105f-958b-4cf1-9cde-0f1f56e24dc2?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3022' + - '3377' content-type: - application/json date: - - Mon, 21 Mar 2022 05:26:03 GMT + - Wed, 30 Mar 2022 02:39:57 GMT expires: - '-1' pragma: @@ -172,7 +177,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1188' + - '1199' status: code: 201 message: Created @@ -191,23 +196,23 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/32df0475-cb2d-40fc-96af-eba4dd207746?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8bc2105f-958b-4cf1-9cde-0f1f56e24dc2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7504df32-2dcb-fc40-96af-eba4dd207746\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:26:03.8266666Z\"\n }" + string: "{\n \"name\": \"5f10c28b-8b95-f14c-9cde-0f1f56e24dc2\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-30T02:39:57.67Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 21 Mar 2022 05:26:33 GMT + - Wed, 30 Mar 2022 02:40:28 GMT expires: - '-1' pragma: @@ -240,23 +245,23 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/32df0475-cb2d-40fc-96af-eba4dd207746?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8bc2105f-958b-4cf1-9cde-0f1f56e24dc2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7504df32-2dcb-fc40-96af-eba4dd207746\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:26:03.8266666Z\"\n }" + string: "{\n \"name\": \"5f10c28b-8b95-f14c-9cde-0f1f56e24dc2\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-30T02:39:57.67Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 21 Mar 2022 05:27:03 GMT + - Wed, 30 Mar 2022 02:40:57 GMT expires: - '-1' pragma: @@ -289,23 +294,23 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/32df0475-cb2d-40fc-96af-eba4dd207746?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8bc2105f-958b-4cf1-9cde-0f1f56e24dc2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7504df32-2dcb-fc40-96af-eba4dd207746\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:26:03.8266666Z\"\n }" + string: "{\n \"name\": \"5f10c28b-8b95-f14c-9cde-0f1f56e24dc2\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-30T02:39:57.67Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 21 Mar 2022 05:27:34 GMT + - Wed, 30 Mar 2022 02:41:28 GMT expires: - '-1' pragma: @@ -338,23 +343,23 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/32df0475-cb2d-40fc-96af-eba4dd207746?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8bc2105f-958b-4cf1-9cde-0f1f56e24dc2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7504df32-2dcb-fc40-96af-eba4dd207746\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:26:03.8266666Z\"\n }" + string: "{\n \"name\": \"5f10c28b-8b95-f14c-9cde-0f1f56e24dc2\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-30T02:39:57.67Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 21 Mar 2022 05:28:03 GMT + - Wed, 30 Mar 2022 02:41:58 GMT expires: - '-1' pragma: @@ -387,23 +392,23 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/32df0475-cb2d-40fc-96af-eba4dd207746?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8bc2105f-958b-4cf1-9cde-0f1f56e24dc2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7504df32-2dcb-fc40-96af-eba4dd207746\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:26:03.8266666Z\"\n }" + string: "{\n \"name\": \"5f10c28b-8b95-f14c-9cde-0f1f56e24dc2\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-30T02:39:57.67Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 21 Mar 2022 05:28:33 GMT + - Wed, 30 Mar 2022 02:42:27 GMT expires: - '-1' pragma: @@ -436,23 +441,23 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/32df0475-cb2d-40fc-96af-eba4dd207746?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8bc2105f-958b-4cf1-9cde-0f1f56e24dc2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7504df32-2dcb-fc40-96af-eba4dd207746\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:26:03.8266666Z\"\n }" + string: "{\n \"name\": \"5f10c28b-8b95-f14c-9cde-0f1f56e24dc2\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-03-30T02:39:57.67Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 21 Mar 2022 05:29:03 GMT + - Wed, 30 Mar 2022 02:42:58 GMT expires: - '-1' pragma: @@ -485,24 +490,24 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/32df0475-cb2d-40fc-96af-eba4dd207746?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8bc2105f-958b-4cf1-9cde-0f1f56e24dc2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7504df32-2dcb-fc40-96af-eba4dd207746\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2022-03-21T05:26:03.8266666Z\",\n \"endTime\": - \"2022-03-21T05:29:17.61604Z\"\n }" + string: "{\n \"name\": \"5f10c28b-8b95-f14c-9cde-0f1f56e24dc2\",\n \"status\"\ + : \"Succeeded\",\n \"startTime\": \"2022-03-30T02:39:57.67Z\",\n \"endTime\"\ + : \"2022-03-30T02:43:15.723263Z\"\n }" headers: cache-control: - no-cache content-length: - - '168' + - '164' content-type: - application/json date: - - Mon, 21 Mar 2022 05:29:34 GMT + - Wed, 30 Mar 2022 02:43:28 GMT expires: - '-1' pragma: @@ -535,61 +540,65 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-02-02-preview response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.21.9\",\n \"currentKubernetesVersion\": \"1.21.9\",\n \"dnsPrefix\": - \"cliakstest-clitestuapvzyxvo-8ecadf\",\n \"fqdn\": \"cliakstest-clitestuapvzyxvo-8ecadf-8d33ef34.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestuapvzyxvo-8ecadf-8d33ef34.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"count\": - 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.21.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2022.03.02\",\n \"enableFIPS\": false\n - \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCumQ7QuaQdPndgxn9hQULXqCXVDEmxKAKAKqkLYTy/yXSHURHnIap9+bhoGn9qwtBL9Ue2NNWSgNO/Qig3evn4cGgK5cDl+Q6NKKlEmyObga4JWBFrFKYu/apHCkPqQZClsX98qvcmDVOfoKpCp2KhaEPdA6uQPZRSpDYSlnAUUm0uOc/JL+9ka7lIpw9JNEuts+oVdeUjbB7nSLvjJx65I8XrhRJHszl2CyQg24t/sP1iCkiQLajnMIM6qfifdltiQJ3HZ6BL3SY69jG5prXBb3kINq+mcZwIe/N/OUeJRznRHr38wVKbzZuaPosWDSceMscoNIUB8bgOiqmVc1mz - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": - \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n - \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": - \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": - {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": - [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9df4b66c-35c2-4f4d-b284-a7c4868f0d1c\"\n - \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": - [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n - \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": - 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": - {\n \"enabled\": false\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n - \ \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\": - \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": - \"Basic\",\n \"tier\": \"Free\"\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ + ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\"\ + : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\"\ + : \"Running\"\n },\n \"kubernetesVersion\": \"1.21.9\",\n \"currentKubernetesVersion\"\ + : \"1.21.9\",\n \"dnsPrefix\": \"cliakstest-clitestlyd6v23qe-8ecadf\",\n\ + \ \"fqdn\": \"cliakstest-clitestlyd6v23qe-8ecadf-f6f5535b.hcp.westus2.azmk8s.io\"\ + ,\n \"azurePortalFQDN\": \"cliakstest-clitestlyd6v23qe-8ecadf-f6f5535b.portal.hcp.westus2.azmk8s.io\"\ + ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"\ + count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ + : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ + ,\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n\ + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ + \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.9\"\ + ,\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ + enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ + osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ + : \"AKSUbuntu-1804gen2containerd-2022.03.20\",\n \"enableFIPS\": false\n\ + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\"\ + ,\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"\ + ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ + \ test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ + : {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \ + \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n\ + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\"\ + : {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\"\ + ,\n \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"\ + count\": 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"\ + id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/61e9348a-7d44-4cef-8b39-67856e849ae3\"\ + \n }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\"\ + : \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\"\ + : \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\"\ + : [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\ + \n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\"\ + : 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\"\ + : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\"\ + ,\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\"\ + :\"00000000-0000-0000-0000-000000000001\"\n }\n },\n \"disableLocalAccounts\"\ + : false,\n \"securityProfile\": {},\n \"oidcIssuerProfile\": {\n \"\ + enabled\": false\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\"\ + ,\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\"\ + : \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\"\ + : \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: cache-control: - no-cache content-length: - - '3675' + - '4030' content-type: - application/json date: - - Mon, 21 Mar 2022 05:29:34 GMT + - Wed, 30 Mar 2022 02:43:29 GMT expires: - '-1' pragma: @@ -619,14 +628,15 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --location --aks-custom-headers --nodepool-id -o + - --resource-group --name --location --aks-custom-headers --cluster-id -o User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-resource/20.0.0 Python/3.10.2 + (Linux-5.10.25-linuxkit-x86_64-with) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"cause":"automation","date":"2022-03-21T05:25:59Z","deletion_due_time":"1648099652","deletion_marked_by":"gc","product":"azurecli"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"cause":"automation","date":"2022-03-30T02:39:49Z","deletion_due_time":"1648867331","deletion_marked_by":"gc","product":"azurecli"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -635,7 +645,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 21 Mar 2022 05:29:35 GMT + - Wed, 30 Mar 2022 02:43:29 GMT expires: - '-1' pragma: @@ -651,11 +661,11 @@ interactions: message: OK - request: body: '{"location": "westus2", "properties": {"creationData": {"sourceResourceId": - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004"}, - "snapshotType": "NodePool"}}' + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002"}, + "snapshotType": "ManagedCluster"}}' headers: AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview + - Microsoft.ContainerService/ManagedClusterSnapshotPreview Accept: - application/json Accept-Encoding: @@ -665,39 +675,40 @@ interactions: Connection: - keep-alive Content-Length: - - '278' + - '265' Content-Type: - application/json ParameterSetName: - - --resource-group --name --location --aks-custom-headers --nodepool-id -o + - --resource-group --name --location --aks-custom-headers --cluster-id -o User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006?api-version=2022-02-02-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedclustersnapshots/s000005?api-version=2022-02-02-preview response: body: - string: "{\n \"name\": \"s000006\",\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\",\n - \ \"type\": \"Microsoft.ContainerService/Snapshots\",\n \"location\": \"westus2\",\n - \ \"systemData\": {\n \"createdBy\": \"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d\",\n - \ \"createdByType\": \"Application\",\n \"createdAt\": \"2022-03-21T05:29:35.6626847Z\",\n - \ \"lastModifiedBy\": \"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d\",\n \"lastModifiedByType\": - \"Application\",\n \"lastModifiedAt\": \"2022-03-21T05:29:35.6626847Z\"\n - \ },\n \"properties\": {\n \"creationData\": {\n \"sourceResourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\"\n - \ },\n \"snapshotType\": \"NodePool\",\n \"kubernetesVersion\": \"1.21.9\",\n - \ \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.03.02\",\n \"osType\": - \"Linux\",\n \"osSku\": \"Ubuntu\",\n \"vmSize\": \"Standard_DS2_v2\"\n - \ }\n }" + string: "{\n \"name\": \"s000005\",\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedclustersnapshots/s000005\"\ + ,\n \"type\": \"Microsoft.ContainerService/ManagedClusterSnapshots\",\n \ + \ \"location\": \"westus2\",\n \"systemData\": {\n \"createdBy\": \"qizhe@microsoft.com\"\ + ,\n \"createdByType\": \"User\",\n \"createdAt\": \"2022-03-30T02:43:31.9866178Z\"\ + ,\n \"lastModifiedBy\": \"qizhe@microsoft.com\",\n \"lastModifiedByType\"\ + : \"User\",\n \"lastModifiedAt\": \"2022-03-30T02:43:31.9866178Z\"\n },\n\ + \ \"properties\": {\n \"creationData\": {\n \"sourceResourceId\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ + \n },\n \"snapshotType\": \"ManagedCluster\",\n \"managedClusterPropertiesReadOnly\"\ + : {\n \"kubernetesVersion\": \"1.21.9\",\n \"sku\": {\n \"name\"\ + : \"Basic\",\n \"tier\": \"Free\"\n },\n \"enableRbac\": true,\n\ + \ \"networkProfile\": {\n \"networkPlugin\": \"kubenet\",\n \"\ + loadBalancerSku\": \"Standard\"\n }\n }\n }\n }" headers: cache-control: - no-cache content-length: - - '1013' + - '1070' content-type: - application/json date: - - Mon, 21 Mar 2022 05:29:35 GMT + - Wed, 30 Mar 2022 02:43:31 GMT expires: - '-1' pragma: @@ -713,7 +724,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1199' status: code: 200 message: OK @@ -733,8 +744,8 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-02-02-preview response: @@ -742,17 +753,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d0d8bcd-f716-4ae9-b1f7-fc738a2efb51?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0c327977-acdb-4f81-9ef6-18ea3eee5be8?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Mon, 21 Mar 2022 05:29:36 GMT + - Wed, 30 Mar 2022 02:43:33 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/2d0d8bcd-f716-4ae9-b1f7-fc738a2efb51?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/0c327977-acdb-4f81-9ef6-18ea3eee5be8?api-version=2016-03-30 pragma: - no-cache server: @@ -762,7 +773,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14989' + - '14999' status: code: 202 message: Accepted @@ -780,33 +791,34 @@ interactions: ParameterSetName: - --resource-group --name -o User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006?api-version=2022-02-02-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedclustersnapshots/s000005?api-version=2022-02-02-preview response: body: - string: "{\n \"name\": \"s000006\",\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\",\n - \ \"type\": \"Microsoft.ContainerService/Snapshots\",\n \"location\": \"westus2\",\n - \ \"systemData\": {\n \"createdBy\": \"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d\",\n - \ \"createdByType\": \"Application\",\n \"createdAt\": \"2022-03-21T05:29:35.6626847Z\",\n - \ \"lastModifiedBy\": \"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d\",\n \"lastModifiedByType\": - \"Application\",\n \"lastModifiedAt\": \"2022-03-21T05:29:35.6626847Z\"\n - \ },\n \"properties\": {\n \"creationData\": {\n \"sourceResourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\"\n - \ },\n \"snapshotType\": \"NodePool\",\n \"kubernetesVersion\": \"1.21.9\",\n - \ \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.03.02\",\n \"osType\": - \"Linux\",\n \"osSku\": \"Ubuntu\",\n \"vmSize\": \"Standard_DS2_v2\"\n - \ }\n }" + string: "{\n \"name\": \"s000005\",\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedclustersnapshots/s000005\"\ + ,\n \"type\": \"Microsoft.ContainerService/ManagedClusterSnapshots\",\n \ + \ \"location\": \"westus2\",\n \"systemData\": {\n \"createdBy\": \"qizhe@microsoft.com\"\ + ,\n \"createdByType\": \"User\",\n \"createdAt\": \"2022-03-30T02:43:31.9866178Z\"\ + ,\n \"lastModifiedBy\": \"qizhe@microsoft.com\",\n \"lastModifiedByType\"\ + : \"User\",\n \"lastModifiedAt\": \"2022-03-30T02:43:31.9866178Z\"\n },\n\ + \ \"properties\": {\n \"creationData\": {\n \"sourceResourceId\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ + \n },\n \"snapshotType\": \"ManagedCluster\",\n \"managedClusterPropertiesReadOnly\"\ + : {\n \"kubernetesVersion\": \"1.21.9\",\n \"sku\": {\n \"name\"\ + : \"Basic\",\n \"tier\": \"Free\"\n },\n \"enableRbac\": true,\n\ + \ \"networkProfile\": {\n \"networkPlugin\": \"kubenet\",\n \"\ + loadBalancerSku\": \"Standard\"\n }\n }\n }\n }" headers: cache-control: - no-cache content-length: - - '1013' + - '1070' content-type: - application/json date: - - Mon, 21 Mar 2022 05:29:35 GMT + - Wed, 30 Mar 2022 02:43:34 GMT expires: - '-1' pragma: @@ -838,399 +850,36 @@ interactions: ParameterSetName: - --resource-group -o User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots?api-version=2022-02-02-preview - response: - body: - string: "{\n \"value\": [\n {\n \"name\": \"s000006\",\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\",\n - \ \"type\": \"Microsoft.ContainerService/Snapshots\",\n \"location\": - \"westus2\",\n \"systemData\": {\n \"createdBy\": \"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d\",\n - \ \"createdByType\": \"Application\",\n \"createdAt\": \"2022-03-21T05:29:35.6626847Z\",\n - \ \"lastModifiedBy\": \"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d\",\n \"lastModifiedByType\": - \"Application\",\n \"lastModifiedAt\": \"2022-03-21T05:29:35.6626847Z\"\n - \ },\n \"properties\": {\n \"creationData\": {\n \"sourceResourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\"\n - \ },\n \"snapshotType\": \"NodePool\",\n \"kubernetesVersion\": - \"1.21.9\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.03.02\",\n - \ \"osType\": \"Linux\",\n \"osSku\": \"Ubuntu\",\n \"vmSize\": - \"Standard_DS2_v2\"\n }\n }\n ]\n }" - headers: - cache-control: - - no-cache - content-length: - - '1086' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:29:36 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --nodepool-name --node-count --snapshot-id - --aks-custom-headers -k --ssh-key-value -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006?api-version=2022-02-02-preview - response: - body: - string: "{\n \"name\": \"s000006\",\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\",\n - \ \"type\": \"Microsoft.ContainerService/Snapshots\",\n \"location\": \"westus2\",\n - \ \"systemData\": {\n \"createdBy\": \"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d\",\n - \ \"createdByType\": \"Application\",\n \"createdAt\": \"2022-03-21T05:29:35.6626847Z\",\n - \ \"lastModifiedBy\": \"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d\",\n \"lastModifiedByType\": - \"Application\",\n \"lastModifiedAt\": \"2022-03-21T05:29:35.6626847Z\"\n - \ },\n \"properties\": {\n \"creationData\": {\n \"sourceResourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\"\n - \ },\n \"snapshotType\": \"NodePool\",\n \"kubernetesVersion\": \"1.21.9\",\n - \ \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.03.02\",\n \"osType\": - \"Linux\",\n \"osSku\": \"Ubuntu\",\n \"vmSize\": \"Standard_DS2_v2\"\n - \ }\n }" - headers: - cache-control: - - no-cache - content-length: - - '1013' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:29:36 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "1.22.6", "dnsPrefix": "cliakstest-clitestuapvzyxvo-8ecadf", - "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": false, - "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, - "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": - -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": - false, "creationData": {"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006"}, - "name": "c000004"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCumQ7QuaQdPndgxn9hQULXqCXVDEmxKAKAKqkLYTy/yXSHURHnIap9+bhoGn9qwtBL9Ue2NNWSgNO/Qig3evn4cGgK5cDl+Q6NKKlEmyObga4JWBFrFKYu/apHCkPqQZClsX98qvcmDVOfoKpCp2KhaEPdA6uQPZRSpDYSlnAUUm0uOc/JL+9ka7lIpw9JNEuts+oVdeUjbB7nSLvjJx65I8XrhRJHszl2CyQg24t/sP1iCkiQLajnMIM6qfifdltiQJ3HZ6BL3SY69jG5prXBb3kINq+mcZwIe/N/OUeJRznRHr38wVKbzZuaPosWDSceMscoNIUB8bgOiqmVc1mz - azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {}, "enableRBAC": true, - "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", - "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", - "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": - "standard"}, "disableLocalAccounts": false}}' - headers: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1619' - Content-Type: - - application/json - ParameterSetName: - - --resource-group --name --location --nodepool-name --node-count --snapshot-id - --aks-custom-headers -k --ssh-key-value -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2022-02-02-preview - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000003\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.22.6\",\n \"currentKubernetesVersion\": \"1.22.6\",\n \"dnsPrefix\": - \"cliakstest-clitestuapvzyxvo-8ecadf\",\n \"fqdn\": \"cliakstest-clitestuapvzyxvo-8ecadf-00726eae.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestuapvzyxvo-8ecadf-00726eae.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"count\": - 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.22.6\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2022.03.02\",\n \"enableFIPS\": false,\n - \ \"creationData\": {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\n - \ }\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCumQ7QuaQdPndgxn9hQULXqCXVDEmxKAKAKqkLYTy/yXSHURHnIap9+bhoGn9qwtBL9Ue2NNWSgNO/Qig3evn4cGgK5cDl+Q6NKKlEmyObga4JWBFrFKYu/apHCkPqQZClsX98qvcmDVOfoKpCp2KhaEPdA6uQPZRSpDYSlnAUUm0uOc/JL+9ka7lIpw9JNEuts+oVdeUjbB7nSLvjJx65I8XrhRJHszl2CyQg24t/sP1iCkiQLajnMIM6qfifdltiQJ3HZ6BL3SY69jG5prXBb3kINq+mcZwIe/N/OUeJRznRHr38wVKbzZuaPosWDSceMscoNIUB8bgOiqmVc1mz - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": - \"MC_clitest000001_cliakstest000003_westus2\",\n \"enableRBAC\": true,\n - \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": - \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n \"loadBalancerProfile\": - {\n \"managedOutboundIPs\": {\n \"count\": 1\n }\n },\n \"podCidr\": - \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": - \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": - [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n - \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": - {\n \"enabled\": false\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n - \ \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\": - \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": - \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ef24c02a-e8b3-4dec-8e0f-cfd0ea7fcc60?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '3217' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:29:38 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1197' - status: - code: 201 - message: Created -- request: - body: null - headers: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --nodepool-name --node-count --snapshot-id - --aks-custom-headers -k --ssh-key-value -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ef24c02a-e8b3-4dec-8e0f-cfd0ea7fcc60?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"2ac024ef-b3e8-ec4d-8e0f-cfd0ea7fcc60\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:29:39.0766666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:30:08 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --nodepool-name --node-count --snapshot-id - --aks-custom-headers -k --ssh-key-value -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ef24c02a-e8b3-4dec-8e0f-cfd0ea7fcc60?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"2ac024ef-b3e8-ec4d-8e0f-cfd0ea7fcc60\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:29:39.0766666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:30:39 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --nodepool-name --node-count --snapshot-id - --aks-custom-headers -k --ssh-key-value -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ef24c02a-e8b3-4dec-8e0f-cfd0ea7fcc60?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"2ac024ef-b3e8-ec4d-8e0f-cfd0ea7fcc60\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:29:39.0766666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:31:08 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --nodepool-name --node-count --snapshot-id - --aks-custom-headers -k --ssh-key-value -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ef24c02a-e8b3-4dec-8e0f-cfd0ea7fcc60?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedclustersnapshots?api-version=2022-02-02-preview response: body: - string: "{\n \"name\": \"2ac024ef-b3e8-ec4d-8e0f-cfd0ea7fcc60\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:29:39.0766666Z\"\n }" + string: "{\n \"value\": [\n {\n \"name\": \"s000005\",\n \"id\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedclustersnapshots/s000005\"\ + ,\n \"type\": \"Microsoft.ContainerService/ManagedClusterSnapshots\",\n\ + \ \"location\": \"westus2\",\n \"systemData\": {\n \"createdBy\"\ + : \"qizhe@microsoft.com\",\n \"createdByType\": \"User\",\n \"createdAt\"\ + : \"2022-03-30T02:43:31.9866178Z\",\n \"lastModifiedBy\": \"qizhe@microsoft.com\"\ + ,\n \"lastModifiedByType\": \"User\",\n \"lastModifiedAt\": \"2022-03-30T02:43:31.9866178Z\"\ + \n },\n \"properties\": {\n \"creationData\": {\n \"sourceResourceId\"\ + : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ + \n },\n \"snapshotType\": \"ManagedCluster\",\n \"managedClusterPropertiesReadOnly\"\ + : {\n \"kubernetesVersion\": \"1.21.9\",\n \"sku\": {\n \"\ + name\": \"Basic\",\n \"tier\": \"Free\"\n },\n \"enableRbac\"\ + : true,\n \"networkProfile\": {\n \"networkPlugin\": \"kubenet\"\ + ,\n \"loadBalancerSku\": \"Standard\"\n }\n }\n }\n }\n\ + \ ]\n }" headers: cache-control: - no-cache content-length: - - '126' + - '1157' content-type: - application/json date: - - Mon, 21 Mar 2022 05:31:38 GMT + - Wed, 30 Mar 2022 02:43:35 GMT expires: - '-1' pragma: @@ -1248,2661 +897,6 @@ interactions: status: code: 200 message: OK -- request: - body: null - headers: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --nodepool-name --node-count --snapshot-id - --aks-custom-headers -k --ssh-key-value -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ef24c02a-e8b3-4dec-8e0f-cfd0ea7fcc60?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"2ac024ef-b3e8-ec4d-8e0f-cfd0ea7fcc60\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:29:39.0766666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:32:09 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --nodepool-name --node-count --snapshot-id - --aks-custom-headers -k --ssh-key-value -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ef24c02a-e8b3-4dec-8e0f-cfd0ea7fcc60?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"2ac024ef-b3e8-ec4d-8e0f-cfd0ea7fcc60\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:29:39.0766666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:32:39 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --nodepool-name --node-count --snapshot-id - --aks-custom-headers -k --ssh-key-value -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ef24c02a-e8b3-4dec-8e0f-cfd0ea7fcc60?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"2ac024ef-b3e8-ec4d-8e0f-cfd0ea7fcc60\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:29:39.0766666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:33:09 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --nodepool-name --node-count --snapshot-id - --aks-custom-headers -k --ssh-key-value -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ef24c02a-e8b3-4dec-8e0f-cfd0ea7fcc60?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"2ac024ef-b3e8-ec4d-8e0f-cfd0ea7fcc60\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2022-03-21T05:29:39.0766666Z\",\n \"endTime\": - \"2022-03-21T05:33:13.71408Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '168' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:33:39 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --nodepool-name --node-count --snapshot-id - --aks-custom-headers -k --ssh-key-value -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2022-02-02-preview - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000003\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.22.6\",\n \"currentKubernetesVersion\": \"1.22.6\",\n \"dnsPrefix\": - \"cliakstest-clitestuapvzyxvo-8ecadf\",\n \"fqdn\": \"cliakstest-clitestuapvzyxvo-8ecadf-00726eae.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestuapvzyxvo-8ecadf-00726eae.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"count\": - 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.22.6\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2022.03.02\",\n \"enableFIPS\": false,\n - \ \"creationData\": {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\n - \ }\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCumQ7QuaQdPndgxn9hQULXqCXVDEmxKAKAKqkLYTy/yXSHURHnIap9+bhoGn9qwtBL9Ue2NNWSgNO/Qig3evn4cGgK5cDl+Q6NKKlEmyObga4JWBFrFKYu/apHCkPqQZClsX98qvcmDVOfoKpCp2KhaEPdA6uQPZRSpDYSlnAUUm0uOc/JL+9ka7lIpw9JNEuts+oVdeUjbB7nSLvjJx65I8XrhRJHszl2CyQg24t/sP1iCkiQLajnMIM6qfifdltiQJ3HZ6BL3SY69jG5prXBb3kINq+mcZwIe/N/OUeJRznRHr38wVKbzZuaPosWDSceMscoNIUB8bgOiqmVc1mz - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": - \"MC_clitest000001_cliakstest000003_westus2\",\n \"enableRBAC\": true,\n - \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": - \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": - {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": - [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.Network/publicIPAddresses/84a829db-6d3a-41f7-ab42-b0e8ad1e52e9\"\n - \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": - [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n - \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": - 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": - {\n \"enabled\": false\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n - \ \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\": - \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": - \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '3870' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:33:40 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --node-count --aks-custom-headers -k - --snapshot-id -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools?api-version=2022-02-02-preview - response: - body: - string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000004\",\n - \ \"name\": \"c000004\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n - \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.22.6\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.03.02\",\n - \ \"enableFIPS\": false,\n \"creationData\": {\n \"sourceResourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\n - \ }\n }\n }\n ]\n }" - headers: - cache-control: - - no-cache - content-length: - - '1194' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:33:41 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --node-count --aks-custom-headers -k - --snapshot-id -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006?api-version=2022-02-02-preview - response: - body: - string: "{\n \"name\": \"s000006\",\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\",\n - \ \"type\": \"Microsoft.ContainerService/Snapshots\",\n \"location\": \"westus2\",\n - \ \"systemData\": {\n \"createdBy\": \"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d\",\n - \ \"createdByType\": \"Application\",\n \"createdAt\": \"2022-03-21T05:29:35.6626847Z\",\n - \ \"lastModifiedBy\": \"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d\",\n \"lastModifiedByType\": - \"Application\",\n \"lastModifiedAt\": \"2022-03-21T05:29:35.6626847Z\"\n - \ },\n \"properties\": {\n \"creationData\": {\n \"sourceResourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\"\n - \ },\n \"snapshotType\": \"NodePool\",\n \"kubernetesVersion\": \"1.21.9\",\n - \ \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.03.02\",\n \"osType\": - \"Linux\",\n \"osSku\": \"Ubuntu\",\n \"vmSize\": \"Standard_DS2_v2\"\n - \ }\n }" - headers: - cache-control: - - no-cache - content-length: - - '1013' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:33:40 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: '{"properties": {"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "osSKU": "Ubuntu", "scaleDownMode": "Delete", - "mode": "User", "orchestratorVersion": "1.22.6", "upgradeSettings": {}, "enableNodePublicIP": - false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": - -1.0, "nodeTaints": [], "enableEncryptionAtHost": false, "enableUltraSSD": false, - "enableFIPS": false, "creationData": {"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006"}}}' - headers: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - Content-Length: - - '621' - Content-Type: - - application/json - ParameterSetName: - - --resource-group --cluster-name --name --node-count --aks-custom-headers -k - --snapshot-id -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005?api-version=2022-02-02-preview - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005\",\n - \ \"name\": \"c000005\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n - \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.22.6\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2022.03.02\",\n \"upgradeSettings\": {},\n - \ \"enableFIPS\": false,\n \"creationData\": {\n \"sourceResourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\n - \ }\n }\n }" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/258ba89c-87ff-4fc0-97aa-2028e81cf230?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '1129' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:33:43 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1191' - status: - code: 201 - message: Created -- request: - body: null - headers: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --node-count --aks-custom-headers -k - --snapshot-id -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/258ba89c-87ff-4fc0-97aa-2028e81cf230?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"9ca88b25-ff87-c04f-97aa-2028e81cf230\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:33:43.47Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:34:13 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --node-count --aks-custom-headers -k - --snapshot-id -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/258ba89c-87ff-4fc0-97aa-2028e81cf230?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"9ca88b25-ff87-c04f-97aa-2028e81cf230\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:33:43.47Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:34:43 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --node-count --aks-custom-headers -k - --snapshot-id -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/258ba89c-87ff-4fc0-97aa-2028e81cf230?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"9ca88b25-ff87-c04f-97aa-2028e81cf230\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:33:43.47Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:35:12 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --node-count --aks-custom-headers -k - --snapshot-id -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/258ba89c-87ff-4fc0-97aa-2028e81cf230?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"9ca88b25-ff87-c04f-97aa-2028e81cf230\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:33:43.47Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:35:42 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --node-count --aks-custom-headers -k - --snapshot-id -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/258ba89c-87ff-4fc0-97aa-2028e81cf230?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"9ca88b25-ff87-c04f-97aa-2028e81cf230\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:33:43.47Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:36:12 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --node-count --aks-custom-headers -k - --snapshot-id -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/258ba89c-87ff-4fc0-97aa-2028e81cf230?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"9ca88b25-ff87-c04f-97aa-2028e81cf230\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2022-03-21T05:33:43.47Z\",\n \"endTime\": - \"2022-03-21T05:36:43.7514801Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '165' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:36:43 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --node-count --aks-custom-headers -k - --snapshot-id -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005?api-version=2022-02-02-preview - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005\",\n - \ \"name\": \"c000005\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n - \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.22.6\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2022.03.02\",\n \"upgradeSettings\": {},\n - \ \"enableFIPS\": false,\n \"creationData\": {\n \"sourceResourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\n - \ }\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '1130' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:36:44 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2022-02-02-preview - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000003\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.22.6\",\n \"currentKubernetesVersion\": \"1.22.6\",\n \"dnsPrefix\": - \"cliakstest-clitestuapvzyxvo-8ecadf\",\n \"fqdn\": \"cliakstest-clitestuapvzyxvo-8ecadf-00726eae.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestuapvzyxvo-8ecadf-00726eae.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000005\",\n \"count\": - 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.22.6\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2022.03.02\",\n \"upgradeSettings\": {},\n - \ \"enableFIPS\": false,\n \"creationData\": {\n \"sourceResourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\n - \ }\n },\n {\n \"name\": \"c000004\",\n \"count\": 1,\n \"vmSize\": - \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n - \ \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n - \ \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": - false,\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n - \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.22.6\",\n - \ \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": - false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.03.02\",\n - \ \"enableFIPS\": false,\n \"creationData\": {\n \"sourceResourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\n - \ }\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCumQ7QuaQdPndgxn9hQULXqCXVDEmxKAKAKqkLYTy/yXSHURHnIap9+bhoGn9qwtBL9Ue2NNWSgNO/Qig3evn4cGgK5cDl+Q6NKKlEmyObga4JWBFrFKYu/apHCkPqQZClsX98qvcmDVOfoKpCp2KhaEPdA6uQPZRSpDYSlnAUUm0uOc/JL+9ka7lIpw9JNEuts+oVdeUjbB7nSLvjJx65I8XrhRJHszl2CyQg24t/sP1iCkiQLajnMIM6qfifdltiQJ3HZ6BL3SY69jG5prXBb3kINq+mcZwIe/N/OUeJRznRHr38wVKbzZuaPosWDSceMscoNIUB8bgOiqmVc1mz - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": - \"MC_clitest000001_cliakstest000003_westus2\",\n \"enableRBAC\": true,\n - \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": - \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": - {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": - [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.Network/publicIPAddresses/84a829db-6d3a-41f7-ab42-b0e8ad1e52e9\"\n - \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": - [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n - \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": - 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": - {\n \"enabled\": false\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n - \ \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\": - \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": - \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '4794' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:36:45 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.23.3", "dnsPrefix": - "cliakstest-clitestuapvzyxvo-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "scaleDownMode": "Delete", "type": "VirtualMachineScaleSets", - "mode": "User", "orchestratorVersion": "1.23.3", "upgradeSettings": {}, "powerState": - {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "c000005"}, {"count": - 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", - "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, - "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.23.3", "powerState": {"code": "Running"}, - "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "c000004"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCumQ7QuaQdPndgxn9hQULXqCXVDEmxKAKAKqkLYTy/yXSHURHnIap9+bhoGn9qwtBL9Ue2NNWSgNO/Qig3evn4cGgK5cDl+Q6NKKlEmyObga4JWBFrFKYu/apHCkPqQZClsX98qvcmDVOfoKpCp2KhaEPdA6uQPZRSpDYSlnAUUm0uOc/JL+9ka7lIpw9JNEuts+oVdeUjbB7nSLvjJx65I8XrhRJHszl2CyQg24t/sP1iCkiQLajnMIM6qfifdltiQJ3HZ6BL3SY69jG5prXBb3kINq+mcZwIe/N/OUeJRznRHr38wVKbzZuaPosWDSceMscoNIUB8bgOiqmVc1mz - azcli_aks_live_test@example.com\n"}]}}, "oidcIssuerProfile": {"enabled": false}, - "nodeResourceGroup": "MC_clitest000001_cliakstest000003_westus2", "enableRBAC": - true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": - "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": - "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", - "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": - {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.Network/publicIPAddresses/84a829db-6d3a-41f7-ab42-b0e8ad1e52e9"}]}, - "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": - ["IPv4"]}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, - "disableLocalAccounts": false}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - Content-Length: - - '2869' - Content-Type: - - application/json - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2022-02-02-preview - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000003\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Upgrading\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.23.3\",\n \"currentKubernetesVersion\": \"1.23.3\",\n \"dnsPrefix\": - \"cliakstest-clitestuapvzyxvo-8ecadf\",\n \"fqdn\": \"cliakstest-clitestuapvzyxvo-8ecadf-00726eae.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestuapvzyxvo-8ecadf-00726eae.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000005\",\n \"count\": - 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Upgrading\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.23.3\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2022.03.02\",\n \"upgradeSettings\": {},\n - \ \"enableFIPS\": false\n },\n {\n \"name\": \"c000004\",\n \"count\": - 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Upgrading\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.23.3\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2022.03.02\",\n \"enableFIPS\": false\n - \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCumQ7QuaQdPndgxn9hQULXqCXVDEmxKAKAKqkLYTy/yXSHURHnIap9+bhoGn9qwtBL9Ue2NNWSgNO/Qig3evn4cGgK5cDl+Q6NKKlEmyObga4JWBFrFKYu/apHCkPqQZClsX98qvcmDVOfoKpCp2KhaEPdA6uQPZRSpDYSlnAUUm0uOc/JL+9ka7lIpw9JNEuts+oVdeUjbB7nSLvjJx65I8XrhRJHszl2CyQg24t/sP1iCkiQLajnMIM6qfifdltiQJ3HZ6BL3SY69jG5prXBb3kINq+mcZwIe/N/OUeJRznRHr38wVKbzZuaPosWDSceMscoNIUB8bgOiqmVc1mz - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": - \"MC_clitest000001_cliakstest000003_westus2\",\n \"enableRBAC\": true,\n - \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": - \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": - {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": - [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.Network/publicIPAddresses/84a829db-6d3a-41f7-ab42-b0e8ad1e52e9\"\n - \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": - [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n - \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": - 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": - {\n \"enabled\": false\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n - \ \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\": - \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": - \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '4404' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:36:47 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1188' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:37:17 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:37:47 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:38:17 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:38:47 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:39:16 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:39:46 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:40:17 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:40:47 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:41:17 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:41:47 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:42:17 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:42:47 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:43:17 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:43:48 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:44:18 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:44:48 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:45:18 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:45:48 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:46:18 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:46:48 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:47:18 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:47:48 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:48:18 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:48:49 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:49:18 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:49:48 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3b7bf8b-a5b3-4f0b-9a44-0fd1abe6d0e1?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8bbfb7d3-b3a5-0b4f-9a44-0fd1abe6d0e1\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2022-03-21T05:36:47.2366666Z\",\n \"endTime\": - \"2022-03-21T05:50:03.9901307Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '170' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:50:18 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2022-02-02-preview - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000003\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.23.3\",\n \"currentKubernetesVersion\": \"1.23.3\",\n \"dnsPrefix\": - \"cliakstest-clitestuapvzyxvo-8ecadf\",\n \"fqdn\": \"cliakstest-clitestuapvzyxvo-8ecadf-00726eae.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestuapvzyxvo-8ecadf-00726eae.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000005\",\n \"count\": - 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.23.3\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2022.03.02\",\n \"upgradeSettings\": {},\n - \ \"enableFIPS\": false\n },\n {\n \"name\": \"c000004\",\n \"count\": - 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.23.3\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2022.03.02\",\n \"enableFIPS\": false\n - \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCumQ7QuaQdPndgxn9hQULXqCXVDEmxKAKAKqkLYTy/yXSHURHnIap9+bhoGn9qwtBL9Ue2NNWSgNO/Qig3evn4cGgK5cDl+Q6NKKlEmyObga4JWBFrFKYu/apHCkPqQZClsX98qvcmDVOfoKpCp2KhaEPdA6uQPZRSpDYSlnAUUm0uOc/JL+9ka7lIpw9JNEuts+oVdeUjbB7nSLvjJx65I8XrhRJHszl2CyQg24t/sP1iCkiQLajnMIM6qfifdltiQJ3HZ6BL3SY69jG5prXBb3kINq+mcZwIe/N/OUeJRznRHr38wVKbzZuaPosWDSceMscoNIUB8bgOiqmVc1mz - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": - \"MC_clitest000001_cliakstest000003_westus2\",\n \"enableRBAC\": true,\n - \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": - \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": - {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": - [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.Network/publicIPAddresses/84a829db-6d3a-41f7-ab42-b0e8ad1e52e9\"\n - \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": - [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n - \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": - 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": - {\n \"enabled\": false\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n - \ \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\": - \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": - \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '4404' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:50:19 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - AKSSnapshotId: - - /subscriptions/8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8/resourceGroups/clitestuapvzyxvo4/providers/Microsoft.ContainerService/snapshots/sn76biqvwklksvtj - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool upgrade - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --resource-group --cluster-name -n --node-image-only --no-wait --snapshot-id - -o - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005/upgradeNodeImageVersion?api-version=2022-02-02-preview - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005\",\n - \ \"name\": \"c000005\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n - \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n - \ \"provisioningState\": \"UpgradingNodeImageVersion\",\n \"powerState\": - {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.23.3\",\n - \ \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": - false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.03.02\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false,\n \"creationData\": - {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\n - \ }\n }\n }" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/97faef00-4f16-4d38-9d31-ade8543d2e1f?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '1146' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:50:20 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/97faef00-4f16-4d38-9d31-ade8543d2e1f?api-version=2016-03-30 - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool show - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name -n - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005?api-version=2022-02-02-preview - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005\",\n - \ \"name\": \"c000005\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n - \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n - \ \"provisioningState\": \"UpgradingNodeImageVersion\",\n \"powerState\": - {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.23.3\",\n - \ \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": - false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.03.02\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false,\n \"creationData\": - {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\n - \ }\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '1146' - content-type: - - application/json - date: - - Mon, 21 Mar 2022 05:50:20 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: - - aks delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -n --yes --no-wait - User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2022-02-02-preview - response: - body: - string: '' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1ddad7e9-4283-484a-8af1-68b3e666d0c0?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 21 Mar 2022 05:50:22 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/1ddad7e9-4283-484a-8af1-68b3e666d0c0?api-version=2016-03-30 - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14992' - status: - code: 202 - message: Accepted - request: body: null headers: @@ -3919,10 +913,10 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/17.0.0b Python/3.8.10 - (Linux-5.13.0-1017-azure-x86_64-with-glibc2.29) + - AZURECLI/2.34.1 (DOCKER) azsdk-python-azure-mgmt-containerservice/17.0.0b + Python/3.10.2 (Linux-5.10.25-linuxkit-x86_64-with) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006?api-version=2022-02-02-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedclustersnapshots/s000005?api-version=2022-02-02-preview response: body: string: '' @@ -3932,7 +926,7 @@ interactions: content-length: - '0' date: - - Mon, 21 Mar 2022 05:50:23 GMT + - Wed, 30 Mar 2022 02:43:38 GMT expires: - '-1' pragma: @@ -3944,7 +938,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14996' + - '14999' status: code: 200 message: OK diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py index f89f7ee595a..4ab26f23fc1 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py @@ -53,7 +53,8 @@ def generate_ssh_keys(cls): # race conditions caused by concurrent reading and writing/creating of the same file. acs_base_dir = os.getenv("ACS_BASE_DIR", None) if acs_base_dir: - pre_generated_ssh_key_path = os.path.join(acs_base_dir, "tests/latest/data/.ssh/id_rsa.pub") + pre_generated_ssh_key_path = os.path.join( + acs_base_dir, "tests/latest/data/.ssh/id_rsa.pub") if os.path.exists(pre_generated_ssh_key_path): return pre_generated_ssh_key_path.replace('\\', '\\\\') @@ -110,8 +111,10 @@ def test_aks_create_and_update_with_managed_nat_gateway_outbound(self, resource_ self.cmd(update_cmd, checks=[ self.check('provisioningState', 'Succeeded'), self.check('networkProfile.outboundType', 'managedNATGateway'), - self.check('networkProfile.natGatewayProfile.idleTimeoutInMinutes', 30), - self.check('networkProfile.natGatewayProfile.managedOutboundIpProfile.count', 2), + self.check( + 'networkProfile.natGatewayProfile.idleTimeoutInMinutes', 30), + self.check( + 'networkProfile.natGatewayProfile.managedOutboundIpProfile.count', 2), ]) @AllowLargeResponse() @@ -482,7 +485,6 @@ def test_aks_addon_list_all_disabled(self, resource_group, resource_group_locati for addon in addon_list: assert not addon["enabled"] - @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_addon_list_confcom_enabled(self, resource_group, resource_group_location): @@ -513,7 +515,6 @@ def test_aks_addon_list_confcom_enabled(self, resource_group, resource_group_loc else: assert not addon["enabled"] - @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_addon_list_openservicemesh_enabled(self, resource_group, resource_group_location): @@ -542,7 +543,6 @@ def test_aks_addon_list_openservicemesh_enabled(self, resource_group, resource_g else: assert not addon["enabled"] - @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_addon_show_all_disabled(self, resource_group, resource_group_location): @@ -593,7 +593,6 @@ def test_aks_addon_show_confcom_enabled(self, resource_group, resource_group_loc self.exists('config') ]) - @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_addon_show_openservicemesh_enabled(self, resource_group, resource_group_location): @@ -620,7 +619,6 @@ def test_aks_addon_show_openservicemesh_enabled(self, resource_group, resource_g self.exists('identity') ]) - @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_addon_enable_with_openservicemesh(self, resource_group, resource_group_location): @@ -643,7 +641,6 @@ def test_aks_addon_enable_with_openservicemesh(self, resource_group, resource_gr self.check('addonProfiles.openServiceMesh.enabled', True), ]) - @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_addon_disable_openservicemesh(self, resource_group, resource_group_location): @@ -668,7 +665,6 @@ def test_aks_addon_disable_openservicemesh(self, resource_group, resource_group_ self.check('addonProfiles.openServiceMesh.config', None) ]) - @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_addon_enable_with_azurekeyvaultsecretsprovider(self, resource_group, resource_group_location): @@ -718,7 +714,6 @@ def test_aks_addon_enable_with_azurekeyvaultsecretsprovider(self, resource_group self.is_empty(), ]) - @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_addon_enable_confcom_addon(self, resource_group, resource_group_location): @@ -744,7 +739,6 @@ def test_aks_addon_enable_confcom_addon(self, resource_group, resource_group_loc 'addonProfiles.ACCSGXDevicePlugin.config.ACCSGXQuoteHelperEnabled', "false") ]) - @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_addon_disable_confcom_addon(self, resource_group, resource_group_location): @@ -871,7 +865,6 @@ def test_aks_addon_update_with_azurekeyvaultsecretsprovider(self, resource_group self.is_empty(), ]) - @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_enable_addon_with_openservicemesh(self, resource_group, resource_group_location): @@ -1300,15 +1293,14 @@ def test_aks_nodepool_add_with_workload_runtime(self, resource_group, resource_g '--name={node_pool_name_second} ' '--workload-runtime WasmWasi', checks=[ - self.check('provisioningState', 'Succeeded'), - self.check('workloadRuntime', 'WasmWasi'), + self.check('provisioningState', 'Succeeded'), + self.check('workloadRuntime', 'WasmWasi'), ]) # delete self.cmd( 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) - @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus') def test_aks_nodepool_add_with_ossku(self, resource_group, resource_group_location): @@ -1337,14 +1329,14 @@ def test_aks_nodepool_add_with_ossku(self, resource_group, resource_group_locati '--name={node_pool_name_second} ' '--os-sku CBLMariner', checks=[ - self.check('provisioningState', 'Succeeded'), - self.check('osSku', 'CBLMariner'), + self.check('provisioningState', 'Succeeded'), + self.check('osSku', 'CBLMariner'), ]) # delete self.cmd( 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) - + @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus') def test_aks_create_add_nodepool_with_motd(self, resource_group, resource_group_location): @@ -1363,7 +1355,7 @@ def test_aks_create_add_nodepool_with_motd(self, resource_group, resource_group_ create_cmd = 'aks create --resource-group={resource_group} --name={name} ' \ '--nodepool-name {node_pool_name} -c 1 ' \ '--ssh-key-value={ssh_key_value} ' \ - '--message-of-the-day={message_of_the_day}' + '--message-of-the-day={message_of_the_day}' self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded'), self.check('agentPoolProfiles[0].messageOfTheDay', 'VU5BVVRIT1JJWkVEIEFDQ0VTUyBUTyBUSElTIERFVklDRSBJUyBQUk9ISUJJVEVECgpZb3UgbXVzdCBoYXZlIGV4cGxpY2l0LCBhdXRob3JpemVkIHBlcm1pc3Npb24gdG8gYWNjZXNzIG9yIGNvbmZpZ3VyZSB0aGlzIGRldmljZS4gVW5hdXRob3JpemVkIGF0dGVtcHRzIGFuZCBhY3Rpb25zIHRvIGFjY2VzcyBvciB1c2UgdGhpcyBzeXN0ZW0gbWF5IHJlc3VsdCBpbiBjaXZpbCBhbmQvb3IgY3JpbWluYWwgcGVuYWx0aWVzLiBBbGwgYWN0aXZpdGllcyBwZXJmb3JtZWQgb24gdGhpcyBkZXZpY2UgYXJlIGxvZ2dlZCBhbmQgbW9uaXRvcmVkLgo=') @@ -1376,8 +1368,8 @@ def test_aks_create_add_nodepool_with_motd(self, resource_group, resource_group_ '--name={node_pool_name_second} ' '--message-of-the-day={message_of_the_day}', checks=[ - self.check('provisioningState', 'Succeeded'), - self.check('messageOfTheDay', 'VU5BVVRIT1JJWkVEIEFDQ0VTUyBUTyBUSElTIERFVklDRSBJUyBQUk9ISUJJVEVECgpZb3UgbXVzdCBoYXZlIGV4cGxpY2l0LCBhdXRob3JpemVkIHBlcm1pc3Npb24gdG8gYWNjZXNzIG9yIGNvbmZpZ3VyZSB0aGlzIGRldmljZS4gVW5hdXRob3JpemVkIGF0dGVtcHRzIGFuZCBhY3Rpb25zIHRvIGFjY2VzcyBvciB1c2UgdGhpcyBzeXN0ZW0gbWF5IHJlc3VsdCBpbiBjaXZpbCBhbmQvb3IgY3JpbWluYWwgcGVuYWx0aWVzLiBBbGwgYWN0aXZpdGllcyBwZXJmb3JtZWQgb24gdGhpcyBkZXZpY2UgYXJlIGxvZ2dlZCBhbmQgbW9uaXRvcmVkLgo=') + self.check('provisioningState', 'Succeeded'), + self.check('messageOfTheDay', 'VU5BVVRIT1JJWkVEIEFDQ0VTUyBUTyBUSElTIERFVklDRSBJUyBQUk9ISUJJVEVECgpZb3UgbXVzdCBoYXZlIGV4cGxpY2l0LCBhdXRob3JpemVkIHBlcm1pc3Npb24gdG8gYWNjZXNzIG9yIGNvbmZpZ3VyZSB0aGlzIGRldmljZS4gVW5hdXRob3JpemVkIGF0dGVtcHRzIGFuZCBhY3Rpb25zIHRvIGFjY2VzcyBvciB1c2UgdGhpcyBzeXN0ZW0gbWF5IHJlc3VsdCBpbiBjaXZpbCBhbmQvb3IgY3JpbWluYWwgcGVuYWx0aWVzLiBBbGwgYWN0aXZpdGllcyBwZXJmb3JtZWQgb24gdGhpcyBkZXZpY2UgYXJlIGxvZ2dlZCBhbmQgbW9uaXRvcmVkLgo=') ]) # delete @@ -1392,7 +1384,7 @@ def test_aks_nodepool_stop_and_start(self, resource_group, resource_group_locati self.kwargs.update({ 'resource_group': resource_group, 'name': aks_name, - 'nodepool_name' : nodepool_name, + 'nodepool_name': nodepool_name, 'ssh_key_value': self.generate_ssh_keys() }) @@ -1409,7 +1401,7 @@ def test_aks_nodepool_stop_and_start(self, resource_group, resource_group_locati self.cmd('aks nodepool stop --resource-group={resource_group} --cluster-name={name} --nodepool-name={nodepool_name} --aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/PreviewStartStopAgentPool', checks=[ self.check('powerState.code', 'Stopped') ]) - #start nodepool + # start nodepool self.cmd('aks nodepool start --resource-group={resource_group} --cluster-name={name} --nodepool-name={nodepool_name} --aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/PreviewStartStopAgentPool', checks=[ self.check('powerState.code', 'Running') ]) @@ -1448,8 +1440,8 @@ def test_aks_nodepool_add_with_gpu_instance_profile(self, resource_group, resour '--aks-custom-headers UseGPUDedicatedVHD=true ' '--node-vm-size=standard_nd96asr_v4', checks=[ - self.check('provisioningState', 'Succeeded'), - self.check('gpuInstanceProfile', 'MIG3g'), + self.check('provisioningState', 'Succeeded'), + self.check('gpuInstanceProfile', 'MIG3g'), ]) # delete @@ -1483,7 +1475,7 @@ def test_aks_nodepool_get_upgrades(self, resource_group, resource_group_location checks=[ # if rerun the recording, please update latestNodeImageVersion to the latest value self.check_pattern('latestNodeImageVersion', - 'AKSUbuntu-1804gen2containerd-202([0-9]).(0[1-9]|1[012]).(0[1-9]|[12]\d|3[01])'), + 'AKSUbuntu-1804gen2containerd-202([0-9]).(0[1-9]|1[012]).(0[1-9]|[12]\d|3[01])'), self.check( 'type', "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles") ]) @@ -1494,8 +1486,9 @@ def test_aks_nodepool_get_upgrades(self, resource_group, resource_group_location @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') - def test_aks_snapshot(self, resource_group, resource_group_location): - create_version, upgrade_version = self._get_versions(resource_group_location) + def test_aks_nodepool_snapshot(self, resource_group, resource_group_location): + create_version, upgrade_version = self._get_versions( + resource_group_location) aks_name = self.create_random_name('cliakstest', 16) aks_name2 = self.create_random_name('cliakstest', 16) nodepool_name = self.create_random_name('c', 6) @@ -1533,7 +1526,7 @@ def test_aks_snapshot(self, resource_group, resource_group_location): print("The nodepool resource id %s " % nodepool_resource_id) # create snapshot from the nodepool - create_snapshot_cmd = 'aks snapshot create --resource-group {resource_group} --name {snapshot_name} --location {location} ' \ + create_snapshot_cmd = 'aks nodepool snapshot create --resource-group {resource_group} --name {snapshot_name} --location {location} ' \ '--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/SnapshotPreview ' \ '--nodepool-id {nodepool_resource_id} -o json' response = self.cmd(create_snapshot_cmd, checks=[ @@ -1552,13 +1545,13 @@ def test_aks_snapshot(self, resource_group, resource_group_location): 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) # show the snapshot - show_snapshot_cmd = 'aks snapshot show --resource-group {resource_group} --name {snapshot_name} -o json' + show_snapshot_cmd = 'aks nodepool snapshot show --resource-group {resource_group} --name {snapshot_name} -o json' response = self.cmd(show_snapshot_cmd, checks=[ self.check('creationData.sourceResourceId', nodepool_resource_id) ]).get_output_in_json() # list the snapshots - list_snapshot_cmd = 'aks snapshot list --resource-group {resource_group} -o json' + list_snapshot_cmd = 'aks nodepool snapshot list --resource-group {resource_group} -o json' response = self.cmd(list_snapshot_cmd, checks=[]).get_output_in_json() assert len(response) > 0 @@ -1571,7 +1564,8 @@ def test_aks_snapshot(self, resource_group, resource_group_location): '--ssh-key-value={ssh_key_value} -o json' self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded'), - self.check('agentPoolProfiles[0].creationData.sourceResourceId', snapshot_resource_id) + self.check( + 'agentPoolProfiles[0].creationData.sourceResourceId', snapshot_resource_id) ]).get_output_in_json() # add a new nodepool to this cluster using this snapshot @@ -1580,10 +1574,11 @@ def test_aks_snapshot(self, resource_group, resource_group_location): '-k {k8s_version} ' \ '--snapshot-id {snapshot_resource_id} -o json' self.cmd(add_nodepool_cmd, - checks=[ - self.check('provisioningState', 'Succeeded'), - self.check('creationData.sourceResourceId', snapshot_resource_id) - ]) + checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('creationData.sourceResourceId', + snapshot_resource_id) + ]) # upgrade this cluster (snapshot is not allowed for cluster upgrading), snapshot info is reset create_cmd = 'aks upgrade --resource-group {resource_group} --name {aks_name2} -k {upgrade_k8s_version} --yes -o json' @@ -1612,7 +1607,80 @@ def test_aks_snapshot(self, resource_group, resource_group_location): ]) # delete the 2nd AKS cluster - self.cmd('aks delete -g {resource_group} -n {aks_name2} --yes --no-wait', checks=[self.is_empty()]) + self.cmd( + 'aks delete -g {resource_group} -n {aks_name2} --yes --no-wait', checks=[self.is_empty()]) + + # delete the snapshot + delete_snapshot_cmd = 'aks nodepool snapshot delete --resource-group {resource_group} --name {snapshot_name} --yes --no-wait' + self.cmd(delete_snapshot_cmd, checks=[ + self.is_empty() + ]) + + @AllowLargeResponse() + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + def test_aks_snapshot(self, resource_group, resource_group_location): + create_version, upgrade_version = self._get_versions( + resource_group_location) + aks_name = self.create_random_name('cliakstest', 16) + aks_name2 = self.create_random_name('cliakstest', 16) + nodepool_name = self.create_random_name('c', 6) + snapshot_name = self.create_random_name('s', 16) + + self.kwargs.update({ + 'resource_group': resource_group, + 'name': aks_name, + 'aks_name2': aks_name2, + 'location': resource_group_location, + 'nodepool_name': nodepool_name, + 'snapshot_name': snapshot_name, + 'k8s_version': create_version, + 'upgrade_k8s_version': upgrade_version, + 'ssh_key_value': self.generate_ssh_keys() + }) + + # create an aks cluster not using snapshot + create_cmd = 'aks create --resource-group {resource_group} --name {name} --location {location} ' \ + '--nodepool-name {nodepool_name} ' \ + '--node-count 1 ' \ + '--ssh-key-value={ssh_key_value} -o json' + response = self.cmd(create_cmd, checks=[ + self.check('provisioningState', 'Succeeded') + ]).get_output_in_json() + + cluster_resource_id = response["id"] + assert cluster_resource_id is not None + self.kwargs.update({ + 'cluster_resource_id': cluster_resource_id, + }) + print("The cluster resource id %s " % cluster_resource_id) + + + # create snapshot from the cluster + create_snapshot_cmd = 'aks snapshot create --resource-group {resource_group} --name {snapshot_name} --location {location} ' \ + '--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/ManagedClusterSnapshotPreview ' \ + '--cluster-id {cluster_resource_id} -o json' + response = self.cmd(create_snapshot_cmd, checks=[ + self.check('creationData.sourceResourceId', cluster_resource_id) + ]).get_output_in_json() + + snapshot_resource_id = response["id"] + assert snapshot_resource_id is not None + print("The snapshot resource id %s " % snapshot_resource_id) + + # delete the original AKS cluster + self.cmd( + 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) + + # show the snapshot + show_snapshot_cmd = 'aks snapshot show --resource-group {resource_group} --name {snapshot_name} -o json' + response = self.cmd(show_snapshot_cmd, checks=[ + self.check('creationData.sourceResourceId', cluster_resource_id) + ]).get_output_in_json() + + # list the snapshots + list_snapshot_cmd = 'aks snapshot list --resource-group {resource_group} -o json' + response = self.cmd(list_snapshot_cmd, checks=[]).get_output_in_json() + assert len(response) > 0 # delete the snapshot delete_snapshot_cmd = 'aks snapshot delete --resource-group {resource_group} --name {snapshot_name} --yes --no-wait' @@ -1691,7 +1759,8 @@ def test_aks_upgrade_node_image_only_nodepool(self, resource_group, resource_gro @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_upgrade_nodepool(self, resource_group, resource_group_location): - create_version, upgrade_version = self._get_versions(resource_group_location) + create_version, upgrade_version = self._get_versions( + resource_group_location) # reset the count so in replay mode the random names will start with 0 self.test_resources_count = 0 # kwargs for string formatting @@ -1734,11 +1803,11 @@ def test_aks_upgrade_nodepool(self, resource_group, resource_group_location): ]) # upgrade Windows nodepool - self.cmd('aks nodepool upgrade --resource-group={resource_group} --cluster-name={name} ' \ - '--name={nodepool2_name} --kubernetes-version={upgrade_k8s_version} ' \ + self.cmd('aks nodepool upgrade --resource-group={resource_group} --cluster-name={name} ' + '--name={nodepool2_name} --kubernetes-version={upgrade_k8s_version} ' '--aks-custom-headers WindowsContainerRuntime=containerd', checks=[ - self.check('provisioningState', 'Succeeded') - ]) + self.check('provisioningState', 'Succeeded') + ]) # delete AKS cluster self.cmd( @@ -1998,7 +2067,8 @@ def test_aks_update_to_msi_cluster_with_addons(self, resource_group, resource_gr ]) # check egress - endpoints = self.cmd('aks egress-endpoints list --resource-group={resource_group} --name={name}').get_output_in_json() + endpoints = self.cmd( + 'aks egress-endpoints list --resource-group={resource_group} --name={name}').get_output_in_json() categories = [e["category"] for e in endpoints] assert "addon-monitoring" in categories @@ -2011,14 +2081,16 @@ def test_aks_update_to_msi_cluster_with_addons(self, resource_group, resource_gr @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_with_monitoring_aad_auth_msi(self, resource_group, resource_group_location,): aks_name = self.create_random_name('cliakstest', 16) - self.create_new_cluster_with_monitoring_aad_auth(resource_group, resource_group_location, aks_name, user_assigned_identity=False) + self.create_new_cluster_with_monitoring_aad_auth( + resource_group, resource_group_location, aks_name, user_assigned_identity=False) @live_only() @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_with_monitoring_aad_auth_uai(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) - self.create_new_cluster_with_monitoring_aad_auth(resource_group, resource_group_location, aks_name, user_assigned_identity=True) + self.create_new_cluster_with_monitoring_aad_auth( + resource_group, resource_group_location, aks_name, user_assigned_identity=True) def create_new_cluster_with_monitoring_aad_auth(self, resource_group, resource_group_location, aks_name, user_assigned_identity=False): self.kwargs.update({ @@ -2061,7 +2133,8 @@ def create_new_cluster_with_monitoring_aad_auth(self, resource_group, resource_g dcr_resource_id = f"/subscriptions/{subscription}/resourceGroups/{workspace_resource_group}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}" get_cmd = f'rest --method get --url https://management.azure.com{dcr_resource_id}?api-version=2019-11-01-preview' self.cmd(get_cmd, checks=[ - self.check('properties.destinations.logAnalytics[0].workspaceResourceId', f'{workspace_resource_id}') + self.check( + 'properties.destinations.logAnalytics[0].workspaceResourceId', f'{workspace_resource_id}') ]) # check that the DCR-A was created @@ -2072,25 +2145,28 @@ def create_new_cluster_with_monitoring_aad_auth(self, resource_group, resource_g ]) # make sure monitoring can be smoothly disabled - self.cmd(f'aks disable-addons -a monitoring -g={resource_group} -n={aks_name}') + self.cmd( + f'aks disable-addons -a monitoring -g={resource_group} -n={aks_name}') # delete - self.cmd(f'aks delete -g {resource_group} -n {aks_name} --yes --no-wait', checks=[self.is_empty()]) - + self.cmd( + f'aks delete -g {resource_group} -n {aks_name} --yes --no-wait', checks=[self.is_empty()]) @live_only() @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_enable_monitoring_with_aad_auth_msi(self, resource_group, resource_group_location,): aks_name = self.create_random_name('cliakstest', 16) - self.enable_monitoring_existing_cluster_aad_atuh(resource_group, resource_group_location, aks_name, user_assigned_identity=False) + self.enable_monitoring_existing_cluster_aad_atuh( + resource_group, resource_group_location, aks_name, user_assigned_identity=False) @live_only() @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_enable_monitoring_with_aad_auth_uai(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) - self.enable_monitoring_existing_cluster_aad_atuh(resource_group, resource_group_location, aks_name, user_assigned_identity=True) + self.enable_monitoring_existing_cluster_aad_atuh( + resource_group, resource_group_location, aks_name, user_assigned_identity=True) def enable_monitoring_existing_cluster_aad_atuh(self, resource_group, resource_group_location, aks_name, user_assigned_identity=False): self.kwargs.update({ @@ -2135,7 +2211,8 @@ def enable_monitoring_existing_cluster_aad_atuh(self, resource_group, resource_g dcr_resource_id = f"/subscriptions/{subscription}/resourceGroups/{workspace_resource_group}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}" get_cmd = f'rest --method get --url https://management.azure.com{dcr_resource_id}?api-version=2019-11-01-preview' self.cmd(get_cmd, checks=[ - self.check('properties.destinations.logAnalytics[0].workspaceResourceId', f'{workspace_resource_id}') + self.check( + 'properties.destinations.logAnalytics[0].workspaceResourceId', f'{workspace_resource_id}') ]) # check that the DCR-A was created @@ -2146,10 +2223,12 @@ def enable_monitoring_existing_cluster_aad_atuh(self, resource_group, resource_g ]) # make sure monitoring can be smoothly disabled - self.cmd(f'aks disable-addons -a monitoring -g={resource_group} -n={aks_name}') + self.cmd( + f'aks disable-addons -a monitoring -g={resource_group} -n={aks_name}') # delete - self.cmd(f'aks delete -g {resource_group} -n {aks_name} --yes --no-wait', checks=[self.is_empty()]) + self.cmd( + f'aks delete -g {resource_group} -n {aks_name} --yes --no-wait', checks=[self.is_empty()]) @live_only() @AllowLargeResponse() @@ -2171,7 +2250,8 @@ def test_aks_create_with_monitoring_legacy_auth(self, resource_group, resource_g '--ssh-key-value={ssh_key_value} ' response = self.cmd(create_cmd, checks=[ self.check('addonProfiles.omsagent.enabled', True), - self.exists('addonProfiles.omsagent.config.logAnalyticsWorkspaceResourceID'), + self.exists( + 'addonProfiles.omsagent.config.logAnalyticsWorkspaceResourceID'), self.check('addonProfiles.omsagent.config.useAADAuth', 'False') ]).get_output_in_json() @@ -2189,19 +2269,21 @@ def test_aks_create_with_monitoring_legacy_auth(self, resource_group, resource_g dcr_resource_id = f"/subscriptions/{subscription}/resourceGroups/{workspace_resource_group}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}" get_cmd = f'rest --method get --url https://management.azure.com{dcr_resource_id}?api-version=2019-11-01-preview' self.cmd(get_cmd, checks=[ - self.check('properties.destinations.logAnalytics[0].workspaceResourceId', f'{workspace_resource_id}') + self.check( + 'properties.destinations.logAnalytics[0].workspaceResourceId', f'{workspace_resource_id}') ]) assert False except Exception as err: pass # this is expected - # make sure monitoring can be smoothly disabled - self.cmd(f'aks disable-addons -a monitoring -g={resource_group} -n={aks_name}') + self.cmd( + f'aks disable-addons -a monitoring -g={resource_group} -n={aks_name}') # delete - self.cmd(f'aks delete -g {resource_group} -n {aks_name} --yes --no-wait', checks=[self.is_empty()]) + self.cmd( + f'aks delete -g {resource_group} -n {aks_name} --yes --no-wait', checks=[self.is_empty()]) @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') @@ -2253,10 +2335,14 @@ def test_aks_create_with_node_config(self, resource_group, resource_group_locati '--ssh-key-value={ssh_key_value} -o json' self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded'), - self.check('agentPoolProfiles[0].kubeletConfig.cpuManagerPolicy', 'static'), - self.check('agentPoolProfiles[0].kubeletConfig.containerLogMaxSizeMb', 20), - self.check('agentPoolProfiles[0].linuxOsConfig.swapFileSizeMb', 1500), - self.check('agentPoolProfiles[0].linuxOsConfig.sysctls.netIpv4TcpTwReuse', True) + self.check( + 'agentPoolProfiles[0].kubeletConfig.cpuManagerPolicy', 'static'), + self.check( + 'agentPoolProfiles[0].kubeletConfig.containerLogMaxSizeMb', 20), + self.check( + 'agentPoolProfiles[0].linuxOsConfig.swapFileSizeMb', 1500), + self.check( + 'agentPoolProfiles[0].linuxOsConfig.sysctls.netIpv4TcpTwReuse', True) ]) # nodepool add @@ -2294,12 +2380,12 @@ def test_aks_create_and_update_with_http_proxy_config(self, resource_group, reso --vnet-name={name} \ --name proxy-subnet \ --address-prefix 10.42.3.0/24' - + show_subnet_cmd = 'network vnet subnet show \ --resource-group={resource_group} \ --vnet-name={name} \ --name aks-subnet' - + # name below MUST match the name used in testcerts for httpproxyconfig.json. # otherwise the VM will not present a cert with correct hostname # else, change the cert to have the correct hostname (harder) @@ -2316,7 +2402,7 @@ def test_aks_create_and_update_with_http_proxy_config(self, resource_group, reso self.cmd(create_vnet_cmd, checks=[ self.check('newVNet.provisioningState', 'Succeeded') ]) - + self.cmd(create_subnet_cmd, checks=[ self.check('provisioningState', 'Succeeded') ]) @@ -2326,7 +2412,7 @@ def test_aks_create_and_update_with_http_proxy_config(self, resource_group, reso assert subnet_id is not None self.cmd(create_vm_cmd) - + self.kwargs.update({ 'vnet_subnet_id': subnet_id, }) @@ -2336,8 +2422,10 @@ def test_aks_create_and_update_with_http_proxy_config(self, resource_group, reso '--ssh-key-value={ssh_key_value} --enable-managed-identity --yes --vnet-subnet-id {vnet_subnet_id} -o json' self.cmd(create_cmd, checks=[ - self.check('httpProxyConfig.httpProxy', 'http://cli-proxy-vm:3128/'), - self.check('httpProxyConfig.httpsProxy', 'https://cli-proxy-vm:3129/'), + self.check('httpProxyConfig.httpProxy', + 'http://cli-proxy-vm:3128/'), + self.check('httpProxyConfig.httpsProxy', + 'https://cli-proxy-vm:3129/'), self.check('httpProxyConfig.trustedCa', 'LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZHekNDQXdPZ0F3SUJBZ0lVT1FvajhDTFpkc2Vscjk3cnZJd3g1T0xEc3V3d0RRWUpLb1pJaHZjTkFRRUwKQlFBd0Z6RVZNQk1HQTFVRUF3d01ZMnhwTFhCeWIzaDVMWFp0TUI0WERUSXlNRE13T0RFMk5EUTBOMW9YRFRNeQpNRE13TlRFMk5EUTBOMW93RnpFVk1CTUdBMVVFQXd3TVkyeHBMWEJ5YjNoNUxYWnRNSUlDSWpBTkJna3Foa2lHCjl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUEvTVB0VjVCVFB0NmNxaTRSZE1sbXIzeUlzYTJ1anpjaHh2NGgKanNDMUR0blJnb3M1UzQxUEgwcmkrM3RUU1ZYMzJ5cndzWStyRDFZUnVwbTZsbUU3R2hVNUkwR2k5b3prU0YwWgpLS2FKaTJveXBVL0ZCK1FQcXpvQ1JzTUV3R0NibUtGVmw4VnVoeW5kWEs0YjRrYmxyOWJsL2V1d2Q3TThTYnZ6CldVam5lRHJRc2lJc3J6UFQ0S0FaTHFjdHpEZTRsbFBUN1lLYTMzaGlFUE9mdldpWitkcWthUUE5UDY0eFhTeW4KZkhYOHVWQUozdUJWSmVHeEQwcGtOSjdqT3J5YVV1SEh1Y1U4UzltSWpuS2pBQjVhUGpMSDV4QXM2bG1iMzEyMgp5KzF0bkVBbVhNNTBEK1VvRWpmUzZIT2I1cmRpcVhHdmMxS2JvS2p6a1BDUnh4MmE3MmN2ZWdVajZtZ0FKTHpnClRoRTFsbGNtVTRpemd4b0lNa1ZwR1RWT0xMbjFWRkt1TmhNWkN2RnZLZ25Lb0F2M0cwRlVuZldFYVJSalNObUQKTFlhTURUNUg5WnQycERJVWpVR1N0Q2w3Z1J6TUVuWXdKTzN5aURwZzQzbzVkUnlzVXlMOUpmRS9OaDdUZzYxOApuOGNKL1c3K1FZYllsanVyYXA4cjdRRlNyb2wzVkNoRkIrT29yNW5pK3ZvaFNBd0pmMFVsTXBHM3hXbXkxVUk0ClRGS2ZGR1JSVHpyUCs3Yk53WDVoSXZJeTVWdGd5YU9xSndUeGhpL0pkeHRPcjJ0QTVyQ1c3K0N0Z1N2emtxTkUKWHlyN3ZrWWdwNlk1TFpneTR0VWpLMEswT1VnVmRqQk9oRHBFenkvRkY4dzFGRVZnSjBxWS9yV2NMa0JIRFQ4Ugp2SmtoaW84Q0F3RUFBYU5mTUYwd0Z3WURWUjBSQkJBd0RvSU1ZMnhwTFhCeWIzaDVMWFp0TUJJR0ExVWRFd0VCCi93UUlNQVlCQWY4Q0FRQXdEd1lEVlIwUEFRSC9CQVVEQXdmbmdEQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0QKQWdZSUt3WUJCUVVIQXdFd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFBb21qQ3lYdmFRT3hnWUs1MHNYTEIyKwp3QWZkc3g1bm5HZGd5Zmc0dXJXMlZtMTVEaEd2STdDL250cTBkWXkyNE4vVWJHN1VEWHZseUxJSkZxMVhQN25mCnBaRzBWQ2paNjlibXhLbTNaOG0wL0F3TXZpOGU5ZWR5OHY5a05CQ3dMR2tIYkE4WW85Q0lpUWdlbGZwcDF2VWgKYm5OQmhhRCtpdTZDZmlDTHdnSmIvaXc3ZW8vQ3lvWnF4K3RqWGFPMnpYdm00cC8rUUlmQU9ndEdRTEZVOGNmWgovZ1VyVHE1Z0ZxMCtQOUd5V3NBVEpGNnE3TDZXWlpqME91VHNlN2Y0Q1NpajZNbk9NTXhBK0pvYWhKejdsc1NpClRKSEl3RXA1ci9SeWhweWVwUXhGWWNVSDVKSmY5cmFoWExXWmkrOVRqeFNNMll5aHhmUlBzaVVFdUdEb2s3OFEKbS9RUGlDaTlKSmIxb2NtVGpBVjh4RFNob2NpdlhPRnlobjZMbjc3dkxqWStBYXZ0V0RoUXRocHVQeHNMdFZ6bQplMFNIMTFkRUxSdGI3NG1xWE9yTzdmdS8rSUJzM0pxTEUvVSt4dXhRdHZHOHZHMXlES0hIU1pxUzJoL1dzNGw0Ck5pQXNoSGdlaFFEUEJjWTl3WVl6ZkJnWnBPVU16ZERmNTB4K0ZTbFk0M1dPSkp6U3VRaDR5WjArM2t5Z3VDRjgKcm5NTFNjZXlTNGNpNExtSi9LQ1N1R2RmNlhWWXo4QkU5Z2pqanBDUDZxeTBVbFJlZldzL2lnL3djSysyYkYxVApuL1l2KzZnWGVDVEhKNzVxRElQbHA3RFJVVWswZmJNajRiSWthb2dXV2s0emYydThteFpMYTBsZVBLTktaTi9tCkdDdkZ3cjNlaSt1LzhjenA1RjdUCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K') ]) @@ -2350,8 +2438,10 @@ def test_aks_create_and_update_with_http_proxy_config(self, resource_group, reso update_cmd = 'aks update --resource-group={resource_group} --name={name} --http-proxy-config={http_proxy_path}' self.cmd(update_cmd, checks=[ - self.check('httpProxyConfig.httpProxy', 'http://cli-proxy-vm:3128/'), - self.check('httpProxyConfig.httpsProxy', 'https://cli-proxy-vm:3129/'), + self.check('httpProxyConfig.httpProxy', + 'http://cli-proxy-vm:3128/'), + self.check('httpProxyConfig.httpsProxy', + 'https://cli-proxy-vm:3129/'), self.check('httpProxyConfig.trustedCa', 'LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZERENDQXZTZ0F3SUJBZ0lVQlJ3cGs1eTh5ckdrNmtYTjhkSHlMRUNvaHBrd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0VqRVFNQTRHQTFVRUF3d0habTl2TFdKaGNqQWVGdzB5TVRFd01UTXdNekU1TlRoYUZ3MHpNVEV3TVRFdwpNekU1TlRoYU1CSXhFREFPQmdOVkJBTU1CMlp2YnkxaVlYSXdnZ0lpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElDCkR3QXdnZ0lLQW9JQ0FRRFcwRE9sVC9yci9xUEZIUU9lNndBNDkyVGh3VWxZaDhCQkszTW9VWVZLNjEvL2xXekEKeFkrYzlmazlvckUrZXhMSVpwdUg1VnNZR21MNUFyc05sVmNBMkU4MWgwSlBPYUo1eEpiZG40YldpZG9vdXRVVwpXeDNhYUJLSEt0RWdZbUNmTjliWXlZMlNWRWQvNS9HeGh0akVabHJ1aEtRdkZVa3hwR0xKK1JRQ25oNklZakQwCnNpQ0YyTjJhVUJ4RE5KaUdmeHlHSVIrY2p4Vlcrd01md05CQ0l6QVkxMnY4WmpzUXdmUWlhOE5oWEx3M0tuRm0KdzUrcHN2bU1HL1FFUUtZMXNOTnk2dS9DZkI3cmIxQ0EwcjdNNnFsNFMrWHJjZUVRcXpDUWR6NWJueGNYbmFkbwp5MDlhdm5OSGRqbmpvcHNPSkxhd2hzb3RGNWFrL1FLdjYzdU9yVFFlOHlPSWlCZ3JSUzdwejcxbVlhRGNMcXFtCmtmdDVLYnFnMHNZYmo0M09LSm5aZ3crTUtackhoSFJKNi9BcWxOclZML3pFUytHU0ozQ1lSaE5nYXdDQ0Nqd1gKanZYZnkycWFEV2NQbWZaSWVVMVNzdE05THBVRWFQNjJzUVNmb3NEdnZFbUFyUVgwcmd1WGhvZ3pRUFdGWVlEKwo4SUNFYkNFc21hVnN3MzhVUzgzbFlGVCtyTHh3cm5UK1JXSUZ2WFRXbHhCNm5JeWpsOXBhNzlkdU5ocjJxN2RzCjVOU3ZWWHg5UGNqVTQ2VUZ6QnVTbUl0Q0M0Y1NadFRWc3l6ZnpMd2hKbGlqV0czTkp5TnpHUkZQcUpQdTNJUzEKZ3VtKytqdWx4bXZNWm1vM1RqSE5JRm90a0kyd3d3ZUtIcWpYcW9STmwvVnZobE5CaXZRR2gxeGovd0lEQVFBQgpvMW93V0RBU0JnTlZIUkVFQ3pBSmdnZG1iMjh0WW1GeU1CSUdBMVVkRXdFQi93UUlNQVlCQWY4Q0FRQXdEd1lEClZSMFBBUUgvQkFVREF3Zm5nREFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0RRWUoKS29aSWh2Y05BUUVMQlFBRGdnSUJBTDF3RlpTdUw4NTM3aHpUTXhSUWJjcWdEU2F4RUd0ZDJaNTVCcnVWQVloagpxQjR6STd1UVZ2SkNpeXdmQm5BNnZmejh2UDBzdGJJbkVtajh1dS9CSS81NzZqR0tWUWRQSDhqMnQvN1NQWjFKClhBWk9wc1hoVll2RmtpQlhVeW1RMnAvRjFqb2ZRRE1JQ0htdHhRUSthakJQNjBpcnFnVnpsRi95NlQySUgzOHYKbGordndIam52WW5vVmhGNEY0TlE5amp6S3Y1NUhVTk0xUEJKZkFaOTJqeXovczdPMmN2cjhNWlNkT2s5QVk1RQp5RXRlQjBTSjdLS0tUZklBVmVMQzdrRnBHR3FsRkRBNzhPSS9YakNZViswRjk4MHdNOVkxTEVUa3ZMamVSMEFyCnVzZDNIS1Vtd2EwTVEwUTNZNGxma0ZtNjJTclhvcjJURC9WZHpFZWNOTnVmV1VJTVNuaEJDNTVHWjBOTVYvR0QKRXhGZTVWQkhUZEZVNlIwb3JCOVFjVll1Mzk0MEt5NXhkbHNaUHZlMmRJNS9WOXhzY0Zad3cxWWs4K21RK3NVeQp2UVBoL2ZmK0tTQjdVVkdvTVNXUlg3YjFFMGVzZSs4QzZlaVV2OXpDR0VRbkVCcnFIQWxSUDJ2ZzQ0bXFJSnRzCjN2NUt1NW0ySmJoeWNsQVR3VUNQZkN3a2tLRTg0MzZGRitDK0ZUVTJ1OWVpL2t5QTAxYi9zRFl2cWdsS2FWK3MKbEVHRkhjd05Ea2VrS1BFUEZxNkpnZ3R0WlNidE5SMnFadzl3cExIbDVuVlVXdnBGa2hvcW1KVkphK0VBSTQ1LwpqRkh4VG9PMHp1NlBxc1p5SnM2TC84Z3BhbTcwMDV6b0VETVRjcFltMlduMFBKcEg3NE9zUHJVRDVJWVA5ZEt5Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K') ]) @@ -2405,7 +2495,8 @@ def test_aks_create_private_cluster_public_fqdn(self, resource_group, resource_g self.exists('privateFqdn'), self.exists('fqdn'), self.check('provisioningState', 'Succeeded'), - self.check('apiServerAccessProfile.enablePrivateClusterPublicFqdn', True), + self.check( + 'apiServerAccessProfile.enablePrivateClusterPublicFqdn', True), ]) # update @@ -2414,7 +2505,8 @@ def test_aks_create_private_cluster_public_fqdn(self, resource_group, resource_g self.exists('privateFqdn'), self.check('fqdn', None), self.check('provisioningState', 'Succeeded'), - self.check('apiServerAccessProfile.enablePrivateClusterPublicFqdn', False), + self.check( + 'apiServerAccessProfile.enablePrivateClusterPublicFqdn', False), ]) @live_only() @@ -2923,8 +3015,10 @@ def test_aks_maintenanceconfiguration(self, resource_group, resource_group_locat maintenance_configuration_update_cmd = 'aks maintenanceconfiguration update -g {resource_group} --cluster-name {name} -n default --config-file {mc_path}' self.cmd( maintenance_configuration_update_cmd, checks=[ - self.check("timeInWeek[*].day | contains(@, 'Tuesday') && contains(@, 'Wednesday')", True), - self.check("timeInWeek[*].hourSlots[*] | contains([0], `2`) && contains([1], `6`)", True), + self.check( + "timeInWeek[*].day | contains(@, 'Tuesday') && contains(@, 'Wednesday')", True), + self.check( + "timeInWeek[*].hourSlots[*] | contains([0], `2`) && contains([1], `6`)", True), self.check("notAllowedTime | length(@) == `2`", True)] ) @@ -3107,8 +3201,10 @@ def test_aks_create_and_update_outbound_ips(self, resource_group, resource_group self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded'), - self.check('networkProfile.loadBalancerProfile.effectiveOutboundIPs[] | length(@)', 1), - self.check('networkProfile.loadBalancerProfile.effectiveOutboundIPs[0].id', init_pip_id) + self.check( + 'networkProfile.loadBalancerProfile.effectiveOutboundIPs[] | length(@)', 1), + self.check( + 'networkProfile.loadBalancerProfile.effectiveOutboundIPs[0].id', init_pip_id) ]) # update cluster @@ -3116,8 +3212,10 @@ def test_aks_create_and_update_outbound_ips(self, resource_group, resource_group self.cmd(update_cmd, checks=[ self.check('provisioningState', 'Succeeded'), - self.check('networkProfile.loadBalancerProfile.effectiveOutboundIPs[] | length(@)', 1), - self.check('networkProfile.loadBalancerProfile.effectiveOutboundIPs[0].id', update_pip_id) + self.check( + 'networkProfile.loadBalancerProfile.effectiveOutboundIPs[] | length(@)', 1), + self.check( + 'networkProfile.loadBalancerProfile.effectiveOutboundIPs[0].id', update_pip_id) ]) # delete @@ -3147,13 +3245,18 @@ def test_aks_create_and_update_ipv6_count(self, resource_group, resource_group_l self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded'), self.check('networkProfile.podCidr', '172.126.0.0/16'), - self.check('networkProfile.podCidrs', ['172.126.0.0/16', '2001:abcd:1234::/64']), + self.check('networkProfile.podCidrs', [ + '172.126.0.0/16', '2001:abcd:1234::/64']), self.check('networkProfile.serviceCidr', '172.56.0.0/16'), - self.check('networkProfile.serviceCidrs', ['172.56.0.0/16', '2001:ffff::/108']), + self.check('networkProfile.serviceCidrs', [ + '172.56.0.0/16', '2001:ffff::/108']), self.check('networkProfile.ipFamilies', ['IPv4', 'IPv6']), - self.check('networkProfile.loadBalancerProfile.managedOutboundIPs.countIpv6', 2), - self.check('networkProfile.loadBalancerProfile.managedOutboundIPs.count', 1), - self.check('networkProfile.loadBalancerProfile.effectiveOutboundIPs[] | length(@)', 3) + self.check( + 'networkProfile.loadBalancerProfile.managedOutboundIPs.countIpv6', 2), + self.check( + 'networkProfile.loadBalancerProfile.managedOutboundIPs.count', 1), + self.check( + 'networkProfile.loadBalancerProfile.effectiveOutboundIPs[] | length(@)', 3) ]) # update @@ -3162,19 +3265,24 @@ def test_aks_create_and_update_ipv6_count(self, resource_group, resource_group_l self.cmd(update_cmd, checks=[ self.check('provisioningState', 'Succeeded'), self.check('networkProfile.podCidr', '172.126.0.0/16'), - self.check('networkProfile.podCidrs', ['172.126.0.0/16', '2001:abcd:1234::/64']), + self.check('networkProfile.podCidrs', [ + '172.126.0.0/16', '2001:abcd:1234::/64']), self.check('networkProfile.serviceCidr', '172.56.0.0/16'), - self.check('networkProfile.serviceCidrs', ['172.56.0.0/16', '2001:ffff::/108']), + self.check('networkProfile.serviceCidrs', [ + '172.56.0.0/16', '2001:ffff::/108']), self.check('networkProfile.ipFamilies', ['IPv4', 'IPv6']), - self.check('networkProfile.loadBalancerProfile.managedOutboundIPs.countIpv6', 4), - self.check('networkProfile.loadBalancerProfile.managedOutboundIPs.count', 1), - self.check('networkProfile.loadBalancerProfile.effectiveOutboundIPs[] | length(@)', 5) + self.check( + 'networkProfile.loadBalancerProfile.managedOutboundIPs.countIpv6', 4), + self.check( + 'networkProfile.loadBalancerProfile.managedOutboundIPs.count', 1), + self.check( + 'networkProfile.loadBalancerProfile.effectiveOutboundIPs[] | length(@)', 5) ]) # delete self.cmd( 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) - + @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='centraluseuap') def test_aks_update_with_windows_gmsa(self, resource_group, resource_group_location): @@ -3295,7 +3403,8 @@ def test_aks_nodepool_update_taints_msi(self, resource_group, resource_group_loc ]) # nodepool delete nodepool1 label - self.cmd('aks nodepool update --resource-group={resource_group} --cluster-name={name} --name={nodepool1_name} --node-taints "" ') + self.cmd( + 'aks nodepool update --resource-group={resource_group} --cluster-name={name} --name={nodepool1_name} --node-taints "" ') # nodepool show self.cmd('aks nodepool show --resource-group={resource_group} --cluster-name={name} --name={nodepool1_name} -o json', checks=[ @@ -3387,7 +3496,6 @@ def test_aks_nodepool_update_label_msi(self, resource_group, resource_group_loca self.check('nodeLabels.label1', None) ]) - @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_update_label_msi(self, resource_group, resource_group_location): @@ -3549,7 +3657,7 @@ def test_aks_create_with_crg_id(self, resource_group, resource_group_location): # delete self.cmd( 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) - + @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_with_network_plugin_none(self, resource_group, resource_group_location): @@ -3557,7 +3665,7 @@ def test_aks_create_with_network_plugin_none(self, resource_group, resource_grou self.test_resources_count = 0 # kwargs for string formatting aks_name = self.create_random_name('cliakstest', 16) - + self.kwargs.update({ 'resource_group': resource_group, 'name': aks_name, @@ -3568,7 +3676,7 @@ def test_aks_create_with_network_plugin_none(self, resource_group, resource_grou create_cmd = 'aks create --resource-group={resource_group} --name={name} --network-plugin=none ' \ '--location={location} --ssh-key-value={ssh_key_value} -o json' - + self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded'), self.check('networkProfile.networkPlugin', 'none'), @@ -3710,4 +3818,4 @@ def test_aks_update_with_azurekeyvaultkms(self, resource_group, resource_group_l cmd = 'aks delete --resource-group={resource_group} --name={name} --yes --no-wait' self.cmd(cmd, checks=[ self.is_empty(), - ]) \ No newline at end of file + ]) diff --git a/src/aks-preview/setup.py b/src/aks-preview/setup.py index 0fbeaf23619..53f75060d75 100644 --- a/src/aks-preview/setup.py +++ b/src/aks-preview/setup.py @@ -9,7 +9,7 @@ from setuptools import setup, find_packages -VERSION = "0.5.58" +VERSION = "0.5.59" CLASSIFIERS = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", From 57412bee0cfd55f36b8199b9717097faac442cb2 Mon Sep 17 00:00:00 2001 From: ZelinWang Date: Wed, 6 Apr 2022 17:57:15 +0800 Subject: [PATCH 43/70] {CI} Fix tests not belonging to the changed extension are running (#4637) * fix-4565 * update * add log * update * update * Update test_source.py --- azure-pipelines.yml | 4 ++-- scripts/ci/test_source.py | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 3e3e7c9ec62..4078af36951 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -116,7 +116,7 @@ jobs: - bash: ./scripts/ci/test_source.sh displayName: 'Run integration test and build test' env: - ADO_PULL_REQUEST_LATEST_COMMIT: $(System.PullRequest.SourceCommitId) + ADO_PULL_REQUEST_LATEST_COMMIT: HEAD ADO_PULL_REQUEST_TARGET_BRANCH: $(System.PullRequest.TargetBranch) - job: LintModifiedExtensions @@ -153,7 +153,7 @@ jobs: AZURE_EXTENSION_DIR=~/.azure/cliextensions python scripts/ci/verify_linter.py displayName: "CLI Linter on Modified Extension" env: - ADO_PULL_REQUEST_LATEST_COMMIT: $(System.PullRequest.SourceCommitId) + ADO_PULL_REQUEST_LATEST_COMMIT: HEAD ADO_PULL_REQUEST_TARGET_BRANCH: $(System.PullRequest.TargetBranch) - job: IndexRefDocVerify diff --git a/scripts/ci/test_source.py b/scripts/ci/test_source.py index 2de55fcf9d1..feaa3fbc745 100755 --- a/scripts/ci/test_source.py +++ b/scripts/ci/test_source.py @@ -7,6 +7,7 @@ from __future__ import print_function +import logging import os import sys import tempfile @@ -21,6 +22,7 @@ from util import SRC_PATH +logger = logging.getLogger(__name__) ALL_TESTS = [] @@ -55,6 +57,10 @@ if pkg_name and os.path.isdir(os.path.join(src_d_full, pkg_name, 'tests')): ALL_TESTS.append((pkg_name, src_d_full)) +logger.warning(f'ado_branch_last_commit: {ado_branch_last_commit}, ' + f'ado_target_branch: {ado_target_branch}, ' + f'ALL_TESTS: {ALL_TESTS}.') + class TestExtensionSourceMeta(type): def __new__(mcs, name, bases, _dict): From 0478b7f648993b03bb18cad40479d7f43b5675d8 Mon Sep 17 00:00:00 2001 From: Sean Wells Date: Wed, 6 Apr 2022 09:23:58 -0700 Subject: [PATCH 44/70] chore(arcdata): arcdata version bump to 1.3.0 (#4627) * chore(arcdata): arcdata version bump to 1.3.0 --- src/index.json | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/src/index.json b/src/index.json index d6c7d31faee..9fd1b130f66 100644 --- a/src/index.json +++ b/src/index.json @@ -6283,6 +6283,64 @@ } ], "arcdata": [ + { + "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-1.3.0-py2.py3-none-any.whl", + "filename": "arcdata-1.3.0-py2.py3-none-any.whl", + "metadata": { + "azext.isExperimental": false, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 1 - Beta", + "Intended Audience :: Developers", + "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": "dpgswdist@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://docs.microsoft.com/en-us/azure/azure-arc/data/" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "license_file": "LICENSE", + "metadata_version": "2.0", + "name": "arcdata", + "run_requires": [ + { + "requires": [ + "colorama (==0.4.4)", + "jinja2 (==3.0.3)", + "jsonpatch (==1.24)", + "jsonpath-ng (==1.4.3)", + "jsonschema (==3.2.0)", + "kubernetes (==12.0.1)", + "ndjson (==0.3.1)", + "pem (==21.2.0)", + "pydash (==4.8.0)" + ] + } + ], + "summary": "Tools for managing ArcData.", + "version": "1.3.0" + }, + "sha256Digest": "abb61b170c3b830212f12bcb199e5d5106e7cb6ff880b7f7793ce1359667d072" + }, { "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-1.2.3-py2.py3-none-any.whl", "filename": "arcdata-1.2.3-py2.py3-none-any.whl", From a7c880a4158b125145506d4a6388e7e1e85a3f64 Mon Sep 17 00:00:00 2001 From: Haroon Feisal Date: Wed, 6 Apr 2022 15:24:55 -0400 Subject: [PATCH 45/70] Added helps for params. Added error handling for non acr registry passed with source. Ignore param disable_warnings for create and no_wait for up. --- .../azext_containerapp/_params.py | 14 ++++- src/containerapp/azext_containerapp/_utils.py | 16 +++-- src/containerapp/azext_containerapp/custom.py | 58 +++++++++---------- 3 files changed, 52 insertions(+), 36 deletions(-) diff --git a/src/containerapp/azext_containerapp/_params.py b/src/containerapp/azext_containerapp/_params.py index 26d7638228a..81fe6d0d39a 100644 --- a/src/containerapp/azext_containerapp/_params.py +++ b/src/containerapp/azext_containerapp/_params.py @@ -76,6 +76,7 @@ def load_arguments(self, _): with self.argument_context('containerapp create') as c: c.argument('traffic_weights', nargs='*', options_list=['--traffic-weight'], help="A list of revision weight(s) for the container app. Space-separated values in 'revision_name=weight' format. For latest revision, use 'latest=weight'") + c.ignore('disable_warnings') with self.argument_context('containerapp scale') as c: c.argument('min_replicas', type=int, help="The minimum number of replicas.") @@ -180,6 +181,17 @@ def load_arguments(self, _): with self.argument_context('containerapp up') as c: c.argument('resource_group_name', configured_default='resource_group_name') c.argument('location', configured_default='location') - c.argument('name', configured_default='name') + c.argument('name', configured_default='name', id_part=None) c.argument('managed_env', configured_default='managed_env') c.argument('registry_server', configured_default='registry_server') + c.argument('disable_verbose', help="Disable verbose output from ACR build when using --source.") + c.argument('dockerfile', help="Name of the dockerfile.") + c.argument('dryrun', help="Show summary of the operation instead of executing it.") + + with self.argument_context('containerapp up', arg_group='Log Analytics (Environment)') as c: + c.argument('logs_customer_id', type=str, options_list=['--logs-workspace-id'], help='Name or resource ID of the Log Analytics workspace to send diagnostics logs to. You can use \"az monitor log-analytics workspace create\" to create one. Extra billing may apply.') + c.argument('logs_key', type=str, options_list=['--logs-workspace-key'], help='Log Analytics workspace key to configure your Log Analytics workspace. You can use \"az monitor log-analytics workspace get-shared-keys\" to retrieve the key.') + c.ignore('no_wait') + + with self.argument_context('containerapp', arg_group='Container') as c: + c.argument('source', type=str, help='Local directory path to upload to Azure container registry.') diff --git a/src/containerapp/azext_containerapp/_utils.py b/src/containerapp/azext_containerapp/_utils.py index c65584b0527..a04ebce9f4d 100644 --- a/src/containerapp/azext_containerapp/_utils.py +++ b/src/containerapp/azext_containerapp/_utils.py @@ -5,7 +5,7 @@ # pylint: disable=line-too-long, consider-using-f-string, no-else-return, duplicate-string-formatting-argument from urllib.parse import urlparse -from azure.cli.core.azclierror import (ValidationError, RequiredArgumentMissingError) +from azure.cli.core.azclierror import (ValidationError, RequiredArgumentMissingError, CLIInternalError) from azure.cli.core.commands.client_factory import get_subscription_id from knack.log import get_logger from msrestazure.tools import parse_resource_id @@ -131,7 +131,7 @@ def _update_revision_env_secretrefs(containers, name): var["secretRef"] = var["secretRef"].replace("{}-".format(name), "") -def store_as_secret_and_return_secret_ref(secrets_list, registry_user, registry_server, registry_pass, update_existing_secret=False): +def store_as_secret_and_return_secret_ref(secrets_list, registry_user, registry_server, registry_pass, update_existing_secret=False, disable_warnings=False): if registry_pass.startswith("secretref:"): # If user passed in registry password using a secret @@ -161,7 +161,8 @@ def store_as_secret_and_return_secret_ref(secrets_list, registry_user, registry_ raise ValidationError('Found secret with name \"{}\" but value does not equal the supplied registry password.'.format(registry_secret_name)) return registry_secret_name - # logger.warning('Adding registry password as a secret with name \"{}\"'.format(registry_secret_name)) # pylint: disable=logging-format-interpolation + if not disable_warnings: + logger.warning('Adding registry password as a secret with name \"{}\"'.format(registry_secret_name)) # pylint: disable=logging-format-interpolation secrets_list.append({ "name": registry_secret_name, "value": registry_pass @@ -233,7 +234,7 @@ def _generate_log_analytics_workspace_name(resource_group_name): def _generate_log_analytics_if_not_provided(cmd, logs_customer_id, logs_key, location, resource_group_name): if logs_customer_id is None and logs_key is None: - # logger.warning("No Log Analytics workspace provided.") + logger.warning("No Log Analytics workspace provided.") try: _validate_subscription_registered(cmd, "Microsoft.OperationalInsights") log_analytics_client = log_analytics_client_factory(cmd.cli_ctx) @@ -250,7 +251,7 @@ def _generate_log_analytics_if_not_provided(cmd, logs_customer_id, logs_key, loc workspace_name = _generate_log_analytics_workspace_name(resource_group_name) workspace_instance = Workspace(location=log_analytics_location) - # logger.warning("Generating a Log Analytics workspace with name \"{}\"".format(workspace_name)) # pylint: disable=logging-format-interpolation + logger.warning("Generating a Log Analytics workspace with name \"{}\"".format(workspace_name)) # pylint: disable=logging-format-interpolation poller = log_analytics_client.begin_create_or_update(resource_group_name, workspace_name, workspace_instance) log_analytics_workspace = LongRunningOperation(cmd.cli_ctx)(poller) @@ -288,7 +289,7 @@ def _generate_log_analytics_if_not_provided(cmd, logs_customer_id, logs_key, loc logs_key = shared_keys.primary_shared_key - return logs_customer_id, logs_key + return logs_customer_id, logs_key, workspace_name def _get_existing_secrets(cmd, resource_group_name, name, containerapp_def): @@ -565,6 +566,7 @@ def _infer_acr_credentials(cmd, registry_server, disable_warnings=False): # If registry is Azure Container Registry, we can try inferring credentials if '.azurecr.io' not in registry_server: raise RequiredArgumentMissingError('Registry username and password are required if not using Azure Container Registry.') + logger.warning("Infer acr credentials") not disable_warnings and logger.warning('No credential was provided to access Azure Container Registry. Trying to look up credentials...') parsed = urlparse(registry_server) registry_name = (parsed.netloc if parsed.scheme else parsed.path).split('.')[0] @@ -724,6 +726,8 @@ def queue_acr_build(cmd, registry_rg, registry_name, img_name, src_dir, dockerfi lro_poller = get_run_with_polling(cmd, client_runs, run_id, registry_name, registry_rg) acr = LongRunningOperation(cmd.cli_ctx)(lro_poller) logger.warning("Build {}.".format(acr.status.lower())) + if acr.status.lower() != "succeeded": + raise CLIInternalError("ACR build {}.".format(acr.status.lower())) return acr return stream_logs(cmd, client_runs, run_id, registry_name, registry_rg, None, False, True) diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index edb8d0ce0ee..ddb501951e9 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -360,7 +360,7 @@ def create_containerapp(cmd, if secrets_def is None: secrets_def = [] - registries_def["passwordSecretRef"] = store_as_secret_and_return_secret_ref(secrets_def, registry_user, registry_server, registry_pass) + registries_def["passwordSecretRef"] = store_as_secret_and_return_secret_ref(secrets_def, registry_user, registry_server, registry_pass, disable_warnings=disable_warnings) dapr_def = None if dapr_enabled: @@ -1950,15 +1950,14 @@ def containerapp_up(cmd, dockerfile="Dockerfile", # compose=None, ingress=None, - port=None, - registry_username=None, - registry_password=None, + target_port=None, + registry_user=None, + registry_pass=None, env_vars=None, dryrun=False, logs_customer_id=None, logs_key=None, - disable_verbose=False, - no_wait=False): + disable_verbose=False): import os, json src_dir = os.getcwd() _src_path_escaped = "{}".format(src_dir.replace(os.sep, os.sep + os.sep)) @@ -2019,14 +2018,15 @@ def containerapp_up(cmd, if not resource_group_name: user = get_profile_username() rg_name = get_randomized_name(user, resource_group_name) if custom_rg_name is None else custom_rg_name - not dryrun and logger.warning("Creating new resource group {}".format(rg_name)) - not dryrun and create_resource_group(cmd, rg_name, location) + if not dryrun: + logger.warning("Creating new resource group {}".format(rg_name)) + create_resource_group(cmd, rg_name, location) resource_group_name = rg_name if not managed_env: env_name = "{}-env".format(name).replace("_","-") if not dryrun: logger.warning("Creating new managed environment {}".format(env_name)) - managed_env = create_managed_environment(cmd, env_name, location = location, resource_group_name=resource_group_name, logs_key=logs_key, logs_customer_id=logs_customer_id, disable_warnings=True, no_wait=no_wait)["id"] + managed_env = create_managed_environment(cmd, env_name, location = location, resource_group_name=resource_group_name, logs_key=logs_key, logs_customer_id=logs_customer_id, disable_warnings=True)["id"] else: managed_env = env_name else: @@ -2035,17 +2035,17 @@ def containerapp_up(cmd, env_name = containerapp_def["properties"]["managedEnvironmentId"].split('/')[8] if logs_customer_id and logs_key: if not dryrun: - managed_env = create_managed_environment(cmd, env_name, location = location, resource_group_name=resource_group_name, logs_key=logs_key, logs_customer_id=logs_customer_id, disable_warnings=True, no_wait=no_wait)["id"] + managed_env = create_managed_environment(cmd, env_name, location = location, resource_group_name=resource_group_name, logs_key=logs_key, logs_customer_id=logs_customer_id, disable_warnings=True)["id"] if image is not None and "azurecr.io" in image and not dryrun: - if registry_username is None or registry_password is None: + if registry_user is None or registry_pass is None: # If registry is Azure Container Registry, we can try inferring credentials logger.warning('No credential was provided to access Azure Container Registry. Trying to look up...') registry_server=image.split('/')[0] parsed = urlparse(image) registry_name = (parsed.netloc if parsed.scheme else parsed.path).split('.')[0] try: - registry_username, registry_password = _get_acr_cred(cmd.cli_ctx, registry_name) + registry_user, registry_pass = _get_acr_cred(cmd.cli_ctx, registry_name) except Exception as ex: raise RequiredArgumentMissingError('Failed to retrieve credentials for container registry. Please provide the registry username and password') from ex @@ -2056,25 +2056,24 @@ def containerapp_up(cmd, registry_name = "" registry_rg = "" if registry_server: - if not dryrun and (registry_username is None or registry_password is None): - if "azurecr.io" in registry_server: - # If registry is Azure Container Registry, we can try inferring credentials - logger.warning('No credential was provided to access Azure Container Registry. Trying to look up...') - parsed = urlparse(registry_server) - registry_name = (parsed.netloc if parsed.scheme else parsed.path).split('.')[0] - try: - registry_username, registry_password, registry_rg = _get_acr_cred(cmd.cli_ctx, registry_name) - except Exception as ex: - raise RequiredArgumentMissingError('Failed to retrieve credentials for container registry. Please provide the registry username and password') from ex - else: - raise RequiredArgumentMissingError("Registry usename and password are required if using non-Azure registry.") + if "azurecr.io" not in registry_server: + raise ValidationError("Cannot supply non-Azure registry when using --source.") + elif not dryrun and (registry_user is None or registry_pass is None): + # If registry is Azure Container Registry, we can try inferring credentials + logger.warning('No credential was provided to access Azure Container Registry. Trying to look up...') + parsed = urlparse(registry_server) + registry_name = (parsed.netloc if parsed.scheme else parsed.path).split('.')[0] + try: + registry_user, registry_pass, registry_rg = _get_acr_cred(cmd.cli_ctx, registry_name) + except Exception as ex: + raise RequiredArgumentMissingError('Failed to retrieve credentials for container registry. Please provide the registry username and password') from ex else: registry_rg = resource_group_name user = get_profile_username() registry_name = "{}acr".format(name) registry_name = registry_name + str(hash((registry_rg, user, name))).replace("-","") - not dryrun and logger.warning("Creating new acr {}".format(registry_name)) if not dryrun: + logger.warning("Creating new acr {}".format(registry_name)) registry_def = create_new_acr(cmd, registry_name, registry_rg, location) registry_server = registry_def.login_server else: @@ -2085,7 +2084,8 @@ def containerapp_up(cmd, now = datetime.now() image_name += ":{}".format(str(now).replace(' ', '').replace('-','').replace('.','').replace(':','')) image = registry_server + '/' + image_name - not dryrun and queue_acr_build(cmd, registry_rg, registry_name, image_name, source, dockerfile, disable_verbose) + if not dryrun: + queue_acr_build(cmd, registry_rg, registry_name, image_name, source, dockerfile, disable_verbose) _set_webapp_up_default_args(cmd, resource_group_name, location, name, registry_server) dry_run_str = r""" { @@ -2098,10 +2098,10 @@ def containerapp_up(cmd, "src_path" : "%s" } """ % (name, resource_group_name, location, env_name, registry_server, image, _src_path_escaped) - - not dryrun and create_containerapp(cmd=cmd, name=name, resource_group_name=resource_group_name, image=image, managed_env=managed_env, target_port=port, registry_server=registry_server, registry_pass=registry_password, registry_user=registry_username, env_vars=env_vars, ingress=ingress, disable_warnings=True, no_wait=no_wait) - if dryrun: logger.warning("Containerapp will be created with the below configuration, re-run command " "without the --dryrun flag to create & deploy a new containerapp.") + else: + create_containerapp(cmd=cmd, name=name, resource_group_name=resource_group_name, image=image, managed_env=managed_env, target_port=target_port, registry_server=registry_server, registry_pass=registry_pass, registry_user=registry_user, env_vars=env_vars, ingress=ingress, disable_warnings=True) + return json.loads(dry_run_str) From 9eea137ae0d9783659907c9d3083e48305d354f5 Mon Sep 17 00:00:00 2001 From: Haroon Feisal Date: Wed, 6 Apr 2022 15:28:08 -0400 Subject: [PATCH 46/70] Updated disable_warnings ignore. Removed disable_warnings from update_containerapp. --- src/containerapp/azext_containerapp/_params.py | 2 +- src/containerapp/azext_containerapp/custom.py | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/containerapp/azext_containerapp/_params.py b/src/containerapp/azext_containerapp/_params.py index 81fe6d0d39a..d85f8c42cf6 100644 --- a/src/containerapp/azext_containerapp/_params.py +++ b/src/containerapp/azext_containerapp/_params.py @@ -24,6 +24,7 @@ def load_arguments(self, _): c.argument('name', name_type, metavar='NAME', id_part='name', help="The name of the Containerapp.") c.argument('resource_group_name', arg_type=resource_group_name_type) c.argument('location', arg_type=get_location_type(self.cli_ctx)) + c.ignore('disable_warnings') with self.argument_context('containerapp') as c: c.argument('tags', arg_type=tags_type) @@ -76,7 +77,6 @@ def load_arguments(self, _): with self.argument_context('containerapp create') as c: c.argument('traffic_weights', nargs='*', options_list=['--traffic-weight'], help="A list of revision weight(s) for the container app. Space-separated values in 'revision_name=weight' format. For latest revision, use 'latest=weight'") - c.ignore('disable_warnings') with self.argument_context('containerapp scale') as c: c.argument('min_replicas', type=int, help="The minimum number of replicas.") diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index ddb501951e9..f444f4a5e58 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -450,7 +450,6 @@ def update_containerapp(cmd, startup_command=None, args=None, tags=None, - disable_warnings=False, no_wait=False): _validate_subscription_registered(cmd, "Microsoft.App") @@ -610,7 +609,7 @@ def update_containerapp(cmd, cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) if "properties" in r and "provisioningState" in r["properties"] and r["properties"]["provisioningState"].lower() == "waiting" and not no_wait: - not disable_warnings and logger.warning('Containerapp update in progress. Please monitor the update using `az containerapp show -n {} -g {}`'.format(name, resource_group_name)) + logger.warning('Containerapp update in progress. Please monitor the update using `az containerapp show -n {} -g {}`'.format(name, resource_group_name)) return r except Exception as e: From f0f1978c36c3b479a2e3ca1a6eb811da673620da Mon Sep 17 00:00:00 2001 From: Yuwei Zhou Date: Thu, 7 Apr 2022 11:21:02 +0800 Subject: [PATCH 47/70] =?UTF-8?q?fix:=20=F0=9F=90=9B=20Standard/Basic=20us?= =?UTF-8?q?e=20old=20api=20for=20blue-green=20(#4602)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/spring-cloud/HISTORY.md | 5 + src/spring-cloud/azext_spring_cloud/custom.py | 30 +- .../test_blue_green_deployment.yaml | 729 +++++++++++++----- .../tests/latest/test_asc_app.py | 45 ++ src/spring-cloud/setup.py | 2 +- 5 files changed, 592 insertions(+), 219 deletions(-) diff --git a/src/spring-cloud/HISTORY.md b/src/spring-cloud/HISTORY.md index f47a6130974..e5e3afaa46d 100644 --- a/src/spring-cloud/HISTORY.md +++ b/src/spring-cloud/HISTORY.md @@ -1,5 +1,9 @@ Release History =============== +3.1.3 +--- +* Revert new RBAC requirement for Standard and Basic sku Spring resource for `az spring-cloud app set-deployment` and `az spring-cloud app unset-deployment` commands. + 3.1.2 --- * Find min version requirement for Azure CLI Core. @@ -28,6 +32,7 @@ Release History * [BREAKING CHANGE] `az spring-cloud app` command output: Remove "properties.activeDeployment.properties.deploymentSettings.jvmOptions", use "properties.activeDeployment.properties.source.jvmOptions" instead. * [BREAKING CHANGE] `az spring-cloud app` command output: Remove "properties.activeDeployment.properties.deploymentSettings.runtimeVersion", use "properties.activeDeployment.properties.source.runtimeVersion" instead. * [BREAKING CHANGE] `az spring-cloud app` command output: Remove "properties.activeDeployment.properties.deploymentSettings.netCoreMainEntryPath", use "properties.activeDeployment.properties.source.netCoreMainEntryPath" instead. +* [BREAKING CHANGE] RBAC change requirement for `az spring-cloud app set-deployment` and `az spring-cloud app unset-deployment` commands. 2.12.3 --- diff --git a/src/spring-cloud/azext_spring_cloud/custom.py b/src/spring-cloud/azext_spring_cloud/custom.py index dacaf67e45c..c738b8f0235 100644 --- a/src/spring-cloud/azext_spring_cloud/custom.py +++ b/src/spring-cloud/azext_spring_cloud/custom.py @@ -15,7 +15,7 @@ from time import sleep from ._stream_utils import stream_logs from azure.mgmt.core.tools import (parse_resource_id, is_valid_resource_id) -from ._utils import (get_portal_uri, wait_till_end) +from ._utils import (get_portal_uri, get_spring_cloud_sku) from knack.util import CLIError from .vendored_sdks.appplatform.v2020_07_01 import models from .vendored_sdks.appplatform.v2020_11_01_preview import models as models_20201101preview @@ -24,6 +24,7 @@ from .vendored_sdks.appplatform.v2020_11_01_preview import ( AppPlatformManagementClient as AppPlatformManagementClient_20201101preview ) +from ._client_factory import (cf_spring_cloud) from knack.log import get_logger from azure.cli.core.azclierror import ClientRequestError, FileOperationError, InvalidArgumentValueError from azure.cli.core.commands.client_factory import get_mgmt_service_client @@ -400,19 +401,36 @@ def app_tail_log(cmd, client, resource_group, service, name, def app_set_deployment(cmd, client, resource_group, service, name, deployment): - active_deployment_collection = models_20220101preview.ActiveDeploymentCollection( - active_deployment_names=[deployment] - ) - return client.apps.begin_set_active_deployments(resource_group, service, name, active_deployment_collection) + sku = get_spring_cloud_sku(client, resource_group, service) + if sku.tier == 'Enterprise': + return _set_active_in_preview_api(cmd, client, resource_group, service, name, deployment) + else: + return _set_active_in_lagecy_api(cmd, client, resource_group, service, name, deployment) def app_unset_deployment(cmd, client, resource_group, service, name): + sku = get_spring_cloud_sku(client, resource_group, service) + if sku.tier == 'Enterprise': + return _set_active_in_preview_api(cmd, client, resource_group, service, name) + else: + return _set_active_in_lagecy_api(cmd, client, resource_group, service, name) + + +def _set_active_in_preview_api(cmd, client, resource_group, service, name, deployment=None): active_deployment_collection = models_20220101preview.ActiveDeploymentCollection( - active_deployment_names=[] + active_deployment_names=[x for x in [deployment] if x is not None] ) return client.apps.begin_set_active_deployments(resource_group, service, name, active_deployment_collection) +def _set_active_in_lagecy_api(cmd, client, resource_group, service, name, deployment=''): + app = models.AppResource( + properties=models.AppResourceProperties(active_deployment_name=deployment) + ) + client = cf_spring_cloud(cmd.cli_ctx) + return client.apps.begin_update(resource_group, service, name, app) + + def app_append_loaded_public_certificate(cmd, client, resource_group, service, name, certificate_name, load_trust_store): app_resource = client.apps.get(resource_group, service, name) certificate_resource = client.certificates.get(resource_group, service, certificate_name) diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_blue_green_deployment.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_blue_green_deployment.yaml index dcc27937382..8f7484f88c7 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_blue_green_deployment.yaml +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_blue_green_deployment.yaml @@ -13,7 +13,7 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-03-01-preview response: @@ -23,11 +23,11 @@ interactions: cache-control: - no-cache content-length: - - '259' + - '233' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:43:11 GMT + - Fri, 01 Apr 2022 03:21:42 GMT expires: - '-1' pragma: @@ -38,14 +38,12 @@ interactions: - nginx/1.17.7 strict-transport-security: - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11996' + - '11999' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 404 message: Not Found @@ -63,22 +61,21 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-03-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"0c7bf6b91ae840c78655bb6f57ea0391","networkProfile":{"outboundIPs":{"publicIPs":["20.24.160.30","20.24.160.222"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"southeastasia","tags":{"asc-test":"prod","api-target":"arm","service-create-time":"2022-03-20 - 02:02:01 +0800","service-expire-time":"2022-03-20 13:02:01 +0800"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-03-19T18:02:10.1198327Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-03-19T19:56:42.9425082Z"}}' + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":2,"serviceId":"1c2024b049bf488eadfcd66408a7c934","networkProfile":{"outboundIPs":{"publicIPs":["52.184.248.81","52.184.251.97"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus2","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-03-31T04:06:28.5034016Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-31T04:16:18.65197Z"}}' headers: cache-control: - no-cache content-length: - - '1011' + - '766' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:43:11 GMT + - Fri, 01 Apr 2022 03:21:43 GMT expires: - '-1' pragma: @@ -96,9 +93,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11996' + - '11999' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -121,27 +118,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:13.4454262Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:43:13.4454262Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:21:44.4564168Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:21:44.4564168Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/81dd016a-09b8-446d-a786-fe7dfcb4b8cb?api-version=2022-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/test-app-blue-green/operationId/c06ae70e-519b-4e90-ac09-48e03d866b77?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '755' + - '727' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:43:13 GMT + - Fri, 01 Apr 2022 03:21:44 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/81dd016a-09b8-446d-a786-fe7dfcb4b8cb/Spring/test-app-blue-green?api-version=2022-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationResults/c06ae70e-519b-4e90-ac09-48e03d866b77/Spring/test-app-blue-green?api-version=2022-03-01-preview pragma: - no-cache request-context: @@ -155,7 +152,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1199' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 201 message: Created @@ -173,21 +170,21 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/81dd016a-09b8-446d-a786-fe7dfcb4b8cb?api-version=2022-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/test-app-blue-green/operationId/c06ae70e-519b-4e90-ac09-48e03d866b77?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/81dd016a-09b8-446d-a786-fe7dfcb4b8cb","name":"81dd016a-09b8-446d-a786-fe7dfcb4b8cb","status":"Succeeded","startTime":"2022-03-20T06:43:13.8911971Z","endTime":"2022-03-20T06:43:20.3530642Z"}' + string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/test-app-blue-green/operationId/c06ae70e-519b-4e90-ac09-48e03d866b77","name":"c06ae70e-519b-4e90-ac09-48e03d866b77","status":"Succeeded","startTime":"2022-04-01T03:21:44.7595141Z","endTime":"2022-04-01T03:21:51.5071106Z"}' headers: cache-control: - no-cache content-length: - - '381' + - '364' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:43:43 GMT + - Fri, 01 Apr 2022 03:22:14 GMT expires: - '-1' pragma: @@ -205,7 +202,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -223,21 +220,21 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:13.4454262Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:43:13.4454262Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:21:44.4564168Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:21:44.4564168Z"}}' headers: cache-control: - no-cache content-length: - - '873' + - '830' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:43:44 GMT + - Fri, 01 Apr 2022 03:22:15 GMT expires: - '-1' pragma: @@ -255,9 +252,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11995' + - '11998' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -282,27 +279,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:49.2113526Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:43:49.2113526Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:22:20.1595781Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:22:20.1595781Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/76400be5-23f1-4c88-a4bf-e58e77cbbdef?api-version=2022-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/default/operationId/f41a08fd-2b72-4e9e-a8ae-9eca0b6317bb?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '823' + - '801' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:43:49 GMT + - Fri, 01 Apr 2022 03:22:20 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/76400be5-23f1-4c88-a4bf-e58e77cbbdef/Spring/default?api-version=2022-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationResults/f41a08fd-2b72-4e9e-a8ae-9eca0b6317bb/Spring/default?api-version=2022-03-01-preview pragma: - no-cache request-context: @@ -316,7 +313,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1199' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 201 message: Created @@ -339,27 +336,27 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:13.4454262Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:43:50.508239Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:21:44.4564168Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:22:21.2377054Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/299039d1-b9bc-4fba-9740-2eb7d9933693?api-version=2022-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/test-app-blue-green/operationId/82ce5ad6-559e-4af2-98d3-1eaee188d560?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '871' + - '829' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:43:50 GMT + - Fri, 01 Apr 2022 03:22:20 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/299039d1-b9bc-4fba-9740-2eb7d9933693/Spring/test-app-blue-green?api-version=2022-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationResults/82ce5ad6-559e-4af2-98d3-1eaee188d560/Spring/test-app-blue-green?api-version=2022-03-01-preview pragma: - no-cache request-context: @@ -373,7 +370,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1198' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 202 message: Accepted @@ -391,21 +388,21 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/76400be5-23f1-4c88-a4bf-e58e77cbbdef?api-version=2022-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/default/operationId/f41a08fd-2b72-4e9e-a8ae-9eca0b6317bb?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/default/operationId/76400be5-23f1-4c88-a4bf-e58e77cbbdef","name":"76400be5-23f1-4c88-a4bf-e58e77cbbdef","status":"Succeeded","startTime":"2022-03-20T06:43:50.1614233Z","endTime":"2022-03-20T06:44:19.231689Z"}' + string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/default/operationId/f41a08fd-2b72-4e9e-a8ae-9eca0b6317bb","name":"f41a08fd-2b72-4e9e-a8ae-9eca0b6317bb","status":"Running","startTime":"2022-04-01T03:22:20.9275915Z"}' headers: cache-control: - no-cache content-length: - - '368' + - '309' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:44:20 GMT + - Fri, 01 Apr 2022 03:22:51 GMT expires: - '-1' pragma: @@ -423,7 +420,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -441,21 +438,71 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/test-app-blue-green/operationId/82ce5ad6-559e-4af2-98d3-1eaee188d560?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-default-19-75574b54f8-tph4h","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:43:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:49.2113526Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:43:49.2113526Z"}}' + string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/test-app-blue-green/operationId/82ce5ad6-559e-4af2-98d3-1eaee188d560","name":"82ce5ad6-559e-4af2-98d3-1eaee188d560","status":"Succeeded","startTime":"2022-04-01T03:22:21.629331Z","endTime":"2022-04-01T03:22:28.3560551Z"}' headers: cache-control: - no-cache content-length: - - '957' + - '363' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:44:20 GMT + - Fri, 01 Apr 2022 03:22:52 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-03-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:21:44.4564168Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:22:21.2377054Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '830' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 01 Apr 2022 03:22:52 GMT expires: - '-1' pragma: @@ -473,9 +520,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11997' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -493,21 +540,21 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/299039d1-b9bc-4fba-9740-2eb7d9933693?api-version=2022-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/default/operationId/f41a08fd-2b72-4e9e-a8ae-9eca0b6317bb?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/299039d1-b9bc-4fba-9740-2eb7d9933693","name":"299039d1-b9bc-4fba-9740-2eb7d9933693","status":"Succeeded","startTime":"2022-03-20T06:43:50.8665525Z","endTime":"2022-03-20T06:43:57.0247112Z"}' + string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/default/operationId/f41a08fd-2b72-4e9e-a8ae-9eca0b6317bb","name":"f41a08fd-2b72-4e9e-a8ae-9eca0b6317bb","status":"Succeeded","startTime":"2022-04-01T03:22:20.9275915Z","endTime":"2022-04-01T03:22:56.8791242Z"}' headers: cache-control: - no-cache content-length: - - '381' + - '352' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:44:25 GMT + - Fri, 01 Apr 2022 03:23:01 GMT expires: - '-1' pragma: @@ -525,7 +572,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -543,21 +590,21 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:13.4454262Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:43:50.508239Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-default-19-76cf66d844-x8fk2","status":"Running","discoveryStatus":"UP","startTime":"2022-04-01T03:22:22Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:22:20.1595781Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:22:20.1595781Z"}}' headers: cache-control: - no-cache content-length: - - '872' + - '935' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:44:25 GMT + - Fri, 01 Apr 2022 03:23:02 GMT expires: - '-1' pragma: @@ -575,9 +622,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11996' + - '11999' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -595,21 +642,21 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:13.4454262Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:43:50.508239Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:21:44.4564168Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:22:21.2377054Z"}}' headers: cache-control: - no-cache content-length: - - '872' + - '830' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:44:30 GMT + - Fri, 01 Apr 2022 03:23:07 GMT expires: - '-1' pragma: @@ -627,9 +674,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11995' + - '11996' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -647,21 +694,21 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments?api-version=2022-03-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-default-19-75574b54f8-tph4h","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:43:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:49.2113526Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:43:49.2113526Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-default-19-76cf66d844-x8fk2","status":"Running","discoveryStatus":"UP","startTime":"2022-04-01T03:22:22Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:22:20.1595781Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:22:20.1595781Z"}}]}' headers: cache-control: - no-cache content-length: - - '969' + - '947' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:44:43 GMT + - Fri, 01 Apr 2022 03:23:08 GMT expires: - '-1' pragma: @@ -681,7 +728,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11998' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -699,21 +746,21 @@ interactions: ParameterSetName: - --app -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments?api-version=2022-03-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-default-19-75574b54f8-tph4h","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:43:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:49.2113526Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:43:49.2113526Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-default-19-76cf66d844-x8fk2","status":"Running","discoveryStatus":"UP","startTime":"2022-04-01T03:22:22Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:22:20.1595781Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:22:20.1595781Z"}}]}' headers: cache-control: - no-cache content-length: - - '969' + - '947' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:44:44 GMT + - Fri, 01 Apr 2022 03:23:11 GMT expires: - '-1' pragma: @@ -731,9 +778,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11999' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -758,27 +805,27 @@ interactions: ParameterSetName: - --app -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":false,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:44:45.6544542Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:44:45.6544542Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":false,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:23:12.2162639Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:23:12.2162639Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/green/operationId/bb7a9b9d-7e7a-478a-baf0-fea99f846880?api-version=2022-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/green/operationId/f9e57d8c-13fc-47e9-a574-89a18e1d1bb7?api-version=2022-03-01-preview cache-control: - no-cache content-length: - - '820' + - '798' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:44:45 GMT + - Fri, 01 Apr 2022 03:23:12 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/bb7a9b9d-7e7a-478a-baf0-fea99f846880/Spring/green?api-version=2022-03-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationResults/f9e57d8c-13fc-47e9-a574-89a18e1d1bb7/Spring/green?api-version=2022-03-01-preview pragma: - no-cache request-context: @@ -792,7 +839,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1199' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 201 message: Created @@ -810,21 +857,71 @@ interactions: ParameterSetName: - --app -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/green/operationId/f9e57d8c-13fc-47e9-a574-89a18e1d1bb7?api-version=2022-03-01-preview + response: + body: + string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/green/operationId/f9e57d8c-13fc-47e9-a574-89a18e1d1bb7","name":"f9e57d8c-13fc-47e9-a574-89a18e1d1bb7","status":"Running","startTime":"2022-04-01T03:23:13.121062Z"}' + headers: + cache-control: + - no-cache + content-length: + - '306' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 01 Apr 2022 03:23:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - --app -n -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/green/operationId/bb7a9b9d-7e7a-478a-baf0-fea99f846880?api-version=2022-03-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/green/operationId/f9e57d8c-13fc-47e9-a574-89a18e1d1bb7?api-version=2022-03-01-preview response: body: - string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/green/operationId/bb7a9b9d-7e7a-478a-baf0-fea99f846880","name":"bb7a9b9d-7e7a-478a-baf0-fea99f846880","status":"Succeeded","startTime":"2022-03-20T06:44:46.6108291Z","endTime":"2022-03-20T06:45:10.79351Z"}' + string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/green/operationId/f9e57d8c-13fc-47e9-a574-89a18e1d1bb7","name":"f9e57d8c-13fc-47e9-a574-89a18e1d1bb7","status":"Succeeded","startTime":"2022-04-01T03:23:13.121062Z","endTime":"2022-04-01T03:23:52.1264842Z"}' headers: cache-control: - no-cache content-length: - - '365' + - '349' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:45:16 GMT + - Fri, 01 Apr 2022 03:23:53 GMT expires: - '-1' pragma: @@ -842,7 +939,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -860,21 +957,21 @@ interactions: ParameterSetName: - --app -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-03-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-green-19-5bdb96444f-qqn2p","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:44:47Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:44:45.6544542Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:44:45.6544542Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-green-19-88c9fd88d-65m75","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-04-01T03:23:18Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:23:12.2162639Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:23:12.2162639Z"}}' headers: cache-control: - no-cache content-length: - - '964' + - '941' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:45:17 GMT + - Fri, 01 Apr 2022 03:23:54 GMT expires: - '-1' pragma: @@ -892,9 +989,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' + - '11998' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -912,21 +1009,21 @@ interactions: ParameterSetName: - --app -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments?api-version=2022-01-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-default-19-75574b54f8-tph4h","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:43:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:49.2113526Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:43:49.2113526Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-green-19-5bdb96444f-qqn2p","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:44:47Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:44:45.6544542Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:44:45.6544542Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-default-19-76cf66d844-x8fk2","status":"Running","discoveryStatus":"UP","startTime":"2022-04-01T03:22:22Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:22:20.1595781Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:22:20.1595781Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-green-19-88c9fd88d-65m75","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-04-01T03:23:18Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:23:12.2162639Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:23:12.2162639Z"}}]}' headers: cache-control: - no-cache content-length: - - '1934' + - '1889' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:45:18 GMT + - Fri, 01 Apr 2022 03:23:57 GMT expires: - '-1' pragma: @@ -944,9 +1041,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11999' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -964,21 +1061,21 @@ interactions: ParameterSetName: - -d -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-green-19-5bdb96444f-qqn2p","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:44:47Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:44:45.6544542Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:44:45.6544542Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-green-19-88c9fd88d-65m75","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-04-01T03:23:18Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:23:12.2162639Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:23:12.2162639Z"}}' headers: cache-control: - no-cache content-length: - - '964' + - '941' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:45:19 GMT + - Fri, 01 Apr 2022 03:23:59 GMT expires: - '-1' pragma: @@ -996,14 +1093,66 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' + - '11999' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK - request: - body: '{"activeDeploymentNames": ["green"]}' + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app set-deployment + Connection: + - keep-alive + ParameterSetName: + - -d -n -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":2,"serviceId":"1c2024b049bf488eadfcd66408a7c934","networkProfile":{"outboundIPs":{"publicIPs":["52.184.248.81","52.184.251.97"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus2","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-03-31T04:06:28.5034016Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-31T04:16:18.65197Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '766' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 01 Apr 2022 03:24:01 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"activeDeploymentName": "green", "httpsOnly": false}}' headers: Accept: - application/json @@ -1014,33 +1163,33 @@ interactions: Connection: - keep-alive Content-Length: - - '36' + - '69' Content-Type: - application/json ParameterSetName: - -d -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/setActiveDeployments?api-version=2022-01-01-preview + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2020-07-01 response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:13.4454262Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:45:21.1801255Z"}}' + string: '{"properties":{"public":false,"provisioningState":"Updating","activeDeploymentName":"green","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"createdTime":"2022-04-01T03:21:51.473Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"}},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/ab428bdf-b750-4ae9-a37e-38e3fe571c01?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/test-app-blue-green/operationId/b26759e0-8bc9-4afc-bb14-67d4cc1fb94a?api-version=2020-07-01 cache-control: - no-cache content-length: - - '872' + - '568' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:45:21 GMT + - Fri, 01 Apr 2022 03:24:03 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/ab428bdf-b750-4ae9-a37e-38e3fe571c01/Spring/test-app-blue-green?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationResults/b26759e0-8bc9-4afc-bb14-67d4cc1fb94a/Spring/test-app-blue-green?api-version=2020-07-01 pragma: - no-cache request-context: @@ -1051,10 +1200,10 @@ interactions: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1198' + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 202 message: Accepted @@ -1072,21 +1221,21 @@ interactions: ParameterSetName: - -d -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/ab428bdf-b750-4ae9-a37e-38e3fe571c01?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/test-app-blue-green/operationId/b26759e0-8bc9-4afc-bb14-67d4cc1fb94a?api-version=2020-07-01 response: body: - string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/ab428bdf-b750-4ae9-a37e-38e3fe571c01","name":"ab428bdf-b750-4ae9-a37e-38e3fe571c01","status":"Succeeded","startTime":"2022-03-20T06:45:21.6191496Z","endTime":"2022-03-20T06:45:28.1910099Z"}' + string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/test-app-blue-green/operationId/b26759e0-8bc9-4afc-bb14-67d4cc1fb94a","name":"b26759e0-8bc9-4afc-bb14-67d4cc1fb94a","status":"Succeeded","startTime":"2022-04-01T03:24:03.9346991Z","endTime":"2022-04-01T03:24:10.4669942Z"}' headers: cache-control: - no-cache content-length: - - '381' + - '364' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:45:51 GMT + - Fri, 01 Apr 2022 03:24:36 GMT expires: - '-1' pragma: @@ -1104,7 +1253,59 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app set-deployment + Connection: + - keep-alive + ParameterSetName: + - -d -n -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2020-07-01 + response: + body: + string: '{"properties":{"public":false,"provisioningState":"Succeeded","activeDeploymentName":"green","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"createdTime":"2022-04-01T03:21:51.473Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"}},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green"}' + headers: + cache-control: + - no-cache + content-length: + - '569' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 01 Apr 2022 03:24:36 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -1122,21 +1323,21 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-03-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:13.4454262Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:45:21.1801255Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:21:44.4564168Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:24:02.8097207Z"}}' headers: cache-control: - no-cache content-length: - - '873' + - '830' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:45:53 GMT + - Fri, 01 Apr 2022 03:24:39 GMT expires: - '-1' pragma: @@ -1156,7 +1357,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -1174,21 +1375,21 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments?api-version=2022-03-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-default-19-75574b54f8-tph4h","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:43:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:49.2113526Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:45:21.1801255Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-green-19-5bdb96444f-qqn2p","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:44:47Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:44:45.6544542Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:45:21.1801255Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-default-19-76cf66d844-x8fk2","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-04-01T03:22:22Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:22:20.1595781Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:24:02.8097207Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-green-19-88c9fd88d-65m75","status":"Running","discoveryStatus":"UP","startTime":"2022-04-01T03:23:18Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:23:12.2162639Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:24:02.8097207Z"}}]}' headers: cache-control: - no-cache content-length: - - '1934' + - '1889' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:45:53 GMT + - Fri, 01 Apr 2022 03:24:40 GMT expires: - '-1' pragma: @@ -1206,9 +1407,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11999' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -1226,21 +1427,21 @@ interactions: ParameterSetName: - -n --app -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-default-19-75574b54f8-tph4h","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:43:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:49.2113526Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:45:21.1801255Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-default-19-76cf66d844-x8fk2","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-04-01T03:22:22Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:22:20.1595781Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:24:02.8097207Z"}}' headers: cache-control: - no-cache content-length: - - '970' + - '948' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:45:55 GMT + - Fri, 01 Apr 2022 03:24:43 GMT expires: - '-1' pragma: @@ -1258,9 +1459,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11994' + - '11999' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -1278,21 +1479,21 @@ interactions: ParameterSetName: - -n --app -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-green-19-5bdb96444f-qqn2p","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:44:47Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:44:45.6544542Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:45:21.1801255Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-green-19-88c9fd88d-65m75","status":"Running","discoveryStatus":"UP","startTime":"2022-04-01T03:23:18Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:23:12.2162639Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:24:02.8097207Z"}}' headers: cache-control: - no-cache content-length: - - '951' + - '928' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:45:57 GMT + - Fri, 01 Apr 2022 03:24:45 GMT expires: - '-1' pragma: @@ -1312,7 +1513,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11998' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -1330,21 +1531,21 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments?api-version=2022-01-01-preview response: body: - string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-default-19-75574b54f8-tph4h","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:43:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:49.2113526Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:45:21.1801255Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-green-19-5bdb96444f-qqn2p","status":"Running","discoveryStatus":"UP","startTime":"2022-03-20T06:44:47Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:44:45.6544542Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:45:21.1801255Z"}}]}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-default-19-76cf66d844-x8fk2","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-04-01T03:22:22Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:22:20.1595781Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:24:02.8097207Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-green-19-88c9fd88d-65m75","status":"Running","discoveryStatus":"UP","startTime":"2022-04-01T03:23:18Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:23:12.2162639Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:24:02.8097207Z"}}]}' headers: cache-control: - no-cache content-length: - - '1934' + - '1889' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:45:58 GMT + - Fri, 01 Apr 2022 03:24:47 GMT expires: - '-1' pragma: @@ -1364,12 +1565,64 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK - request: - body: '{"activeDeploymentNames": []}' + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app unset-deployment + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":2,"serviceId":"1c2024b049bf488eadfcd66408a7c934","networkProfile":{"outboundIPs":{"publicIPs":["52.184.248.81","52.184.251.97"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus2","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-03-31T04:06:28.5034016Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-31T04:16:18.65197Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '766' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 01 Apr 2022 03:24:49 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"activeDeploymentName": "", "httpsOnly": false}}' headers: Accept: - application/json @@ -1380,33 +1633,33 @@ interactions: Connection: - keep-alive Content-Length: - - '29' + - '64' Content-Type: - application/json ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/setActiveDeployments?api-version=2022-01-01-preview + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2020-07-01 response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:13.4454262Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:46:00.0258237Z"}}' + string: '{"properties":{"public":false,"provisioningState":"Updating","activeDeploymentName":"","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"createdTime":"2022-04-01T03:21:51.473Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"}},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/7bc1c665-5166-4877-95f7-e7c936155178?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/test-app-blue-green/operationId/1458976d-cbb0-43b8-8ea1-737c31598072?api-version=2020-07-01 cache-control: - no-cache content-length: - - '872' + - '563' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:45:59 GMT + - Fri, 01 Apr 2022 03:24:52 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/7bc1c665-5166-4877-95f7-e7c936155178/Spring/test-app-blue-green?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationResults/1458976d-cbb0-43b8-8ea1-737c31598072/Spring/test-app-blue-green?api-version=2020-07-01 pragma: - no-cache request-context: @@ -1417,10 +1670,10 @@ interactions: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: + x-ms-ratelimit-remaining-subscription-resource-requests: - '1199' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 202 message: Accepted @@ -1438,21 +1691,71 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/test-app-blue-green/operationId/1458976d-cbb0-43b8-8ea1-737c31598072?api-version=2020-07-01 + response: + body: + string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/test-app-blue-green/operationId/1458976d-cbb0-43b8-8ea1-737c31598072","name":"1458976d-cbb0-43b8-8ea1-737c31598072","status":"Succeeded","startTime":"2022-04-01T03:24:52.1239918Z","endTime":"2022-04-01T03:24:59.5951309Z"}' + headers: + cache-control: + - no-cache + content-length: + - '364' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 01 Apr 2022 03:25:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app unset-deployment + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/7bc1c665-5166-4877-95f7-e7c936155178?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2020-07-01 response: body: - string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/7bc1c665-5166-4877-95f7-e7c936155178","name":"7bc1c665-5166-4877-95f7-e7c936155178","status":"Succeeded","startTime":"2022-03-20T06:46:00.6041838Z","endTime":"2022-03-20T06:46:08.1293192Z"}' + string: '{"properties":{"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"createdTime":"2022-04-01T03:21:51.473Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"}},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green"}' headers: cache-control: - no-cache content-length: - - '381' + - '538' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:46:30 GMT + - Fri, 01 Apr 2022 03:25:23 GMT expires: - '-1' pragma: @@ -1469,8 +1772,10 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -1488,21 +1793,21 @@ interactions: ParameterSetName: - -n --app -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-default-19-75574b54f8-tph4h","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:43:54Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:49.2113526Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:45:21.1801255Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-default-19-76cf66d844-x8fk2","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-04-01T03:22:22Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:22:20.1595781Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:24:02.8097207Z"}}' headers: cache-control: - no-cache content-length: - - '970' + - '948' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:46:32 GMT + - Fri, 01 Apr 2022 03:25:24 GMT expires: - '-1' pragma: @@ -1522,7 +1827,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -1540,21 +1845,21 @@ interactions: ParameterSetName: - -n --app -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-green-19-5bdb96444f-qqn2p","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-03-20T06:44:47Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:44:45.6544542Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:46:00.0258237Z"}}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-green-19-88c9fd88d-65m75","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-04-01T03:23:18Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:23:12.2162639Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:24:50.9312682Z"}}' headers: cache-control: - no-cache content-length: - - '964' + - '941' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:46:33 GMT + - Fri, 01 Apr 2022 03:25:28 GMT expires: - '-1' pragma: @@ -1572,9 +1877,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' + - '11999' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -1592,21 +1897,21 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-01-01-preview response: body: - string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"jiec@microsoft.com","createdByType":"User","createdAt":"2022-03-20T06:43:13.4454262Z","lastModifiedBy":"jiec@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-20T06:46:00.0258237Z"}}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2022-04-01T03:21:44.4564168Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-04-01T03:24:50.9312682Z"}}' headers: cache-control: - no-cache content-length: - - '873' + - '830' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:46:35 GMT + - Fri, 01 Apr 2022 03:25:29 GMT expires: - '-1' pragma: @@ -1626,7 +1931,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK @@ -1646,7 +1951,7 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-01-01-preview response: @@ -1654,17 +1959,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/97c529f8-66af-4373-abc6-f41eb22d4f80?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/test-app-blue-green/operationId/82bbe399-ccc8-4244-b45c-c03a31f02699?api-version=2022-01-01-preview cache-control: - no-cache content-length: - '0' date: - - Sun, 20 Mar 2022 06:46:35 GMT + - Fri, 01 Apr 2022 03:25:30 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationResults/97c529f8-66af-4373-abc6-f41eb22d4f80/Spring/test-app-blue-green?api-version=2022-01-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationResults/82bbe399-ccc8-4244-b45c-c03a31f02699/Spring/test-app-blue-green?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -1678,7 +1983,7 @@ interactions: x-ms-ratelimit-remaining-subscription-deletes: - '14999' x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 202 message: Accepted @@ -1696,21 +2001,21 @@ interactions: ParameterSetName: - -n -g -s User-Agent: - - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.22000-SP0) + - AZURECLI/2.34.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/97c529f8-66af-4373-abc6-f41eb22d4f80?api-version=2022-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/test-app-blue-green/operationId/82bbe399-ccc8-4244-b45c-c03a31f02699?api-version=2022-01-01-preview response: body: - string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/southeastasia/operationStatus/test-app-blue-green/operationId/97c529f8-66af-4373-abc6-f41eb22d4f80","name":"97c529f8-66af-4373-abc6-f41eb22d4f80","status":"Succeeded","startTime":"2022-03-20T06:46:36.5787819Z","endTime":"2022-03-20T06:46:45.8207191Z"}' + string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2/operationStatus/test-app-blue-green/operationId/82bbe399-ccc8-4244-b45c-c03a31f02699","name":"82bbe399-ccc8-4244-b45c-c03a31f02699","status":"Succeeded","startTime":"2022-04-01T03:25:31.10281Z","endTime":"2022-04-01T03:25:39.8293617Z"}' headers: cache-control: - no-cache content-length: - - '381' + - '362' content-type: - application/json; charset=utf-8 date: - - Sun, 20 Mar 2022 06:47:06 GMT + - Fri, 01 Apr 2022 03:26:01 GMT expires: - '-1' pragma: @@ -1728,7 +2033,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - bbaae9d6-85b5-4e2b-afd6-9d79cbd321cc + - c2822230-ebfa-4dc3-a1f8-e0c2ce642143 status: code: 200 message: OK diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app.py b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app.py index 8a865999990..56e7f98b260 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app.py +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app.py @@ -9,6 +9,7 @@ from ...vendored_sdks.appplatform.v2022_01_01_preview import models from ..._utils import _get_sku_name from ...app import (app_create, app_update, app_deploy, deployment_create) +from ...custom import (app_set_deployment, app_unset_deployment) try: import unittest.mock as mock except ImportError: @@ -62,6 +63,50 @@ def _get_deployment(self, sku='Standard'): return deployment +class TestSetActiveDeploy(BasicTest): + def test_blue_green_enterprise(self): + client = self._get_basic_mock_client(sku='Enterprise') + app_set_deployment(_get_test_cmd(), client, 'rg', 'asc', 'app', 'default') + call_args = client.apps.begin_set_active_deployments.call_args_list + self.assertEqual(1, len(call_args)) + self.assertEqual(4, len(call_args[0][0])) + request = call_args[0][0][3] + self.assertEqual('default', request.active_deployment_names[0]) + + def test_unset_active_enterprise(self): + client = self._get_basic_mock_client(sku='Enterprise') + app_unset_deployment(_get_test_cmd(), client, 'rg', 'asc', 'app') + call_args = client.apps.begin_set_active_deployments.call_args_list + self.assertEqual(1, len(call_args)) + self.assertEqual(4, len(call_args[0][0])) + request = call_args[0][0][3] + self.assertEqual(0, len(request.active_deployment_names)) + + @mock.patch('azext_spring_cloud.custom.cf_spring_cloud', autospec=True) + def test_blue_green_standard(self, client_mock_factory): + client_mock = self._get_basic_mock_client(sku='Standard') + client_mock_factory.return_value = client_mock + client = self._get_basic_mock_client(sku='Standard') + app_set_deployment(_get_test_cmd(), client, 'rg', 'asc', 'app', 'default') + call_args = client_mock.apps.begin_update.call_args_list + self.assertEqual(1, len(call_args)) + self.assertEqual(4, len(call_args[0][0])) + request = call_args[0][0][3] + self.assertEqual('default', request.properties.active_deployment_name) + + @mock.patch('azext_spring_cloud.custom.cf_spring_cloud', autospec=True) + def test_unset_active_standard(self, client_mock_factory): + client_mock = self._get_basic_mock_client(sku='Standard') + client_mock_factory.return_value = client_mock + client = self._get_basic_mock_client(sku='Standard') + app_unset_deployment(_get_test_cmd(), client, 'rg', 'asc', 'app') + call_args = client_mock.apps.begin_update.call_args_list + self.assertEqual(1, len(call_args)) + self.assertEqual(4, len(call_args[0][0])) + request = call_args[0][0][3] + self.assertEqual('', request.properties.active_deployment_name) + + class TestAppDeploy_Patch(BasicTest): def __init__(self, methodName: str = ...): super().__init__(methodName=methodName) diff --git a/src/spring-cloud/setup.py b/src/spring-cloud/setup.py index 92f2acf8702..6029bbd3dbe 100644 --- a/src/spring-cloud/setup.py +++ b/src/spring-cloud/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '3.1.2' +VERSION = '3.1.3' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From 25b9ae8d76bd6bbec26537b9dc72985da51bbc30 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Thu, 7 Apr 2022 11:32:12 +0800 Subject: [PATCH 48/70] [Release] Update index.json for extension [ aks-preview ] (#4639) --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 9fd1b130f66..77765b7e8f9 100644 --- a/src/index.json +++ b/src/index.json @@ -4808,6 +4808,49 @@ "version": "0.5.58" }, "sha256Digest": "9ad0566d2719940ac927723e65fd79586eae3ce86190b52cfcda3286c98ee30d" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-0.5.59-py2.py3-none-any.whl", + "filename": "aks_preview-0.5.59-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.32.0", + "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/tree/main/src/aks-preview" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.5.59" + }, + "sha256Digest": "24253eef69ebb4622873771959e33b25d9612f3303cc924c84f8d6e175420f69" } ], "alertsmanagement": [ From 4da0707707686d294642975d220eeee5e8808542 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Thu, 7 Apr 2022 14:05:53 +0800 Subject: [PATCH 49/70] [Release] Update index.json for extension [ spring-cloud ] (#4642) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=1488078 Last commit: https://github.com/Azure/azure-cli-extensions/commit/f0f1978c36c3b479a2e3ca1a6eb811da673620da --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 77765b7e8f9..9e4cd3cf9fb 100644 --- a/src/index.json +++ b/src/index.json @@ -27891,6 +27891,49 @@ "version": "3.1.2" }, "sha256Digest": "f30828da4055c5cb4e88e981a6f883c304fafea747ecac46e92f2b65a04e1dc8" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-3.1.3-py3-none-any.whl", + "filename": "spring_cloud-3.1.3-py3-none-any.whl", + "metadata": { + "azext.isPreview": false, + "azext.minCliCoreVersion": "2.30.0", + "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/tree/main/src/spring-cloud" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "spring-cloud", + "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", + "version": "3.1.3" + }, + "sha256Digest": "2826a70767439d7a3e2ff1446f13bf6a5075359f37d675181d8d97f75808fee8" } ], "ssh": [ From 4ee5a187aa82422f173ef343b62c26ad4d859709 Mon Sep 17 00:00:00 2001 From: siriteja <32883500+sirireddy12@users.noreply.github.com> Date: Thu, 7 Apr 2022 11:53:07 +0530 Subject: [PATCH 50/70] [connectedk8s] Update CSP to latest version (#4607) --- src/connectedk8s/HISTORY.rst | 5 +++++ src/connectedk8s/azext_connectedk8s/_constants.py | 6 +++--- src/connectedk8s/setup.py | 4 ++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/connectedk8s/HISTORY.rst b/src/connectedk8s/HISTORY.rst index 4b2bf5c8150..4dc7d81c863 100644 --- a/src/connectedk8s/HISTORY.rst +++ b/src/connectedk8s/HISTORY.rst @@ -2,6 +2,11 @@ Release History =============== +1.2.8 +++++++ + +* Bump up CSP version to 1.3.019103, bump up `pycryptodome` to 3.14.1 to support Python 3.10 + 1.2.7 ++++++ diff --git a/src/connectedk8s/azext_connectedk8s/_constants.py b/src/connectedk8s/azext_connectedk8s/_constants.py index 31494f4df6b..0aab43c5729 100644 --- a/src/connectedk8s/azext_connectedk8s/_constants.py +++ b/src/connectedk8s/azext_connectedk8s/_constants.py @@ -119,14 +119,14 @@ PoP_Public_Key_Expried_Fault_Type = 'The PoP public key used to generate the at has expired' Post_AT_To_ClientProxy_Failed_Fault_Type = 'Failed to post access token to client proxy' AZ_CLI_ADAL_TO_MSAL_MIGRATE_VERSION = '2.30.0' -CLIENT_PROXY_VERSION = '1.3.018802' +CLIENT_PROXY_VERSION = '1.3.019103' API_SERVER_PORT = 47011 CLIENT_PROXY_PORT = 47010 CLIENTPROXY_CLIENT_ID = '04b07795-8ddb-461a-bbee-02f9e1bf7b46' API_CALL_RETRIES = 12 DEFAULT_REQUEST_TIMEOUT = 10 # seconds -RELEASE_DATE_WINDOWS = 'release04-03-22' -RELEASE_DATE_LINUX = 'release04-03-22' +RELEASE_DATE_WINDOWS = 'release31-03-22' +RELEASE_DATE_LINUX = 'release31-03-22' CSP_REFRESH_TIME = 300 # URL constants CSP_Storage_Url = "https://k8sconnectcsp.azureedge.net" diff --git a/src/connectedk8s/setup.py b/src/connectedk8s/setup.py index dc2fd812088..c52b83cf7aa 100644 --- a/src/connectedk8s/setup.py +++ b/src/connectedk8s/setup.py @@ -17,7 +17,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '1.2.7' +VERSION = '1.2.8' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -36,7 +36,7 @@ # TODO: Add any additional SDK dependencies here DEPENDENCIES = [ 'kubernetes==11.0.0', - 'pycryptodome==3.9.8', + 'pycryptodome==3.14.1', ] with open('README.md', 'r', encoding='utf-8') as f: From e6c878eb6fe55ae03378a85332f3b57f0b2c46be Mon Sep 17 00:00:00 2001 From: Jiashuo Li <4003950+jiasli@users.noreply.github.com> Date: Thu, 7 Apr 2022 14:41:29 +0800 Subject: [PATCH 51/70] {CI} Update pipeline to use Python 3.10 (#4644) --- azure-pipelines.yml | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 4078af36951..12216a7891c 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -40,9 +40,9 @@ jobs: vmImage: 'ubuntu-20.04' steps: - task: UsePythonVersion@0 - displayName: 'Use Python 3.6' + displayName: 'Use Python 3.10' inputs: - versionSpec: 3.6 + versionSpec: 3.10 - bash: | set -ev @@ -85,9 +85,9 @@ jobs: vmImage: 'ubuntu-20.04' steps: - task: UsePythonVersion@0 - displayName: 'Use Python 3.7' + displayName: 'Use Python 3.10' inputs: - versionSpec: 3.7 + versionSpec: 3.10 - bash: | #!/usr/bin/env bash set -ev @@ -106,6 +106,10 @@ jobs: python.version: '3.6' Python38: python.version: '3.8' + Python39: + python.version: '3.9' + Python310: + python.version: '3.10' steps: - task: UsePythonVersion@0 displayName: 'Use Python $(python.version)' @@ -126,9 +130,9 @@ jobs: vmImage: 'ubuntu-20.04' steps: - task: UsePythonVersion@0 - displayName: 'Use Python 3.6' + displayName: 'Use Python 3.10' inputs: - versionSpec: 3.6 + versionSpec: 3.10 - bash: | set -ev @@ -162,9 +166,9 @@ jobs: vmImage: 'ubuntu-20.04' steps: - task: UsePythonVersion@0 - displayName: 'Use Python 3.7' + displayName: 'Use Python 3.10' inputs: - versionSpec: 3.7 + versionSpec: 3.10 - bash: pip install wheel==0.30.0 displayName: 'Install wheel==0.30.0' - task: Bash@3 From 420c82d9b8423872d65ce16f6819ba0bbdcd8d97 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Thu, 7 Apr 2022 14:44:28 +0800 Subject: [PATCH 52/70] [Release] Update index.json for extension [ connectedk8s ] (#4647) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=1488619 Last commit: https://github.com/Azure/azure-cli-extensions/commit/4ee5a187aa82422f173ef343b62c26ad4d859709 --- src/index.json | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/src/index.json b/src/index.json index 9e4cd3cf9fb..d93d2dbfa24 100644 --- a/src/index.json +++ b/src/index.json @@ -11859,6 +11859,58 @@ "version": "1.2.7" }, "sha256Digest": "3f13d1b95c89865a8bdc0d40323956d599305892a54085e1115866b429ab2fa1" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.2.8-py2.py3-none-any.whl", + "filename": "connectedk8s-1.2.8-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.16.0", + "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" + ], + "description_content_type": "text/markdown", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "k8connect@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/main/src/connectedk8s" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "connectedk8s", + "run_requires": [ + { + "requires": [ + "kubernetes (==11.0.0)", + "pycryptodome (==3.14.1)" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", + "version": "1.2.8" + }, + "sha256Digest": "df97793b98a0f8e2e70f8a7942c6d65b9e581c54cf3f7632d4c48f01b2426a09" } ], "connectedmachine": [ From f2b1fb80045192fd3a4ee6b81ea2b24f679bc399 Mon Sep 17 00:00:00 2001 From: FumingZhang <81607949+FumingZhang@users.noreply.github.com> Date: Thu, 7 Apr 2022 18:18:52 +0800 Subject: [PATCH 53/70] {AKS} Keep aad profile in PUT request of ManagedCluster (#4638) * keep aad profile in upgrade * add new version * fix addon commands * update history --- src/aks-preview/HISTORY.md | 12 ++++++++++++ .../azext_aks_preview/addonconfiguration.py | 3 +-- src/aks-preview/azext_aks_preview/custom.py | 9 +++------ src/aks-preview/setup.py | 2 +- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/aks-preview/HISTORY.md b/src/aks-preview/HISTORY.md index 644464b10f1..63e9033484e 100644 --- a/src/aks-preview/HISTORY.md +++ b/src/aks-preview/HISTORY.md @@ -3,6 +3,18 @@ Release History =============== +0.5.60 +++++++ + +* BugFix: Keep aad profile in PUT request of ManagedCluster. Modified commands are + * `az aks scale` + * `az aks upgrade` + * `az aks enable-addons` + * `az aks disable-addons` + * `az aks addon enable` + * `az aks addon disable` + * `az aks addon update` + 0.5.59 ++++++ diff --git a/src/aks-preview/azext_aks_preview/addonconfiguration.py b/src/aks-preview/azext_aks_preview/addonconfiguration.py index dbea72aa124..9b6807010aa 100644 --- a/src/aks-preview/azext_aks_preview/addonconfiguration.py +++ b/src/aks-preview/azext_aks_preview/addonconfiguration.py @@ -270,9 +270,8 @@ def update_addons(cmd, # pylint: disable=too-many-branches,too-many-statements instance.addon_profiles = addon_profiles - # null out the SP and AAD profile because otherwise validation complains + # null out the SP profile because otherwise validation complains instance.service_principal_profile = None - instance.aad_profile = None return instance diff --git a/src/aks-preview/azext_aks_preview/custom.py b/src/aks-preview/azext_aks_preview/custom.py index 18d8b32048c..463d4190b24 100644 --- a/src/aks-preview/azext_aks_preview/custom.py +++ b/src/aks-preview/azext_aks_preview/custom.py @@ -1191,9 +1191,8 @@ def aks_scale(cmd, # pylint: disable=unused-argument "Cannot scale cluster autoscaler enabled node pool.") agent_profile.count = int(node_count) # pylint: disable=no-member - # null out the SP and AAD profile because otherwise validation complains + # null out the SP profile because otherwise validation complains instance.service_principal_profile = None - instance.aad_profile = None return sdk_no_wait(no_wait, client.begin_create_or_update, resource_group_name, name, instance) raise CLIError('The nodepool "{}" was not found.'.format(nodepool_name)) @@ -1282,9 +1281,8 @@ def aks_upgrade(cmd, # pylint: disable=unused-argument, too-many-return-state agent_profile.orchestrator_version = kubernetes_version agent_profile.creation_data = None - # null out the SP and AAD profile because otherwise validation complains + # null out the SP profile because otherwise validation complains instance.service_principal_profile = None - instance.aad_profile = None headers = get_aks_custom_headers(aks_custom_headers) @@ -2292,9 +2290,8 @@ def _update_addons(cmd, # pylint: disable=too-many-branches,too-many-statements instance.addon_profiles = addon_profiles - # null out the SP and AAD profile because otherwise validation complains + # null out the SP profile because otherwise validation complains instance.service_principal_profile = None - instance.aad_profile = None return instance diff --git a/src/aks-preview/setup.py b/src/aks-preview/setup.py index 53f75060d75..20197ef2bfb 100644 --- a/src/aks-preview/setup.py +++ b/src/aks-preview/setup.py @@ -9,7 +9,7 @@ from setuptools import setup, find_packages -VERSION = "0.5.59" +VERSION = "0.5.60" CLASSIFIERS = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", From 1fa873f940e7bc4d325eed7e961f4924ec3cf320 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Thu, 7 Apr 2022 18:48:49 +0800 Subject: [PATCH 54/70] [Release] Update index.json for extension [ aks-preview ] (#4649) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=1489353 Last commit: https://github.com/Azure/azure-cli-extensions/commit/f2b1fb80045192fd3a4ee6b81ea2b24f679bc399 --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index d93d2dbfa24..d7419c7153c 100644 --- a/src/index.json +++ b/src/index.json @@ -4851,6 +4851,49 @@ "version": "0.5.59" }, "sha256Digest": "24253eef69ebb4622873771959e33b25d9612f3303cc924c84f8d6e175420f69" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-0.5.60-py2.py3-none-any.whl", + "filename": "aks_preview-0.5.60-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.32.0", + "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/tree/main/src/aks-preview" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.5.60" + }, + "sha256Digest": "c3d1861f4bfa276d714448198b71f482b26538162f0724bb5686343a084a0de6" } ], "alertsmanagement": [ From 5b2b3c692884c852601e63f611f16aee740cf4ab Mon Sep 17 00:00:00 2001 From: Haroon Feisal Date: Thu, 7 Apr 2022 14:47:53 -0400 Subject: [PATCH 55/70] Renamed silent to quiet. --- src/containerapp/azext_containerapp/_params.py | 2 +- src/containerapp/azext_containerapp/_utils.py | 8 ++++---- src/containerapp/azext_containerapp/custom.py | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/containerapp/azext_containerapp/_params.py b/src/containerapp/azext_containerapp/_params.py index d85f8c42cf6..ce35f2f2535 100644 --- a/src/containerapp/azext_containerapp/_params.py +++ b/src/containerapp/azext_containerapp/_params.py @@ -184,7 +184,7 @@ def load_arguments(self, _): c.argument('name', configured_default='name', id_part=None) c.argument('managed_env', configured_default='managed_env') c.argument('registry_server', configured_default='registry_server') - c.argument('disable_verbose', help="Disable verbose output from ACR build when using --source.") + c.argument('quiet', help="Disable logs output from ACR build when using --source.") c.argument('dockerfile', help="Name of the dockerfile.") c.argument('dryrun', help="Show summary of the operation instead of executing it.") diff --git a/src/containerapp/azext_containerapp/_utils.py b/src/containerapp/azext_containerapp/_utils.py index a04ebce9f4d..3d8ee9bf9eb 100644 --- a/src/containerapp/azext_containerapp/_utils.py +++ b/src/containerapp/azext_containerapp/_utils.py @@ -289,7 +289,7 @@ def _generate_log_analytics_if_not_provided(cmd, logs_customer_id, logs_key, loc logs_key = shared_keys.primary_shared_key - return logs_customer_id, logs_key, workspace_name + return logs_customer_id, logs_key def _get_existing_secrets(cmd, resource_group_name, name, containerapp_def): @@ -649,7 +649,7 @@ def _resource_client_factory(cli_ctx, **_): return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES) -def queue_acr_build(cmd, registry_rg, registry_name, img_name, src_dir, dockerfile="Dockerfile", disable_verbose=False): +def queue_acr_build(cmd, registry_rg, registry_name, img_name, src_dir, dockerfile="Dockerfile", quiet=False): import os import uuid import tempfile @@ -716,13 +716,13 @@ def queue_acr_build(cmd, registry_rg, registry_name, img_name, src_dir, dockerfi run_id = queued_build.run_id logger.warning("Queued a build with ID: %s", run_id) - not disable_verbose and logger.warning("Waiting for agent...") + not quiet and logger.warning("Waiting for agent...") from azure.cli.command_modules.acr._client_factory import (cf_acr_runs) from ._acr_run_polling import get_run_with_polling client_runs = cf_acr_runs(cmd.cli_ctx) - if disable_verbose: + if quiet: lro_poller = get_run_with_polling(cmd, client_runs, run_id, registry_name, registry_rg) acr = LongRunningOperation(cmd.cli_ctx)(lro_poller) logger.warning("Build {}.".format(acr.status.lower())) diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index f444f4a5e58..0012e79bf44 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -1956,7 +1956,7 @@ def containerapp_up(cmd, dryrun=False, logs_customer_id=None, logs_key=None, - disable_verbose=False): + quiet=False): import os, json src_dir = os.getcwd() _src_path_escaped = "{}".format(src_dir.replace(os.sep, os.sep + os.sep)) @@ -2084,7 +2084,7 @@ def containerapp_up(cmd, image_name += ":{}".format(str(now).replace(' ', '').replace('-','').replace('.','').replace(':','')) image = registry_server + '/' + image_name if not dryrun: - queue_acr_build(cmd, registry_rg, registry_name, image_name, source, dockerfile, disable_verbose) + queue_acr_build(cmd, registry_rg, registry_name, image_name, source, dockerfile, quiet) _set_webapp_up_default_args(cmd, resource_group_name, location, name, registry_server) dry_run_str = r""" { From bba0599ec20d6e9d25d755cef77cc60cd12b1ad9 Mon Sep 17 00:00:00 2001 From: Haroon Feisal Date: Thu, 7 Apr 2022 17:38:20 -0400 Subject: [PATCH 56/70] Fixed style issues. --- .../azext_containerapp/_acr_run_polling.py | 3 +- src/containerapp/azext_containerapp/_utils.py | 19 ++------ src/containerapp/azext_containerapp/custom.py | 45 ++++++++++--------- 3 files changed, 29 insertions(+), 38 deletions(-) diff --git a/src/containerapp/azext_containerapp/_acr_run_polling.py b/src/containerapp/azext_containerapp/_acr_run_polling.py index 1ea21228617..1a71a87c99a 100644 --- a/src/containerapp/azext_containerapp/_acr_run_polling.py +++ b/src/containerapp/azext_containerapp/_acr_run_polling.py @@ -2,14 +2,15 @@ # 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, consider-using-f-string import time -from azure.core.polling import PollingMethod, LROPoller from msrest import Deserializer from msrestazure.azure_exceptions import CloudError from azure.cli.core.profiles import ResourceType from azure.cli.command_modules.acr._constants import get_acr_task_models +from azure.core.polling import PollingMethod, LROPoller def get_run_with_polling(cmd, diff --git a/src/containerapp/azext_containerapp/_utils.py b/src/containerapp/azext_containerapp/_utils.py index 3d8ee9bf9eb..0bb5284bc0b 100644 --- a/src/containerapp/azext_containerapp/_utils.py +++ b/src/containerapp/azext_containerapp/_utils.py @@ -2,10 +2,10 @@ # 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, consider-using-f-string, no-else-return, duplicate-string-formatting-argument +# pylint: disable=line-too-long, consider-using-f-string, no-else-return, duplicate-string-formatting-argument, expression-not-assigned, too-many-locals from urllib.parse import urlparse -from azure.cli.core.azclierror import (ValidationError, RequiredArgumentMissingError, CLIInternalError) +from azure.cli.core.azclierror import (ValidationError, RequiredArgumentMissingError, CLIInternalError, ResourceNotFoundError) from azure.cli.core.commands.client_factory import get_subscription_id from knack.log import get_logger from msrestazure.tools import parse_resource_id @@ -572,7 +572,7 @@ def _infer_acr_credentials(cmd, registry_server, disable_warnings=False): registry_name = (parsed.netloc if parsed.scheme else parsed.path).split('.')[0] try: - registry_user, registry_pass = _get_acr_cred(cmd.cli_ctx, registry_name) + registry_user, registry_pass, registry_rg = _get_acr_cred(cmd.cli_ctx, registry_name) # pylint: disable=unused-variable return (registry_user, registry_pass) except Exception as ex: raise RequiredArgumentMissingError('Failed to retrieve credentials for container registry {}. Please provide the registry username and password'.format(registry_name)) from ex @@ -602,15 +602,12 @@ def _set_webapp_up_default_args(cmd, resource_group_name, location, name, regist logger.warning("Setting 'az containerapp up' default arguments for current directory. " "Manage defaults with 'az configure --scope local'") - cmd.cli_ctx.config.set_value('defaults', 'resource_group_name', resource_group_name) logger.warning("--resource-group/-g default: %s", resource_group_name) - cmd.cli_ctx.config.set_value('defaults', 'location', location) logger.warning("--location/-l default: %s", location) - cmd.cli_ctx.config.set_value('defaults', 'name', name) logger.warning("--name/-n default: %s", name) @@ -661,29 +658,24 @@ def queue_acr_build(cmd, registry_rg, registry_name, img_name, src_dir, dockerfi # client_registries = get_acr_service_client(cmd.cli_ctx).registries client_registries = cf_acr_registries_tasks(cmd.cli_ctx) - if not os.path.isdir(src_dir): raise ValidationError("Source directory should be a local directory path.") - docker_file_path = os.path.join(src_dir, dockerfile) if not os.path.isfile(docker_file_path): raise ValidationError("Unable to find '{}'.".format(docker_file_path)) - # NOTE: os.path.basename is unable to parse "\" in the file path original_docker_file_name = os.path.basename(docker_file_path.replace("\\", "/")) docker_file_in_tar = '{}_{}'.format(uuid.uuid4().hex, original_docker_file_name) tar_file_path = os.path.join(tempfile.gettempdir(), 'build_archive_{}.tar.gz'.format(uuid.uuid4().hex)) - source_location = upload_source_code(cmd, client_registries, registry_name, registry_rg, src_dir, tar_file_path, docker_file_path, docker_file_in_tar) # For local source, the docker file is added separately into tar as the new file name (docker_file_in_tar) # So we need to update the docker_file_path docker_file_path = docker_file_in_tar - from azure.cli.core.profiles import ResourceType OS, Architecture = cmd.get_models('OS', 'Architecture', resource_type=ResourceType.MGMT_CONTAINERREGISTRY, operation_group='runs') # Default platform values @@ -691,7 +683,6 @@ def queue_acr_build(cmd, registry_rg, registry_name, img_name, src_dir, dockerfi platform_arch = Architecture.amd64.value platform_variant = None - DockerBuildRequest, PlatformProperties = cmd.get_models('DockerBuildRequest', 'PlatformProperties', resource_type=ResourceType.MGMT_CONTAINERREGISTRY, operation_group='runs') docker_build_request = DockerBuildRequest( @@ -707,13 +698,11 @@ def queue_acr_build(cmd, registry_rg, registry_name, img_name, src_dir, dockerfi timeout=None, arguments=[]) - queued_build = LongRunningOperation(cmd.cli_ctx)(client_registries.begin_schedule_run( resource_group_name=registry_rg, registry_name=registry_name, run_request=docker_build_request)) - run_id = queued_build.run_id logger.warning("Queued a build with ID: %s", run_id) not quiet and logger.warning("Waiting for agent...") @@ -725,7 +714,7 @@ def queue_acr_build(cmd, registry_rg, registry_name, img_name, src_dir, dockerfi if quiet: lro_poller = get_run_with_polling(cmd, client_runs, run_id, registry_name, registry_rg) acr = LongRunningOperation(cmd.cli_ctx)(lro_poller) - logger.warning("Build {}.".format(acr.status.lower())) + logger.warning("Build {}.".format(acr.status.lower())) # pylint: disable=logging-format-interpolation if acr.status.lower() != "succeeded": raise CLIInternalError("ACR build {}.".format(acr.status.lower())) return acr diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index 0012e79bf44..d86982970a6 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -2,7 +2,7 @@ # 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, consider-using-f-string, logging-format-interpolation, inconsistent-return-statements, broad-except, bare-except, too-many-statements, too-many-locals, too-many-boolean-expressions, too-many-branches, too-many-nested-blocks, pointless-statement +# pylint: disable=line-too-long, consider-using-f-string, logging-format-interpolation, inconsistent-return-statements, broad-except, bare-except, too-many-statements, too-many-locals, too-many-boolean-expressions, too-many-branches, too-many-nested-blocks, pointless-statement, expression-not-assigned, unbalanced-tuple-unpacking from urllib.parse import urlparse # from azure.cli.command_modules.appservice.custom import (_get_acr_cred) @@ -47,8 +47,8 @@ _object_to_dict, _add_or_update_secrets, _remove_additional_attributes, _remove_readonly_attributes, _add_or_update_env_vars, _add_or_update_tags, update_nested_dictionary, _update_traffic_weights, _get_app_from_revision, raise_missing_token_suggestion, _infer_acr_credentials, _remove_registry_secret, _remove_secret, - _ensure_identity_resource_id, _remove_dapr_readonly_attributes, _registry_exists, _remove_env_vars, - _update_revision_env_secretrefs, get_randomized_name, _set_webapp_up_default_args, get_profile_username, create_resource_group, + _ensure_identity_resource_id, _remove_dapr_readonly_attributes, _registry_exists, _remove_env_vars, + _update_revision_env_secretrefs, get_randomized_name, _set_webapp_up_default_args, get_profile_username, create_resource_group, get_resource_group, queue_acr_build, _get_acr_cred, create_new_acr) logger = get_logger(__name__) @@ -1938,13 +1938,13 @@ def remove_dapr_component(cmd, resource_group_name, dapr_component_name, environ handle_raw_exception(e) -def containerapp_up(cmd, - name=None, - resource_group_name=None, +def containerapp_up(cmd, + name=None, + resource_group_name=None, managed_env=None, - location=None, - registry_server=None, - image=None, + location=None, + registry_server=None, + image=None, source=None, dockerfile="Dockerfile", # compose=None, @@ -1957,7 +1957,8 @@ def containerapp_up(cmd, logs_customer_id=None, logs_key=None, quiet=False): - import os, json + import os + import json src_dir = os.getcwd() _src_path_escaped = "{}".format(src_dir.replace(os.sep, os.sep + os.sep)) @@ -1968,15 +1969,15 @@ def containerapp_up(cmd, if image: name = image.split('/')[-1].split(':')[0].lower() if source: - temp = source[1:] if source[0] == '.' else source # replace first . if it exists - name = temp.split('/')[-1].lower() # replace first . if it exists + temp = source[1:] if source[0] == '.' else source # replace first . if it exists + name = temp.split('/')[-1].lower() # isolate folder name if len(name) == 0: - name = _src_path_escaped.split('\\')[-1] + name = _src_path_escaped.rsplit('\\', maxsplit=1)[-1] if source and image: image = image.replace(':', '') - if not location: + if not location: location = "eastus2" # check user's default location? find least populated server? custom_rg_name = None @@ -2022,10 +2023,10 @@ def containerapp_up(cmd, create_resource_group(cmd, rg_name, location) resource_group_name = rg_name if not managed_env: - env_name = "{}-env".format(name).replace("_","-") + env_name = "{}-env".format(name).replace("_", "-") if not dryrun: logger.warning("Creating new managed environment {}".format(env_name)) - managed_env = create_managed_environment(cmd, env_name, location = location, resource_group_name=resource_group_name, logs_key=logs_key, logs_customer_id=logs_customer_id, disable_warnings=True)["id"] + managed_env = create_managed_environment(cmd, env_name, location=location, resource_group_name=resource_group_name, logs_key=logs_key, logs_customer_id=logs_customer_id, disable_warnings=True)["id"] else: managed_env = env_name else: @@ -2034,13 +2035,13 @@ def containerapp_up(cmd, env_name = containerapp_def["properties"]["managedEnvironmentId"].split('/')[8] if logs_customer_id and logs_key: if not dryrun: - managed_env = create_managed_environment(cmd, env_name, location = location, resource_group_name=resource_group_name, logs_key=logs_key, logs_customer_id=logs_customer_id, disable_warnings=True)["id"] + managed_env = create_managed_environment(cmd, env_name, location=location, resource_group_name=resource_group_name, logs_key=logs_key, logs_customer_id=logs_customer_id, disable_warnings=True)["id"] if image is not None and "azurecr.io" in image and not dryrun: if registry_user is None or registry_pass is None: # If registry is Azure Container Registry, we can try inferring credentials logger.warning('No credential was provided to access Azure Container Registry. Trying to look up...') - registry_server=image.split('/')[0] + registry_server = image.split('/')[0] parsed = urlparse(image) registry_name = (parsed.netloc if parsed.scheme else parsed.path).split('.')[0] try: @@ -2057,7 +2058,7 @@ def containerapp_up(cmd, if registry_server: if "azurecr.io" not in registry_server: raise ValidationError("Cannot supply non-Azure registry when using --source.") - elif not dryrun and (registry_user is None or registry_pass is None): + if not dryrun and (registry_user is None or registry_pass is None): # If registry is Azure Container Registry, we can try inferring credentials logger.warning('No credential was provided to access Azure Container Registry. Trying to look up...') parsed = urlparse(registry_server) @@ -2070,7 +2071,7 @@ def containerapp_up(cmd, registry_rg = resource_group_name user = get_profile_username() registry_name = "{}acr".format(name) - registry_name = registry_name + str(hash((registry_rg, user, name))).replace("-","") + registry_name = registry_name + str(hash((registry_rg, user, name))).replace("-", "") if not dryrun: logger.warning("Creating new acr {}".format(registry_name)) registry_def = create_new_acr(cmd, registry_name, registry_rg, location) @@ -2081,7 +2082,7 @@ def containerapp_up(cmd, image_name = image if image is not None else name from datetime import datetime now = datetime.now() - image_name += ":{}".format(str(now).replace(' ', '').replace('-','').replace('.','').replace(':','')) + image_name += ":{}".format(str(now).replace(' ', '').replace('-', '').replace('.', '').replace(':', '')) image = registry_server + '/' + image_name if not dryrun: queue_acr_build(cmd, registry_rg, registry_name, image_name, source, dockerfile, quiet) @@ -2103,4 +2104,4 @@ def containerapp_up(cmd, else: create_containerapp(cmd=cmd, name=name, resource_group_name=resource_group_name, image=image, managed_env=managed_env, target_port=target_port, registry_server=registry_server, registry_pass=registry_pass, registry_user=registry_user, env_vars=env_vars, ingress=ingress, disable_warnings=True) - return json.loads(dry_run_str) + return json.loads(dry_run_str) From 1de51eea9678da84ac9b0ba3cc446094e7b2d07e Mon Sep 17 00:00:00 2001 From: Haroon Feisal <38823870+haroonf@users.noreply.github.com> Date: Thu, 7 Apr 2022 17:57:21 -0400 Subject: [PATCH 57/70] Marchp1s and add back Identity (#57) * Skeleton code * az containerapp env show * List kube/managed environments * Create kube environment, wait doesn't work yet * Update containerapp stubs (check if it is supported now) * Containerapp env delete, polling not working yet * Added polling for create and delete * Use Microsoft.App RP for show, list, delete command * Create containerapp env using Microsoft.App RP * Add optional containerapp env create arguments * Remove old kube environment code, naming fixes * Containerapp create almost done * Done containerapp create, except for --yaml. Need to test * Containerapp show, list * Fix helptext * Containerapp delete * Containerapp update. Needs secrets api to be implemented, and testing * Add scale command * Various validations, small fixes * listSecrets API for updates, autogen log analytics for env * Use space delimiter for secrets and env variables * Verify sub is registered to Microsoft.ContainerRegistration if creating vnet enabled env, remove logs-type parameter * Containerapp create --yaml * Fix updating registry to do create or update * Fix containerapp update command. Add image-name parameter to support multi container updates. Fix updating registries, containers and secrets * started update with --yaml. Need to do create or update for when an attribute is a list of items * use space delimiter for startup_command and args, instead of comma delimiter * Traffic weights * List and show revisions * az containerapp revision restart, activate, deactivate * Add ability for users to clear args/command in az containerapp update * Various fixes, traffic weights fixes * Verify subnet subscription is registered to Microsoft.ContainerServices * GitHub Actions Update (#17) * Added models. Finished transferring Calvin's previous work. * Updated wrong models. * Updated models in custom.py, added githubactionclient. * Updated envelope to be correct. * Small bug fixes. * Updated error handling. Fixed bugs. Initial working state. * Added better error handling. * Added error messages for tokens with inappropriate access rights. * Added back get_acr_cred. * Fixed problems from merge conflict. * Updated names of imports from ._models.py to fix pylance erros. * Removed random imports. Co-authored-by: Haroon Feisal * Remove --location since location must be same as managed env * Add options for flag names: --env-vars and --registry-srever * Empty string to clear env_vars * Default revisions_mode to single * Infer acr credentials if it is acr and credentials are not provided * fix help msg * if image is hosted on acr, and no registry server is supplied, infer the registry server * Added subgroups (Ingress, Registry, Secret) and updated revisions (#18) * Added ingress subgroup. * Added help for ingress. * Fixed ingress traffic help. * Added registry commands. * Updated registry remove util to clear secrets if none remaining. Added warning when updating existing registry. Added registry help. * Changed registry delete to remove. * Added error message if user tries to remove non assigned registry. * Changed registry add back to registry set. * Added secret subgroup commands. * Removed yaml support from secret set. * Changed secret add to secret set. Updated consistency between secret set and secret delete. Added secret help. Require at least one secret passed with --secrets for secret commands. * Changed param name for secret delete from --secrets to --secret-names. Updated help. * Changed registry remove to registry delete. * Fixed bug in registry delete. * Added revision mode set and revision copy. * Modified update_containerapp_yaml to support updating from non-current revision. Authored-by: Haroon Feisal * More p0 fixes (#20) * Remove --registry-login-server, only allow --registry-server * Rename --environment-variables to --env-vars * If no image is supplied, use default quickstart image * Update help text (#21) * Update help text * Update punctuation * master -> main * New 1.0.1 version * Added identity commands + --assign-identity flag to containerapp create (#8) * Added identity show and assign. * Finisheed identity remove. * Added helps, updated identity remove to work with identity names instead of requiring identity resource ids. * Moved helper function to utils. * Require --identities flag when removing identities. * Added message for assign identity with no specified identity. * Added --assign-identity flag to containerapp create. * Moved assign-identity flag to containerapp create. * Fixed small logic error on remove identities when passing duplicate identities. Added warnings for certain edge cases. * Updated param definition for identity assign --identity default. * Added identity examples in help. * Made sure secrets were not removed when assigning identities. Added tolerance for [system] passed with capital letters. * Fixed error from merge. Co-authored-by: Haroon Feisal * Dapr Commands (#23) * Added ingress subgroup. * Added help for ingress. * Fixed ingress traffic help. * Added registry commands. * Updated registry remove util to clear secrets if none remaining. Added warning when updating existing registry. Added registry help. * Changed registry delete to remove. * Added error message if user tries to remove non assigned registry. * Changed registry add back to registry set. * Added secret subgroup commands. * Removed yaml support from secret set. * Changed secret add to secret set. Updated consistency between secret set and secret delete. Added secret help. Require at least one secret passed with --secrets for secret commands. * Changed param name for secret delete from --secrets to --secret-names. Updated help. * Changed registry remove to registry delete. * Fixed bug in registry delete. * Added revision mode set and revision copy. * Added dapr enable and dapr disable. Need to test more. * Added list, show, set dapr component. Added dapr enable, disable. * Added delete dapr delete. * Added helps and param text. * Changed dapr delete to dapr remove to match with dapr set. * Commented out managed identity for whl file. * Uncommented. Co-authored-by: Haroon Feisal * Rename --image-name to --container-name * Remove allowInsecure since it was messing with the api parsing * Fix for env var being empty string * Rename to --dapr-instrumentation-key, only infer ACR credentials if --registry-server is provided * Remove az containerapp scale * Fix delete containerapp errors * Remove ingress, dapr flags from az containerapp update/revision copy * Fix revision list -o table * Help text fix * Bump extension to 0.1.2 * Update managed identities and Dapr help text (#25) * Update managed identities and Dapr help text * Update Dapr flags * Add secretref note * Env var options + various bug fixes (#26) * Moved dapr arguments to env as a subgroup. * Added env variable options. * Changed revision mode set to revision set-mode. * Added env var options to revision copy. * Fixed revision copy bug related to env secret refs. * Changed registry and secret delete to remove. Added registry param helps. Removed replica from table output and added trafficWeight. * Updating warning text. * Updated warning text once more. * Made name optional for revision copy if from-revision flag is passed. Co-authored-by: Haroon Feisal * Fixed style issues, various bug fixes (#27) * Moved dapr arguments to env as a subgroup. * Added env variable options. * Changed revision mode set to revision set-mode. * Added env var options to revision copy. * Fixed revision copy bug related to env secret refs. * Changed registry and secret delete to remove. Added registry param helps. Removed replica from table output and added trafficWeight. * Updating warning text. * Updated warning text once more. * Made name optional for revision copy if from-revision flag is passed. * Fixed whitespace style issues. * Styled clients and utils to pass pylint. * Finished client.py pylint fixes. * Fixed pylint issues. * Fixed flake8 commands and custom. * Fixed flake issues in src. * Added license header to _sdk_models. * Added confirmation for containerapp delete. Co-authored-by: Haroon Feisal * Update src/containerapp/azext_containerapp/tests/latest/test_containerapp_scenario.py Co-authored-by: Xing Zhou * Specific Error Types + Bugfixes (Help, remove app-subnet-resource-id, removed env-var alias, added help text for --name) (#28) * Moved dapr arguments to env as a subgroup. * Added env variable options. * Changed revision mode set to revision set-mode. * Added env var options to revision copy. * Fixed revision copy bug related to env secret refs. * Changed registry and secret delete to remove. Added registry param helps. Removed replica from table output and added trafficWeight. * Updating warning text. * Updated warning text once more. * Made name optional for revision copy if from-revision flag is passed. * Fixed whitespace style issues. * Styled clients and utils to pass pylint. * Finished client.py pylint fixes. * Fixed pylint issues. * Fixed flake8 commands and custom. * Fixed flake issues in src. * Added license header to _sdk_models. * Added confirmation for containerapp delete. * Update helps for identity, revision. Removed env-var alias for set-env-vars. Added name param help. * Removed app-subnet-resource-id. * Updated infrastructure subnet param help. * Check if containerapp resource exists before attempting to delete. * Added check before deleting managed env. * Changed error types to be more specific. * Removed check before deletion. Removed comments. Co-authored-by: Haroon Feisal * Reset to 0.1.0 version, remove unneeded options-list * Update min cli core version * Fixed style issues. (#30) Co-authored-by: Haroon Feisal * Fix linter issues * Use custom-show-command * Removed --ids from revision, secret, registry list. * Add linter exclusions * Fix polling on delete containerapp * Fix error handling * Add Container App Service * Fix flake linter * Fix help text * Mark extension as preview * Add python 3.9 and 3.10 as supported * Remove registries and secrets from az containerapp update, in favor of registry and secret subgroup * Fix YAML not working * Move import to inside deserialize function * Ingress enable --transport default. Secret list returns empty array. Secret update prints message saying user needs to restart their apps. Added show-values flag to secret list. Fixed yaml datetime field issues, replaced x00 values that also came up during testing. * Fixed dapr in create. * Revert "Ingress enable --transport default. Secret list returns empty array. Secret update prints message saying user needs to restart their apps. Added show-values flag to secret list. Fixed yaml datetime field issues, replaced x00 values that also came up during testing." This reverts commit 51bc543338f82584b6c74ff5296453b76e6749aa. * Revert "Fixed dapr in create." This reverts commit 37030adc542ab3e38264b29a01b284e29479f716. * Ingress enable --transport default. Secret list returns empty array. Secret update prints message saying user needs to restart their apps. Added show-values flag to secret list. Fixed yaml datetime field issues, replaced x00 values that also came up during testing. * Skeleton code * az containerapp env show * List kube/managed environments * Create kube environment, wait doesn't work yet * Update containerapp stubs (check if it is supported now) * Containerapp env delete, polling not working yet * Added polling for create and delete * Use Microsoft.App RP for show, list, delete command * Create containerapp env using Microsoft.App RP * Add optional containerapp env create arguments * Remove old kube environment code, naming fixes * Containerapp create almost done * Done containerapp create, except for --yaml. Need to test * Containerapp show, list * Fix helptext * Containerapp delete * Containerapp update. Needs secrets api to be implemented, and testing * Add scale command * Various validations, small fixes * listSecrets API for updates, autogen log analytics for env * Use space delimiter for secrets and env variables * Verify sub is registered to Microsoft.ContainerRegistration if creating vnet enabled env, remove logs-type parameter * Containerapp create --yaml * Fix updating registry to do create or update * Fix containerapp update command. Add image-name parameter to support multi container updates. Fix updating registries, containers and secrets * started update with --yaml. Need to do create or update for when an attribute is a list of items * use space delimiter for startup_command and args, instead of comma delimiter * Traffic weights * List and show revisions * az containerapp revision restart, activate, deactivate * Add ability for users to clear args/command in az containerapp update * Various fixes, traffic weights fixes * Verify subnet subscription is registered to Microsoft.ContainerServices * GitHub Actions Update (#17) * Added models. Finished transferring Calvin's previous work. * Updated wrong models. * Updated models in custom.py, added githubactionclient. * Updated envelope to be correct. * Small bug fixes. * Updated error handling. Fixed bugs. Initial working state. * Added better error handling. * Added error messages for tokens with inappropriate access rights. * Added back get_acr_cred. * Fixed problems from merge conflict. * Updated names of imports from ._models.py to fix pylance erros. * Removed random imports. Co-authored-by: Haroon Feisal * Remove --location since location must be same as managed env * Add options for flag names: --env-vars and --registry-srever * Empty string to clear env_vars * Default revisions_mode to single * Infer acr credentials if it is acr and credentials are not provided * fix help msg * if image is hosted on acr, and no registry server is supplied, infer the registry server * Added subgroups (Ingress, Registry, Secret) and updated revisions (#18) * Added ingress subgroup. * Added help for ingress. * Fixed ingress traffic help. * Added registry commands. * Updated registry remove util to clear secrets if none remaining. Added warning when updating existing registry. Added registry help. * Changed registry delete to remove. * Added error message if user tries to remove non assigned registry. * Changed registry add back to registry set. * Added secret subgroup commands. * Removed yaml support from secret set. * Changed secret add to secret set. Updated consistency between secret set and secret delete. Added secret help. Require at least one secret passed with --secrets for secret commands. * Changed param name for secret delete from --secrets to --secret-names. Updated help. * Changed registry remove to registry delete. * Fixed bug in registry delete. * Added revision mode set and revision copy. * Modified update_containerapp_yaml to support updating from non-current revision. Authored-by: Haroon Feisal * More p0 fixes (#20) * Remove --registry-login-server, only allow --registry-server * Rename --environment-variables to --env-vars * If no image is supplied, use default quickstart image * Update help text (#21) * Update help text * Update punctuation * master -> main * New 1.0.1 version * Added identity commands + --assign-identity flag to containerapp create (#8) * Added identity show and assign. * Finisheed identity remove. * Added helps, updated identity remove to work with identity names instead of requiring identity resource ids. * Moved helper function to utils. * Require --identities flag when removing identities. * Added message for assign identity with no specified identity. * Added --assign-identity flag to containerapp create. * Moved assign-identity flag to containerapp create. * Fixed small logic error on remove identities when passing duplicate identities. Added warnings for certain edge cases. * Updated param definition for identity assign --identity default. * Added identity examples in help. * Made sure secrets were not removed when assigning identities. Added tolerance for [system] passed with capital letters. * Fixed error from merge. Co-authored-by: Haroon Feisal * Dapr Commands (#23) * Added ingress subgroup. * Added help for ingress. * Fixed ingress traffic help. * Added registry commands. * Updated registry remove util to clear secrets if none remaining. Added warning when updating existing registry. Added registry help. * Changed registry delete to remove. * Added error message if user tries to remove non assigned registry. * Changed registry add back to registry set. * Added secret subgroup commands. * Removed yaml support from secret set. * Changed secret add to secret set. Updated consistency between secret set and secret delete. Added secret help. Require at least one secret passed with --secrets for secret commands. * Changed param name for secret delete from --secrets to --secret-names. Updated help. * Changed registry remove to registry delete. * Fixed bug in registry delete. * Added revision mode set and revision copy. * Added dapr enable and dapr disable. Need to test more. * Added list, show, set dapr component. Added dapr enable, disable. * Added delete dapr delete. * Added helps and param text. * Changed dapr delete to dapr remove to match with dapr set. * Commented out managed identity for whl file. * Uncommented. Co-authored-by: Haroon Feisal * Rename --image-name to --container-name * Remove allowInsecure since it was messing with the api parsing * Fix for env var being empty string * Rename to --dapr-instrumentation-key, only infer ACR credentials if --registry-server is provided * Remove az containerapp scale * Fix delete containerapp errors * Remove ingress, dapr flags from az containerapp update/revision copy * Fix revision list -o table * Help text fix * Bump extension to 0.1.2 * Update managed identities and Dapr help text (#25) * Update managed identities and Dapr help text * Update Dapr flags * Add secretref note * Env var options + various bug fixes (#26) * Moved dapr arguments to env as a subgroup. * Added env variable options. * Changed revision mode set to revision set-mode. * Added env var options to revision copy. * Fixed revision copy bug related to env secret refs. * Changed registry and secret delete to remove. Added registry param helps. Removed replica from table output and added trafficWeight. * Updating warning text. * Updated warning text once more. * Made name optional for revision copy if from-revision flag is passed. Co-authored-by: Haroon Feisal * Fixed style issues, various bug fixes (#27) * Moved dapr arguments to env as a subgroup. * Added env variable options. * Changed revision mode set to revision set-mode. * Added env var options to revision copy. * Fixed revision copy bug related to env secret refs. * Changed registry and secret delete to remove. Added registry param helps. Removed replica from table output and added trafficWeight. * Updating warning text. * Updated warning text once more. * Made name optional for revision copy if from-revision flag is passed. * Fixed whitespace style issues. * Styled clients and utils to pass pylint. * Finished client.py pylint fixes. * Fixed pylint issues. * Fixed flake8 commands and custom. * Fixed flake issues in src. * Added license header to _sdk_models. * Added confirmation for containerapp delete. Co-authored-by: Haroon Feisal * Update src/containerapp/azext_containerapp/tests/latest/test_containerapp_scenario.py Co-authored-by: Xing Zhou * Specific Error Types + Bugfixes (Help, remove app-subnet-resource-id, removed env-var alias, added help text for --name) (#28) * Moved dapr arguments to env as a subgroup. * Added env variable options. * Changed revision mode set to revision set-mode. * Added env var options to revision copy. * Fixed revision copy bug related to env secret refs. * Changed registry and secret delete to remove. Added registry param helps. Removed replica from table output and added trafficWeight. * Updating warning text. * Updated warning text once more. * Made name optional for revision copy if from-revision flag is passed. * Fixed whitespace style issues. * Styled clients and utils to pass pylint. * Finished client.py pylint fixes. * Fixed pylint issues. * Fixed flake8 commands and custom. * Fixed flake issues in src. * Added license header to _sdk_models. * Added confirmation for containerapp delete. * Update helps for identity, revision. Removed env-var alias for set-env-vars. Added name param help. * Removed app-subnet-resource-id. * Updated infrastructure subnet param help. * Check if containerapp resource exists before attempting to delete. * Added check before deleting managed env. * Changed error types to be more specific. * Removed check before deletion. Removed comments. Co-authored-by: Haroon Feisal * Reset to 0.1.0 version, remove unneeded options-list * Update min cli core version * Fixed style issues. (#30) Co-authored-by: Haroon Feisal * Fix linter issues * Use custom-show-command * Removed --ids from revision, secret, registry list. * Add linter exclusions * Fix polling on delete containerapp * Fix error handling * Add Container App Service * Fix flake linter * Fix help text * Mark extension as preview * Add python 3.9 and 3.10 as supported * Remove registries and secrets from az containerapp update, in favor of registry and secret subgroup * Fix YAML not working * Move import to inside deserialize function * Dapr moved from Template to Configuration * Use aka.ms link for containerapps yaml * Updated dapr enable/disable to current spec. * Fixed oversight. * Remove revisions-mode from containerapp update * Fixed dapr enable property names. (#47) Co-authored-by: Haroon Feisal * Fix exceptions with using --yaml in containerapp create/update * Rename history msg * Include fqdn in containerapp table output * Added ingress messages. * Revert history msg * Reduced redundant code between revision copy and containerapp update. * Fixed merge issues. * Fixed merge conflicts, moved helper function Co-authored-by: Calvin Chan Co-authored-by: Haroon Feisal Co-authored-by: Anthony Chu Co-authored-by: Xing Zhou --- src/containerapp/azext_containerapp/_help.py | 49 ++- .../azext_containerapp/_params.py | 7 + .../azext_containerapp/commands.py | 5 + src/containerapp/azext_containerapp/custom.py | 330 +++++++----------- 4 files changed, 193 insertions(+), 198 deletions(-) diff --git a/src/containerapp/azext_containerapp/_help.py b/src/containerapp/azext_containerapp/_help.py index 5e75c334d82..c4e500caf4a 100644 --- a/src/containerapp/azext_containerapp/_help.py +++ b/src/containerapp/azext_containerapp/_help.py @@ -162,6 +162,14 @@ """ +helps['containerapp revision copy'] = """ + type: command + short-summary: Create a revision based on a previous revision. + examples: + - name: Create a revision based on a previous revision. + text: | + az containerapp revision copy -n MyContainerapp -g MyResourceGroup --cpu 0.75 --memory 1.5Gi +""" # Environment Commands helps['containerapp env'] = """ @@ -256,6 +264,45 @@ az containerapp env dapr-component remove -g MyResourceGroup --dapr-component-name MyDaprComponentName --name MyEnvironment """ +# Identity Commands +helps['containerapp identity'] = """ + type: group + short-summary: Commands to manage managed identities. +""" + +helps['containerapp identity assign'] = """ + type: command + short-summary: Assign managed identity to a container app. + long-summary: Managed identities can be user-assigned or system-assigned. + examples: + - name: Assign system identity. + text: | + az containerapp identity assign + - name: Assign user identity. + text: | + az containerapp identity assign --identities myAssignedId + - name: Assign system and user identity. + text: | + az containerapp identity assign --identities [system] myAssignedId +""" + +helps['containerapp identity remove'] = """ + type: command + short-summary: Remove a managed identity from a container app. + examples: + - name: Remove system identity. + text: | + az containerapp identity remove --identities [system] + - name: Remove system and user identity. + text: | + az containerapp identity remove --identities [system] myAssignedId +""" + +helps['containerapp identity show'] = """ + type: command + short-summary: Show managed identities of a container app. +""" + # Ingress Commands helps['containerapp ingress'] = """ type: group @@ -470,7 +517,7 @@ helps['containerapp dapr enable'] = """ type: command - short-summary: Enable Dapr for a container app. + short-summary: Enable Dapr for a container app. Updates existing values. examples: - name: Enable Dapr for a container app. text: | diff --git a/src/containerapp/azext_containerapp/_params.py b/src/containerapp/azext_containerapp/_params.py index 6e0ee6918d4..c70de7f12ac 100644 --- a/src/containerapp/azext_containerapp/_params.py +++ b/src/containerapp/azext_containerapp/_params.py @@ -75,6 +75,7 @@ def load_arguments(self, _): c.argument('transport', arg_type=get_enum_type(['auto', 'http', 'http2']), help="The transport protocol used for ingress traffic.") with self.argument_context('containerapp create') as c: + c.argument('assign_identity', nargs='+', help="Space-separated identities. Use '[system]' to refer to the system assigned identity.") c.argument('traffic_weights', nargs='*', options_list=['--traffic-weight'], help="A list of revision weight(s) for the container app. Space-separated values in 'revision_name=weight' format. For latest revision, use 'latest=weight'") with self.argument_context('containerapp scale') as c: @@ -112,6 +113,12 @@ def load_arguments(self, _): with self.argument_context('containerapp env show') as c: c.argument('name', name_type, help='Name of the Container Apps Environment.') + with self.argument_context('containerapp identity') as c: + c.argument('identities', nargs='+', help="Space-separated identities. Use '[system]' to refer to the system assigned identity.") + + with self.argument_context('containerapp identity assign') as c: + c.argument('identities', nargs='+', help="Space-separated identities. Use '[system]' to refer to the system assigned identity. Default is '[system]'.") + with self.argument_context('containerapp github-action add') as c: c.argument('repo_url', help='The GitHub repository to which the workflow file will be added. In the format: https://github.com//') c.argument('token', help='A Personal Access Token with write access to the specified repository. For more information: https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line') diff --git a/src/containerapp/azext_containerapp/commands.py b/src/containerapp/azext_containerapp/commands.py index c5b924287f8..dd6f2d067dc 100644 --- a/src/containerapp/azext_containerapp/commands.py +++ b/src/containerapp/azext_containerapp/commands.py @@ -62,6 +62,11 @@ def load_command_table(self, _): g.custom_command('set', 'create_or_update_dapr_component') g.custom_command('remove', 'remove_dapr_component') + with self.command_group('containerapp identity') as g: + g.custom_command('assign', 'assign_managed_identity', supports_no_wait=True, exception_handler=ex_handler_factory()) + g.custom_command('remove', 'remove_managed_identity', supports_no_wait=True, exception_handler=ex_handler_factory()) + g.custom_show_command('show', 'show_managed_identity') + with self.command_group('containerapp github-action') as g: g.custom_command('add', 'create_or_update_github_action', exception_handler=ex_handler_factory()) g.custom_show_command('show', 'show_github_action', exception_handler=ex_handler_factory()) diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index 15cea81f0ff..52620d08e1d 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -292,7 +292,8 @@ def create_containerapp(cmd, startup_command=None, args=None, tags=None, - no_wait=False): + no_wait=False, + assign_identity=None): _validate_subscription_registered(cmd, "Microsoft.App") if yaml: @@ -309,6 +310,9 @@ def create_containerapp(cmd, if managed_env is None: raise RequiredArgumentMissingError('Usage error: --environment is required if not using --yaml') + if assign_identity is None: + assign_identity = [] + # Validate managed environment parsed_managed_env = parse_resource_id(managed_env) managed_env_name = parsed_managed_env['name'] @@ -374,6 +378,28 @@ def create_containerapp(cmd, config_def["registries"] = [registries_def] if registries_def is not None else None config_def["dapr"] = dapr_def + # Identity actions + identity_def = ManagedServiceIdentityModel + identity_def["type"] = "None" + + assign_system_identity = '[system]' in assign_identity + assign_user_identities = [x for x in assign_identity if x != '[system]'] + + if assign_system_identity and assign_user_identities: + identity_def["type"] = "SystemAssigned, UserAssigned" + elif assign_system_identity: + identity_def["type"] = "SystemAssigned" + elif assign_user_identities: + identity_def["type"] = "UserAssigned" + + if assign_user_identities: + identity_def["userAssignedIdentities"] = {} + subscription_id = get_subscription_id(cmd.cli_ctx) + + for r in assign_user_identities: + r = _ensure_identity_resource_id(subscription_id, resource_group_name, r) + identity_def["userAssignedIdentities"][r] = {} # pylint: disable=unsupported-assignment-operation + scale_def = None if min_replicas is not None or max_replicas is not None: scale_def = ScaleModel @@ -407,6 +433,7 @@ def create_containerapp(cmd, containerapp_def = ContainerAppModel containerapp_def["location"] = location + containerapp_def["identity"] = identity_def containerapp_def["properties"]["managedEnvironmentId"] = managed_env containerapp_def["properties"]["configuration"] = config_def containerapp_def["properties"]["template"] = template_def @@ -429,25 +456,26 @@ def create_containerapp(cmd, handle_raw_exception(e) -def update_containerapp(cmd, - name, - resource_group_name, - yaml=None, - image=None, - container_name=None, - min_replicas=None, - max_replicas=None, - set_env_vars=None, - remove_env_vars=None, - replace_env_vars=None, - remove_all_env_vars=False, - cpu=None, - memory=None, - revision_suffix=None, - startup_command=None, - args=None, - tags=None, - no_wait=False): +def update_containerapp_logic(cmd, + name, + resource_group_name, + yaml=None, + image=None, + container_name=None, + min_replicas=None, + max_replicas=None, + set_env_vars=None, + remove_env_vars=None, + replace_env_vars=None, + remove_all_env_vars=False, + cpu=None, + memory=None, + revision_suffix=None, + startup_command=None, + args=None, + tags=None, + no_wait=False, + from_revision=None): _validate_subscription_registered(cmd, "Microsoft.App") if yaml: @@ -455,7 +483,7 @@ def update_containerapp(cmd, set_env_vars or remove_env_vars or replace_env_vars or remove_all_env_vars or cpu or memory or\ startup_command or args or tags: logger.warning('Additional flags were passed along with --yaml. These flags will be ignored, and the configuration defined in the yaml will be used instead') - return update_containerapp_yaml(cmd=cmd, name=name, resource_group_name=resource_group_name, file_name=yaml, no_wait=no_wait) + return update_containerapp_yaml(cmd=cmd, name=name, resource_group_name=resource_group_name, file_name=yaml, no_wait=no_wait, from_revision=from_revision) containerapp_def = None try: @@ -466,6 +494,16 @@ def update_containerapp(cmd, if not containerapp_def: raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + if from_revision: + try: + r = ContainerAppClient.show_revision(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, name=from_revision) + except CLIError as e: + # Error handle the case where revision not found? + handle_raw_exception(e) + + _update_revision_env_secretrefs(r["properties"]["template"]["containers"], name) + containerapp_def["properties"]["template"] = r["properties"]["template"] + # Doing this while API has bug. If env var is an empty string, API doesn't return "value" even though the "value" should be an empty string if "properties" in containerapp_def and "template" in containerapp_def["properties"] and "containers" in containerapp_def["properties"]["template"]: for container in containerapp_def["properties"]["template"]["containers"]: @@ -613,6 +651,48 @@ def update_containerapp(cmd, handle_raw_exception(e) +def update_containerapp(cmd, + name, + resource_group_name, + yaml=None, + image=None, + container_name=None, + min_replicas=None, + max_replicas=None, + set_env_vars=None, + remove_env_vars=None, + replace_env_vars=None, + remove_all_env_vars=False, + cpu=None, + memory=None, + revision_suffix=None, + startup_command=None, + args=None, + tags=None, + no_wait=False): + _validate_subscription_registered(cmd, "Microsoft.App") + + return update_containerapp_logic(cmd, + name, + resource_group_name, + yaml, + image, + container_name, + min_replicas, + max_replicas, + set_env_vars, + remove_env_vars, + replace_env_vars, + remove_all_env_vars, + cpu, + memory, + revision_suffix, + startup_command, + args, + tags, + no_wait) + + def show_containerapp(cmd, name, resource_group_name): _validate_subscription_registered(cmd, "Microsoft.App") @@ -1195,177 +1275,26 @@ def copy_revision(cmd, if not name: name = _get_app_from_revision(from_revision) - if yaml: - if image or min_replicas or max_replicas or\ - set_env_vars or replace_env_vars or remove_env_vars or \ - remove_all_env_vars or cpu or memory or \ - startup_command or args or tags: - logger.warning('Additional flags were passed along with --yaml. These flags will be ignored, and the configuration defined in the yaml will be used instead') - return update_containerapp_yaml(cmd=cmd, name=name, resource_group_name=resource_group_name, file_name=yaml, from_revision=from_revision, no_wait=no_wait) - - containerapp_def = None - try: - containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) - except: - pass - - if not containerapp_def: - raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) - - if from_revision: - try: - r = ContainerAppClient.show_revision(cmd=cmd, resource_group_name=resource_group_name, container_app_name=name, name=from_revision) - except CLIError as e: - # Error handle the case where revision not found? - handle_raw_exception(e) - - _update_revision_env_secretrefs(r["properties"]["template"]["containers"], name) - containerapp_def["properties"]["template"] = r["properties"]["template"] - - # Doing this while API has bug. If env var is an empty string, API doesn't return "value" even though the "value" should be an empty string - if "properties" in containerapp_def and "template" in containerapp_def["properties"] and "containers" in containerapp_def["properties"]["template"]: - for container in containerapp_def["properties"]["template"]["containers"]: - if "env" in container: - for e in container["env"]: - if "value" not in e: - e["value"] = "" - - update_map = {} - update_map['scale'] = min_replicas or max_replicas - update_map['container'] = image or container_name or set_env_vars or replace_env_vars or remove_env_vars or remove_all_env_vars or cpu or memory or startup_command is not None or args is not None - - if tags: - _add_or_update_tags(containerapp_def, tags) - - if revision_suffix is not None: - containerapp_def["properties"]["template"]["revisionSuffix"] = revision_suffix - - # Containers - if update_map["container"]: - if not container_name: - if len(containerapp_def["properties"]["template"]["containers"]) == 1: - container_name = containerapp_def["properties"]["template"]["containers"][0]["name"] - else: - raise ValidationError("Usage error: --image-name is required when adding or updating a container") - - # Check if updating existing container - updating_existing_container = False - for c in containerapp_def["properties"]["template"]["containers"]: - if c["name"].lower() == container_name.lower(): - updating_existing_container = True - - if image is not None: - c["image"] = image - - if set_env_vars is not None: - if "env" not in c or not c["env"]: - c["env"] = [] - # env vars - _add_or_update_env_vars(c["env"], parse_env_var_flags(set_env_vars), is_add=True) - - if replace_env_vars is not None: - if "env" not in c or not c["env"]: - c["env"] = [] - # env vars - _add_or_update_env_vars(c["env"], parse_env_var_flags(replace_env_vars)) - - if remove_env_vars is not None: - if "env" not in c or not c["env"]: - c["env"] = [] - # env vars - _remove_env_vars(c["env"], remove_env_vars) - - if remove_all_env_vars: - c["env"] = [] - - if startup_command is not None: - if isinstance(startup_command, list) and not startup_command: - c["command"] = None - else: - c["command"] = startup_command - if args is not None: - if isinstance(args, list) and not args: - c["args"] = None - else: - c["args"] = args - if cpu is not None or memory is not None: - if "resources" in c and c["resources"]: - if cpu is not None: - c["resources"]["cpu"] = cpu - if memory is not None: - c["resources"]["memory"] = memory - else: - c["resources"] = { - "cpu": cpu, - "memory": memory - } - - # If not updating existing container, add as new container - if not updating_existing_container: - if image is None: - raise ValidationError("Usage error: --image is required when adding a new container") - - resources_def = None - if cpu is not None or memory is not None: - resources_def = ContainerResourcesModel - resources_def["cpu"] = cpu - resources_def["memory"] = memory - - container_def = ContainerModel - container_def["name"] = container_name - container_def["image"] = image - - if set_env_vars is not None: - # env vars - _add_or_update_env_vars(container_def["env"], parse_env_var_flags(set_env_vars), is_add=True) - - if replace_env_vars is not None: - # env vars - _add_or_update_env_vars(container_def["env"], parse_env_var_flags(replace_env_vars)) - - if remove_env_vars is not None: - # env vars - _remove_env_vars(container_def["env"], remove_env_vars) - - if remove_all_env_vars: - container_def["env"] = [] - - if startup_command is not None: - if isinstance(startup_command, list) and not startup_command: - container_def["command"] = None - else: - container_def["command"] = startup_command - if args is not None: - if isinstance(args, list) and not args: - container_def["args"] = None - else: - container_def["args"] = args - if resources_def is not None: - container_def["resources"] = resources_def - - containerapp_def["properties"]["template"]["containers"].append(container_def) - - # Scale - if update_map["scale"]: - if "scale" not in containerapp_def["properties"]["template"]: - containerapp_def["properties"]["template"]["scale"] = {} - if min_replicas is not None: - containerapp_def["properties"]["template"]["scale"]["minReplicas"] = min_replicas - if max_replicas is not None: - containerapp_def["properties"]["template"]["scale"]["maxReplicas"] = max_replicas - - _get_existing_secrets(cmd, resource_group_name, name, containerapp_def) - - try: - r = ContainerAppClient.create_or_update( - cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) - - if "properties" in r and "provisioningState" in r["properties"] and r["properties"]["provisioningState"].lower() == "waiting" and not no_wait: - logger.warning('Containerapp update in progress. Please monitor the update using `az containerapp show -n {} -g {}`'.format(name, resource_group_name)) - - return r - except Exception as e: - handle_raw_exception(e) + return update_containerapp_logic(cmd, + name, + resource_group_name, + yaml, + image, + container_name, + min_replicas, + max_replicas, + set_env_vars, + remove_env_vars, + replace_env_vars, + remove_all_env_vars, + cpu, + memory, + revision_suffix, + startup_command, + args, + tags, + no_wait, + from_revision) def set_revision_mode(cmd, resource_group_name, name, mode, no_wait=False): @@ -1410,7 +1339,7 @@ def show_ingress(cmd, name, resource_group_name): raise ValidationError("The containerapp '{}' does not have ingress enabled.".format(name)) from e -def enable_ingress(cmd, name, resource_group_name, type, target_port, transport, allow_insecure=False, no_wait=False): # pylint: disable=redefined-builtin +def enable_ingress(cmd, name, resource_group_name, type, target_port, transport="auto", allow_insecure=False, no_wait=False): # pylint: disable=redefined-builtin _validate_subscription_registered(cmd, "Microsoft.App") containerapp_def = None @@ -1688,22 +1617,28 @@ def remove_registry(cmd, name, resource_group_name, server, no_wait=False): pass -def list_secrets(cmd, name, resource_group_name): +def list_secrets(cmd, name, resource_group_name, show_values=False): _validate_subscription_registered(cmd, "Microsoft.App") containerapp_def = None try: - containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) + r = containerapp_def = ContainerAppClient.show(cmd=cmd, resource_group_name=resource_group_name, name=name) except: pass if not containerapp_def: raise ResourceNotFoundError("The containerapp '{}' does not exist".format(name)) + if not show_values: + try: + return r["properties"]["configuration"]["secrets"] + except: + return [] try: return ContainerAppClient.list_secrets(cmd=cmd, resource_group_name=resource_group_name, name=name)["value"] - except Exception as e: - raise ValidationError("The containerapp {} has no assigned secrets.".format(name)) from e + except Exception: + return [] + # raise ValidationError("The containerapp {} has no assigned secrets.".format(name)) from e def show_secret(cmd, name, resource_group_name, secret_name): @@ -1796,6 +1731,7 @@ def set_secrets(cmd, name, resource_group_name, secrets, try: r = ContainerAppClient.create_or_update( cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) + logger.warning("Containerapp must be restarted in order for secret changes to take effect.") return r["properties"]["configuration"]["secrets"] except Exception as e: handle_raw_exception(e) From b8315bccb25652af565513b7efd9ee57dab1641b Mon Sep 17 00:00:00 2001 From: Haroon Feisal Date: Fri, 8 Apr 2022 17:00:11 -0400 Subject: [PATCH 58/70] Added workspace name and fqdn to dry_run_str. Added indicators of if the resources are new or existing to dry_run_str. --- src/containerapp/azext_containerapp/_utils.py | 10 ++- src/containerapp/azext_containerapp/custom.py | 61 +++++++++++++++---- 2 files changed, 58 insertions(+), 13 deletions(-) diff --git a/src/containerapp/azext_containerapp/_utils.py b/src/containerapp/azext_containerapp/_utils.py index 0bb5284bc0b..203f88bdfd8 100644 --- a/src/containerapp/azext_containerapp/_utils.py +++ b/src/containerapp/azext_containerapp/_utils.py @@ -232,6 +232,15 @@ def _generate_log_analytics_workspace_name(resource_group_name): return name +def _get_log_analytics_workspace_name(cmd, logs_customer_id, resource_group_name): + log_analytics_client = log_analytics_client_factory(cmd.cli_ctx) + logs_list = log_analytics_client.list_by_resource_group(resource_group_name) + for log in logs_list: + if log.customer_id.lower() == logs_customer_id.lower(): + return log.name + return ResourceNotFoundError("Cannot find Log Analytics workspace with customer ID {}".format(logs_customer_id)) + + def _generate_log_analytics_if_not_provided(cmd, logs_customer_id, logs_key, location, resource_group_name): if logs_customer_id is None and logs_key is None: logger.warning("No Log Analytics workspace provided.") @@ -566,7 +575,6 @@ def _infer_acr_credentials(cmd, registry_server, disable_warnings=False): # If registry is Azure Container Registry, we can try inferring credentials if '.azurecr.io' not in registry_server: raise RequiredArgumentMissingError('Registry username and password are required if not using Azure Container Registry.') - logger.warning("Infer acr credentials") not disable_warnings and logger.warning('No credential was provided to access Azure Container Registry. Trying to look up credentials...') parsed = urlparse(registry_server) registry_name = (parsed.netloc if parsed.scheme else parsed.path).split('.')[0] diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index d86982970a6..46594d7f61d 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -49,7 +49,7 @@ _get_app_from_revision, raise_missing_token_suggestion, _infer_acr_credentials, _remove_registry_secret, _remove_secret, _ensure_identity_resource_id, _remove_dapr_readonly_attributes, _registry_exists, _remove_env_vars, _update_revision_env_secretrefs, get_randomized_name, _set_webapp_up_default_args, get_profile_username, create_resource_group, - get_resource_group, queue_acr_build, _get_acr_cred, create_new_acr) + get_resource_group, queue_acr_build, _get_acr_cred, create_new_acr, _get_log_analytics_workspace_name) logger = get_logger(__name__) @@ -1962,6 +1962,11 @@ def containerapp_up(cmd, src_dir = os.getcwd() _src_path_escaped = "{}".format(src_dir.replace(os.sep, os.sep + os.sep)) + new_rg = "Existing" + new_managed_env = "Existing" + new_ca = "New" + new_cr = "Existing" + if source is None and image is None: raise RequiredArgumentMissingError("You must specify either --source or --image.") @@ -2016,6 +2021,7 @@ def containerapp_up(cmd, env_name = "" if not managed_env else managed_env.split('/')[6] if not containerapp_def: if not resource_group_name: + new_rg = "New" user = get_profile_username() rg_name = get_randomized_name(user, resource_group_name) if custom_rg_name is None else custom_rg_name if not dryrun: @@ -2023,6 +2029,7 @@ def containerapp_up(cmd, create_resource_group(cmd, rg_name, location) resource_group_name = rg_name if not managed_env: + new_managed_env = "New" env_name = "{}-env".format(name).replace("_", "-") if not dryrun: logger.warning("Creating new managed environment {}".format(env_name)) @@ -2030,6 +2037,7 @@ def containerapp_up(cmd, else: managed_env = env_name else: + new_ca = "Existing" location = containerapp_def["location"] managed_env = containerapp_def["properties"]["managedEnvironmentId"] env_name = containerapp_def["properties"]["managedEnvironmentId"].split('/')[8] @@ -2068,6 +2076,7 @@ def containerapp_up(cmd, except Exception as ex: raise RequiredArgumentMissingError('Failed to retrieve credentials for container registry. Please provide the registry username and password') from ex else: + new_cr = "New" registry_rg = resource_group_name user = get_profile_username() registry_name = "{}acr".format(name) @@ -2088,20 +2097,48 @@ def containerapp_up(cmd, queue_acr_build(cmd, registry_rg, registry_name, image_name, source, dockerfile, quiet) _set_webapp_up_default_args(cmd, resource_group_name, location, name, registry_server) - dry_run_str = r""" { - "name" : "%s", - "resourcegroup" : "%s", - "location" : "%s", - "environment" : "%s", - "registry": "%s", - "image" : "%s", - "src_path" : "%s" - } - """ % (name, resource_group_name, location, env_name, registry_server, image, _src_path_escaped) + log_analytics_workspace_name = "" + env_def = None + try: + env_def = show_managed_environment(cmd=cmd, name=env_name, resource_group_name=resource_group_name) + except: + pass + if env_def and env_def["properties"]["appLogsConfiguration"]["destination"].lower() == "log-analytics": + env_customer_id = env_def["properties"]["appLogsConfiguration"]["logAnalyticsConfiguration"]["customerId"] + log_analytics_workspace_name = _get_log_analytics_workspace_name(cmd, env_customer_id, resource_group_name) + + containerapp_def = None + if dryrun: logger.warning("Containerapp will be created with the below configuration, re-run command " "without the --dryrun flag to create & deploy a new containerapp.") else: - create_containerapp(cmd=cmd, name=name, resource_group_name=resource_group_name, image=image, managed_env=managed_env, target_port=target_port, registry_server=registry_server, registry_pass=registry_pass, registry_user=registry_user, env_vars=env_vars, ingress=ingress, disable_warnings=True) + containerapp_def = create_containerapp(cmd=cmd, name=name, resource_group_name=resource_group_name, image=image, managed_env=managed_env, target_port=target_port, registry_server=registry_server, registry_pass=registry_pass, registry_user=registry_user, env_vars=env_vars, ingress=ingress, disable_warnings=True) + + fqdn = "" + + dry_run_str = """ { + "name" : "%s (%s)", + "resourcegroup" : "%s (%s)", + "location" : "%s", + "environment" : "%s (%s)", + "registry": "%s (%s)", + "image" : "%s", + "src_path" : "%s", + """ % (name, new_ca, resource_group_name, new_rg, location, env_name, new_managed_env, registry_server, new_cr, image, _src_path_escaped) + + if containerapp_def: + r = containerapp_def + if "configuration" in r["properties"] and "ingress" in r["properties"]["configuration"] and "fqdn" in r["properties"]["configuration"]["ingress"]: + fqdn = r["properties"]["configuration"]["ingress"]["fqdn"] + + if len(fqdn) > 0: + dry_run_str += '"fqdn" : "{}",\n'.format(fqdn) + + if len(log_analytics_workspace_name) > 0: + dry_run_str += '"log_analytics_workspace_name" : "{}"\n'.format(log_analytics_workspace_name) + + dry_run_str += '}' + print(dry_run_str) return json.loads(dry_run_str) From 0329a53382a26a3cc6996ead6fb3c00da41d8c3b Mon Sep 17 00:00:00 2001 From: Haroon Feisal Date: Fri, 8 Apr 2022 17:22:35 -0400 Subject: [PATCH 59/70] Check RP for location when not provided. Open Dockerfile and use EXPOSE for CA port. --- src/containerapp/azext_containerapp/_utils.py | 21 +++++++++++++++++++ src/containerapp/azext_containerapp/custom.py | 16 ++++++++++++-- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/containerapp/azext_containerapp/_utils.py b/src/containerapp/azext_containerapp/_utils.py index 203f88bdfd8..2f78a303020 100644 --- a/src/containerapp/azext_containerapp/_utils.py +++ b/src/containerapp/azext_containerapp/_utils.py @@ -205,6 +205,27 @@ def _get_default_log_analytics_location(cmd): return default_location +def _get_default_containerapps_location(cmd): + default_location = "eastus" + providers_client = None + try: + providers_client = providers_client_factory(cmd.cli_ctx, get_subscription_id(cmd.cli_ctx)) + resource_types = getattr(providers_client.get("Microsoft.App"), 'resource_types', []) + res_locations = [] + for res in resource_types: + if res and getattr(res, 'resource_type', "") == "workspaces": + res_locations = getattr(res, 'locations', []) + + if len(res_locations) > 0: + location = res_locations[0].lower().replace(" ", "").replace("(", "").replace(")", "") + if location: + return location + + except Exception: # pylint: disable=broad-except + return default_location + return default_location + + # Generate random 4 character string def _new_tiny_guid(): import random diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index 46594d7f61d..3f93e1295b0 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -49,7 +49,8 @@ _get_app_from_revision, raise_missing_token_suggestion, _infer_acr_credentials, _remove_registry_secret, _remove_secret, _ensure_identity_resource_id, _remove_dapr_readonly_attributes, _registry_exists, _remove_env_vars, _update_revision_env_secretrefs, get_randomized_name, _set_webapp_up_default_args, get_profile_username, create_resource_group, - get_resource_group, queue_acr_build, _get_acr_cred, create_new_acr, _get_log_analytics_workspace_name) + get_resource_group, queue_acr_build, _get_acr_cred, create_new_acr, _get_log_analytics_workspace_name, + _get_default_containerapps_location) logger = get_logger(__name__) @@ -453,6 +454,8 @@ def update_containerapp(cmd, no_wait=False): _validate_subscription_registered(cmd, "Microsoft.App") + if location: + return get if yaml: if image or min_replicas or max_replicas or\ set_env_vars or remove_env_vars or replace_env_vars or remove_all_env_vars or cpu or memory or\ @@ -1983,7 +1986,16 @@ def containerapp_up(cmd, image = image.replace(':', '') if not location: - location = "eastus2" # check user's default location? find least populated server? + location = _get_default_containerapps_location(cmd) + + # Open dockerfile and check for EXPOSE + dockerfile_location = source + '/' + dockerfile + with open(dockerfile_location, 'r') as fh: + for line in fh: + if "EXPOSE" in line: + if not target_port and not ingress: + target_port = line.replace('\n', '').split(" ")[1] + ingress = "external" custom_rg_name = None # user passes bad resource group name, we create it for them From 7735595c26665c6ce1cd697df716053b849c1865 Mon Sep 17 00:00:00 2001 From: Calvin Chan Date: Fri, 8 Apr 2022 20:41:58 -0700 Subject: [PATCH 60/70] Fix help for linter --- src/containerapp/azext_containerapp/_params.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/containerapp/azext_containerapp/_params.py b/src/containerapp/azext_containerapp/_params.py index c70de7f12ac..b1a89f2c8d0 100644 --- a/src/containerapp/azext_containerapp/_params.py +++ b/src/containerapp/azext_containerapp/_params.py @@ -151,14 +151,11 @@ def load_arguments(self, _): with self.argument_context('containerapp ingress traffic') as c: c.argument('traffic_weights', nargs='*', options_list=['--traffic-weight'], help="A list of revision weight(s) for the container app. Space-separated values in 'revision_name=weight' format. For latest revision, use 'latest=weight'") - with self.argument_context('containerapp secret set') as c: + with self.argument_context('containerapp secret') as c: c.argument('secrets', nargs='+', options_list=['--secrets', '-s'], help="A list of secret(s) for the container app. Space-separated values in 'key=value' format.") - - with self.argument_context('containerapp secret show') as c: c.argument('secret_name', help="The name of the secret to show.") - - with self.argument_context('containerapp secret remove') as c: c.argument('secret_names', nargs='+', help="A list of secret(s) for the container app. Space-separated secret values names.") + c.argument('show_values', help='Show the secret values.') with self.argument_context('containerapp env dapr-component') as c: c.argument('dapr_app_id', help="The Dapr app ID.") @@ -178,8 +175,5 @@ def load_arguments(self, _): with self.argument_context('containerapp registry list') as c: c.argument('name', id_part=None) - with self.argument_context('containerapp secret list') as c: - c.argument('name', id_part=None) - with self.argument_context('containerapp revision list') as c: c.argument('name', id_part=None) From 51a868f52277fdc9213d8456de52c567263e1da5 Mon Sep 17 00:00:00 2001 From: Haroon Feisal Date: Mon, 11 Apr 2022 13:18:02 -0400 Subject: [PATCH 61/70] Removed print statement. --- src/containerapp/azext_containerapp/custom.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index 3f93e1295b0..edd20a94989 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -2151,6 +2151,5 @@ def containerapp_up(cmd, dry_run_str += '"log_analytics_workspace_name" : "{}"\n'.format(log_analytics_workspace_name) dry_run_str += '}' - print(dry_run_str) return json.loads(dry_run_str) From 429fbaaf0939951b97456f023f2145a2b45cff2f Mon Sep 17 00:00:00 2001 From: Haroon Feisal Date: Mon, 11 Apr 2022 13:37:46 -0400 Subject: [PATCH 62/70] Updated dockerfile expose automatic ingress feature. --- src/containerapp/azext_containerapp/custom.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index edd20a94989..707773457ca 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -1989,13 +1989,15 @@ def containerapp_up(cmd, location = _get_default_containerapps_location(cmd) # Open dockerfile and check for EXPOSE - dockerfile_location = source + '/' + dockerfile - with open(dockerfile_location, 'r') as fh: - for line in fh: - if "EXPOSE" in line: - if not target_port and not ingress: - target_port = line.replace('\n', '').split(" ")[1] - ingress = "external" + if source: + dockerfile_location = source + '/' + dockerfile + with open(dockerfile_location, 'r') as fh: + for line in fh: + if "EXPOSE" in line: + if not target_port and not ingress: + target_port = line.replace('\n', '').split(" ")[1] + ingress = "external" + logger.warning("Adding external ingress port {} based on dockerfile expose.".format(target_port)) custom_rg_name = None # user passes bad resource group name, we create it for them From 2e1be89822dbbbb311dac2ab51cb519f61e8678a Mon Sep 17 00:00:00 2001 From: Calvin Date: Mon, 11 Apr 2022 11:32:14 -0700 Subject: [PATCH 63/70] various fixes, helptext (#59) --- src/containerapp/azext_containerapp/_help.py | 4 ++-- src/containerapp/azext_containerapp/_params.py | 7 +++++-- src/containerapp/azext_containerapp/_utils.py | 2 +- src/containerapp/azext_containerapp/_validators.py | 11 ++++++----- src/containerapp/azext_containerapp/custom.py | 4 ++-- 5 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/containerapp/azext_containerapp/_help.py b/src/containerapp/azext_containerapp/_help.py index c4e500caf4a..c6809690a73 100644 --- a/src/containerapp/azext_containerapp/_help.py +++ b/src/containerapp/azext_containerapp/_help.py @@ -184,13 +184,13 @@ - name: Create an environment with an auto-generated Log Analytics workspace. text: | az containerapp env create -n MyContainerappEnvironment -g MyResourceGroup \\ - --location "Canada Central" + --location eastus2 - name: Create an environment with an existing Log Analytics workspace. text: | az containerapp env create -n MyContainerappEnvironment -g MyResourceGroup \\ --logs-workspace-id myLogsWorkspaceID \\ --logs-workspace-key myLogsWorkspaceKey \\ - --location "Canada Central" + --location eastus2 """ diff --git a/src/containerapp/azext_containerapp/_params.py b/src/containerapp/azext_containerapp/_params.py index b1a89f2c8d0..af77982345f 100644 --- a/src/containerapp/azext_containerapp/_params.py +++ b/src/containerapp/azext_containerapp/_params.py @@ -34,8 +34,8 @@ def load_arguments(self, _): with self.argument_context('containerapp', arg_group='Container') as c: c.argument('image', type=str, options_list=['--image', '-i'], help="Container image, e.g. publisher/image-name:tag.") c.argument('container_name', type=str, help="Name of the container.") - c.argument('cpu', type=float, validator=validate_cpu, help="Required CPU in cores, e.g. 0.5") - c.argument('memory', type=str, validator=validate_memory, help="Required memory, e.g. 1.0Gi") + c.argument('cpu', type=float, validator=validate_cpu, help="Required CPU in cores from 0.25 - 2.0, e.g. 0.5") + c.argument('memory', type=str, validator=validate_memory, help="Required memory from 0.5 - 4.0 ending with \"Gi\", e.g. 1.0Gi") c.argument('env_vars', nargs='*', help="A list of environment variable(s) for the container. Space-separated values in 'key=value' format. Empty string to clear existing values. Prefix value with 'secretref:' to reference a secret.") c.argument('startup_command', nargs='*', options_list=['--command'], help="A list of supported commands on the container that will executed during startup. Space-separated values e.g. \"/bin/queue\" \"mycommand\". Empty string to clear existing values") c.argument('args', nargs='*', help="A list of container startup command argument(s). Space-separated values e.g. \"-c\" \"mycommand\". Empty string to clear existing values") @@ -175,5 +175,8 @@ def load_arguments(self, _): with self.argument_context('containerapp registry list') as c: c.argument('name', id_part=None) + with self.argument_context('containerapp secret list') as c: + c.argument('name', id_part=None) + with self.argument_context('containerapp revision list') as c: c.argument('name', id_part=None) diff --git a/src/containerapp/azext_containerapp/_utils.py b/src/containerapp/azext_containerapp/_utils.py index 39ccef52633..0be73b8e767 100644 --- a/src/containerapp/azext_containerapp/_utils.py +++ b/src/containerapp/azext_containerapp/_utils.py @@ -293,7 +293,7 @@ def _generate_log_analytics_if_not_provided(cmd, logs_customer_id, logs_key, loc def _get_existing_secrets(cmd, resource_group_name, name, containerapp_def): - if "secrets" not in containerapp_def["properties"]["configuration"]: + if "secrets" not in containerapp_def["properties"]["configuration"] or not containerapp_def["properties"]["configuration"]["secrets"]: containerapp_def["properties"]["configuration"]["secrets"] = [] else: secrets = [] diff --git a/src/containerapp/azext_containerapp/_validators.py b/src/containerapp/azext_containerapp/_validators.py index e7fe0435a11..861a7f049b6 100644 --- a/src/containerapp/azext_containerapp/_validators.py +++ b/src/containerapp/azext_containerapp/_validators.py @@ -16,13 +16,14 @@ def _is_number(s): def validate_memory(namespace): - memory = namespace.memory - - if memory is not None: + if namespace.memory is not None: valid = False - if memory.endswith("Gi"): - valid = _is_number(memory[:-2]) + if not namespace.memory.endswith("Gi"): + namespace.memory = namespace.memory.rstrip() + namespace.memory += "Gi" + + valid = _is_number(namespace.memory[:-2]) if not valid: raise ValidationError("Usage error: --memory must be a number ending with \"Gi\"") diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index 52620d08e1d..8333e1ae026 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -528,7 +528,7 @@ def update_containerapp_logic(cmd, if len(containerapp_def["properties"]["template"]["containers"]) == 1: container_name = containerapp_def["properties"]["template"]["containers"][0]["name"] else: - raise ValidationError("Usage error: --image-name is required when adding or updating a container") + raise ValidationError("Usage error: --container-name is required when adding or updating a container") # Check if updating existing container updating_existing_container = False @@ -1731,7 +1731,7 @@ def set_secrets(cmd, name, resource_group_name, secrets, try: r = ContainerAppClient.create_or_update( cmd=cmd, resource_group_name=resource_group_name, name=name, container_app_envelope=containerapp_def, no_wait=no_wait) - logger.warning("Containerapp must be restarted in order for secret changes to take effect.") + logger.warning("Containerapp '{}' must be restarted in order for secret changes to take effect.".format(name)) return r["properties"]["configuration"]["secrets"] except Exception as e: handle_raw_exception(e) From 5fcd7857c5389053309d0007aa31d2e4bea200f2 Mon Sep 17 00:00:00 2001 From: Calvin Date: Mon, 11 Apr 2022 11:46:16 -0700 Subject: [PATCH 64/70] Fixes (#60) --- src/containerapp/azext_containerapp/_help.py | 6 ------ src/containerapp/azext_containerapp/_utils.py | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/src/containerapp/azext_containerapp/_help.py b/src/containerapp/azext_containerapp/_help.py index c6809690a73..0d6a2ae001f 100644 --- a/src/containerapp/azext_containerapp/_help.py +++ b/src/containerapp/azext_containerapp/_help.py @@ -29,12 +29,6 @@ --image nginx --environment MyContainerappEnv \\ --cpu 0.5 --memory 1.0Gi \\ --min-replicas 4 --max-replicas 8 - - name: Create a container app with secrets and environment variables. - text: | - az containerapp create -n MyContainerapp -g MyResourceGroup \\ - --image my-app:v1.0 --environment MyContainerappEnv \\ - --secrets mysecret=secretvalue1 anothersecret="secret value 2" \\ - --env-vars GREETING="Hello, world" SECRETENV=secretref:anothersecret - name: Create a container app using a YAML configuration. Example YAML configuration - https://aka.ms/azure-container-apps-yaml text: | az containerapp create -n MyContainerapp -g MyResourceGroup \\ diff --git a/src/containerapp/azext_containerapp/_utils.py b/src/containerapp/azext_containerapp/_utils.py index 0be73b8e767..39ccef52633 100644 --- a/src/containerapp/azext_containerapp/_utils.py +++ b/src/containerapp/azext_containerapp/_utils.py @@ -293,7 +293,7 @@ def _generate_log_analytics_if_not_provided(cmd, logs_customer_id, logs_key, loc def _get_existing_secrets(cmd, resource_group_name, name, containerapp_def): - if "secrets" not in containerapp_def["properties"]["configuration"] or not containerapp_def["properties"]["configuration"]["secrets"]: + if "secrets" not in containerapp_def["properties"]["configuration"]: containerapp_def["properties"]["configuration"]["secrets"] = [] else: secrets = [] From a1929c87e2b7b337d1b830be7ea657d9cd97af4c Mon Sep 17 00:00:00 2001 From: Haroon Feisal <38823870+haroonf@users.noreply.github.com> Date: Mon, 11 Apr 2022 15:25:17 -0400 Subject: [PATCH 65/70] Updated managed identity + help. (#61) Co-authored-by: Haroon Feisal --- src/containerapp/azext_containerapp/_help.py | 22 ++++++-- .../azext_containerapp/_params.py | 7 ++- src/containerapp/azext_containerapp/custom.py | 55 +++++++++++-------- 3 files changed, 52 insertions(+), 32 deletions(-) diff --git a/src/containerapp/azext_containerapp/_help.py b/src/containerapp/azext_containerapp/_help.py index 0d6a2ae001f..c02d04b49bc 100644 --- a/src/containerapp/azext_containerapp/_help.py +++ b/src/containerapp/azext_containerapp/_help.py @@ -271,13 +271,13 @@ examples: - name: Assign system identity. text: | - az containerapp identity assign + az containerapp identity assign -n myContainerapp -g MyResourceGroup --system-assigned - name: Assign user identity. text: | - az containerapp identity assign --identities myAssignedId + az containerapp identity assign -n myContainerapp -g MyResourceGroup --user-assigned myAssignedId - name: Assign system and user identity. text: | - az containerapp identity assign --identities [system] myAssignedId + az containerapp identity assign -n myContainerapp -g MyResourceGroup --system-assigned --user-assigned myAssignedId """ helps['containerapp identity remove'] = """ @@ -286,15 +286,25 @@ examples: - name: Remove system identity. text: | - az containerapp identity remove --identities [system] + az containerapp identity remove -n myContainerapp -g MyResourceGroup --system-assigned - name: Remove system and user identity. text: | - az containerapp identity remove --identities [system] myAssignedId + az containerapp identity remove -n myContainerapp -g MyResourceGroup --system-assigned --user-assigned myAssignedId + - name: Remove all user identities. + text: | + az containerapp identity remove -n myContainerapp -g MyResourceGroup --user-assigned + - name: Remove system identity and all user identities. + text: | + az containerapp identity remove -n myContainerapp -g MyResourceGroup --system-assigned --user-assigned """ helps['containerapp identity show'] = """ type: command short-summary: Show managed identities of a container app. + examples: + - name: Show managed identities. + text: | + az containerapp identity show -n myContainerapp -g MyResourceGroup """ # Ingress Commands @@ -520,7 +530,7 @@ helps['containerapp dapr disable'] = """ type: command - short-summary: Disable Dapr for a container app. + short-summary: Disable Dapr for a container app. Removes existing values. examples: - name: Disable Dapr for a container app. text: | diff --git a/src/containerapp/azext_containerapp/_params.py b/src/containerapp/azext_containerapp/_params.py index af77982345f..b2d778e08ae 100644 --- a/src/containerapp/azext_containerapp/_params.py +++ b/src/containerapp/azext_containerapp/_params.py @@ -114,10 +114,11 @@ def load_arguments(self, _): c.argument('name', name_type, help='Name of the Container Apps Environment.') with self.argument_context('containerapp identity') as c: - c.argument('identities', nargs='+', help="Space-separated identities. Use '[system]' to refer to the system assigned identity.") + c.argument('user_assigned', nargs='+', help="Space-separated user identities.") + c.argument('system_assigned', help="System-assigned identity.") - with self.argument_context('containerapp identity assign') as c: - c.argument('identities', nargs='+', help="Space-separated identities. Use '[system]' to refer to the system assigned identity. Default is '[system]'.") + with self.argument_context('containerapp identity remove') as c: + c.argument('user_assigned', nargs='*', help="Space-separated user identities. If no user identities are specified, all user identities will be removed.") with self.argument_context('containerapp github-action add') as c: c.argument('repo_url', help='The GitHub repository to which the workflow file will be added. In the format: https://github.com//') diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index 8333e1ae026..c09a4d1b395 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -843,17 +843,13 @@ def delete_managed_environment(cmd, name, resource_group_name, no_wait=False): handle_raw_exception(e) -def assign_managed_identity(cmd, name, resource_group_name, identities=None, no_wait=False): +def assign_managed_identity(cmd, name, resource_group_name, system_assigned=False, user_assigned=None, no_wait=False): _validate_subscription_registered(cmd, "Microsoft.App") - # if no identities, then assign system by default - if not identities: - identities = ['[system]'] - logger.warning('Identities not specified. Assigning managed system identity.') - - identities = [x.lower() for x in identities] - assign_system_identity = '[system]' in identities - assign_user_identities = [x for x in identities if x != '[system]'] + assign_system_identity = system_assigned + if not user_assigned: + user_assigned = [] + assign_user_identities = [x.lower() for x in user_assigned] containerapp_def = None @@ -906,12 +902,16 @@ def assign_managed_identity(cmd, name, resource_group_name, identities=None, no_ subscription_id = get_subscription_id(cmd.cli_ctx) for r in assign_user_identities: - old_id = r r = _ensure_identity_resource_id(subscription_id, resource_group_name, r).replace("resourceGroup", "resourcegroup") - try: - containerapp_def["identity"]["userAssignedIdentities"][r] - logger.warning("User identity {} is already assigned to containerapp".format(old_id)) - except: + isExisting = False + + for old_user_identity in containerapp_def["identity"]["userAssignedIdentities"]: + if old_user_identity.lower() == r.lower(): + isExisting = True + logger.warning("User identity {} is already assigned to containerapp".format(old_user_identity)) + break + + if not isExisting: containerapp_def["identity"]["userAssignedIdentities"][r] = {} try: @@ -923,18 +923,19 @@ def assign_managed_identity(cmd, name, resource_group_name, identities=None, no_ handle_raw_exception(e) -def remove_managed_identity(cmd, name, resource_group_name, identities, no_wait=False): +def remove_managed_identity(cmd, name, resource_group_name, system_assigned=False, user_assigned=None, no_wait=False): _validate_subscription_registered(cmd, "Microsoft.App") - identities = [x.lower() for x in identities] - remove_system_identity = '[system]' in identities - remove_user_identities = [x for x in identities if x != '[system]'] - remove_id_size = len(remove_user_identities) + remove_system_identity = system_assigned + remove_user_identities = user_assigned - # Remove duplicate identities that are passed and notify - remove_user_identities = list(set(remove_user_identities)) - if remove_id_size != len(remove_user_identities): - logger.warning("At least one identity was passed twice.") + if user_assigned: + remove_id_size = len(remove_user_identities) + + # Remove duplicate identities that are passed and notify + remove_user_identities = list(set(remove_user_identities)) + if remove_id_size != len(remove_user_identities): + logger.warning("At least one identity was passed twice.") containerapp_def = None # Get containerapp properties of CA we are updating @@ -964,6 +965,14 @@ def remove_managed_identity(cmd, name, resource_group_name, identities, no_wait= raise InvalidArgumentValueError("The containerapp {} has no system assigned identities.".format(name)) containerapp_def["identity"]["type"] = ("None" if containerapp_def["identity"]["type"] == "SystemAssigned" else "UserAssigned") + if isinstance(user_assigned, list) and not user_assigned: + containerapp_def["identity"]["userAssignedIdentities"] = {} + remove_user_identities = [] + + if containerapp_def["identity"]["userAssignedIdentities"] == {}: + containerapp_def["identity"]["userAssignedIdentities"] = None + containerapp_def["identity"]["type"] = ("None" if containerapp_def["identity"]["type"] == "UserAssigned" else "SystemAssigned") + if remove_user_identities: subscription_id = get_subscription_id(cmd.cli_ctx) try: From df5cc993a0128c71824e63b9667c1fb0ba0e6c08 Mon Sep 17 00:00:00 2001 From: Haroon Feisal <38823870+haroonf@users.noreply.github.com> Date: Mon, 11 Apr 2022 16:00:36 -0400 Subject: [PATCH 66/70] Added user-assigned and system-assigned to containerapp create. (#62) Co-authored-by: Haroon Feisal --- src/containerapp/azext_containerapp/_params.py | 7 +++++-- src/containerapp/azext_containerapp/custom.py | 13 +++++++------ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/containerapp/azext_containerapp/_params.py b/src/containerapp/azext_containerapp/_params.py index b2d778e08ae..6ed1709f19e 100644 --- a/src/containerapp/azext_containerapp/_params.py +++ b/src/containerapp/azext_containerapp/_params.py @@ -75,9 +75,12 @@ def load_arguments(self, _): c.argument('transport', arg_type=get_enum_type(['auto', 'http', 'http2']), help="The transport protocol used for ingress traffic.") with self.argument_context('containerapp create') as c: - c.argument('assign_identity', nargs='+', help="Space-separated identities. Use '[system]' to refer to the system assigned identity.") c.argument('traffic_weights', nargs='*', options_list=['--traffic-weight'], help="A list of revision weight(s) for the container app. Space-separated values in 'revision_name=weight' format. For latest revision, use 'latest=weight'") + with self.argument_context('containerapp create', arg_group='Identity') as c: + c.argument('user_assigned', nargs='+', help="Space-separated user identities to be assigned.") + c.argument('system_assigned', help="Boolean indicating whether to assign system-assigned identity.") + with self.argument_context('containerapp scale') as c: c.argument('min_replicas', type=int, help="The minimum number of replicas.") c.argument('max_replicas', type=int, help="The maximum number of replicas.") @@ -115,7 +118,7 @@ def load_arguments(self, _): with self.argument_context('containerapp identity') as c: c.argument('user_assigned', nargs='+', help="Space-separated user identities.") - c.argument('system_assigned', help="System-assigned identity.") + c.argument('system_assigned', help="Boolean indicating whether to assign system-assigned identity.") with self.argument_context('containerapp identity remove') as c: c.argument('user_assigned', nargs='*', help="Space-separated user identities. If no user identities are specified, all user identities will be removed.") diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index c09a4d1b395..06ce16ad26d 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -293,7 +293,8 @@ def create_containerapp(cmd, args=None, tags=None, no_wait=False, - assign_identity=None): + system_assigned=False, + user_assigned=None): _validate_subscription_registered(cmd, "Microsoft.App") if yaml: @@ -310,9 +311,6 @@ def create_containerapp(cmd, if managed_env is None: raise RequiredArgumentMissingError('Usage error: --environment is required if not using --yaml') - if assign_identity is None: - assign_identity = [] - # Validate managed environment parsed_managed_env = parse_resource_id(managed_env) managed_env_name = parsed_managed_env['name'] @@ -382,8 +380,11 @@ def create_containerapp(cmd, identity_def = ManagedServiceIdentityModel identity_def["type"] = "None" - assign_system_identity = '[system]' in assign_identity - assign_user_identities = [x for x in assign_identity if x != '[system]'] + assign_system_identity = system_assigned + if user_assigned: + assign_user_identities = [x.lower() for x in user_assigned] + else: + assign_user_identities = [] if assign_system_identity and assign_user_identities: identity_def["type"] = "SystemAssigned, UserAssigned" From 0dedf194f5f75e00e5b94281cbcf029c90aa2803 Mon Sep 17 00:00:00 2001 From: Calvin Date: Mon, 11 Apr 2022 14:53:08 -0700 Subject: [PATCH 67/70] Bump version to 0.1.1 (#63) --- src/containerapp/HISTORY.rst | 4 ++++ src/containerapp/azext_containerapp/_help.py | 6 ++++++ src/containerapp/azext_containerapp/_params.py | 2 +- src/containerapp/setup.py | 2 +- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/containerapp/HISTORY.rst b/src/containerapp/HISTORY.rst index b66465a832a..7f2c67553a4 100644 --- a/src/containerapp/HISTORY.rst +++ b/src/containerapp/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +0.1.1 +++++++ +* Subgroup commands for managed identities: az containerapp identity + 0.1.0 ++++++ * Initial release for Container App support with Microsoft.App RP. diff --git a/src/containerapp/azext_containerapp/_help.py b/src/containerapp/azext_containerapp/_help.py index c02d04b49bc..708bee843e3 100644 --- a/src/containerapp/azext_containerapp/_help.py +++ b/src/containerapp/azext_containerapp/_help.py @@ -29,6 +29,12 @@ --image nginx --environment MyContainerappEnv \\ --cpu 0.5 --memory 1.0Gi \\ --min-replicas 4 --max-replicas 8 + - name: Create a container app with secrets and environment variables. + text: | + az containerapp create -n MyContainerapp -g MyResourceGroup \\ + --image my-app:v1.0 --environment MyContainerappEnv \\ + --secrets mysecret=secretvalue1 anothersecret="secret value 2" \\ + --env-vars GREETING="Hello, world" SECRETENV=secretref:anothersecret - name: Create a container app using a YAML configuration. Example YAML configuration - https://aka.ms/azure-container-apps-yaml text: | az containerapp create -n MyContainerapp -g MyResourceGroup \\ diff --git a/src/containerapp/azext_containerapp/_params.py b/src/containerapp/azext_containerapp/_params.py index 6ed1709f19e..4c958cd0077 100644 --- a/src/containerapp/azext_containerapp/_params.py +++ b/src/containerapp/azext_containerapp/_params.py @@ -88,7 +88,7 @@ def load_arguments(self, _): with self.argument_context('containerapp env') as c: c.argument('name', name_type, help='Name of the Container Apps environment.') c.argument('resource_group_name', arg_type=resource_group_name_type) - c.argument('location', arg_type=get_location_type(self.cli_ctx), help='Location of resource. Examples: Canada Central, North Europe') + c.argument('location', arg_type=get_location_type(self.cli_ctx), help='Location of resource. Examples: eastus2, northeurope') c.argument('tags', arg_type=tags_type) with self.argument_context('containerapp env', arg_group='Log Analytics') as c: diff --git a/src/containerapp/setup.py b/src/containerapp/setup.py index e23b0011367..104b3e22417 100644 --- a/src/containerapp/setup.py +++ b/src/containerapp/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '0.1.0' +VERSION = '0.1.1' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From 402f6df253a8bae13d710e0fbaabf402ffa67a71 Mon Sep 17 00:00:00 2001 From: Haroon Feisal Date: Mon, 11 Apr 2022 17:57:16 -0400 Subject: [PATCH 68/70] Removed dry run str, added dry run obj instead. --- src/containerapp/azext_containerapp/custom.py | 32 +++++++++---------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/src/containerapp/azext_containerapp/custom.py b/src/containerapp/azext_containerapp/custom.py index 707773457ca..12812a82525 100644 --- a/src/containerapp/azext_containerapp/custom.py +++ b/src/containerapp/azext_containerapp/custom.py @@ -2131,27 +2131,25 @@ def containerapp_up(cmd, fqdn = "" - dry_run_str = """ { - "name" : "%s (%s)", - "resourcegroup" : "%s (%s)", - "location" : "%s", - "environment" : "%s (%s)", - "registry": "%s (%s)", - "image" : "%s", - "src_path" : "%s", - """ % (name, new_ca, resource_group_name, new_rg, location, env_name, new_managed_env, registry_server, new_cr, image, _src_path_escaped) - + dry_run = { + "location" : location, + "registry": registry_server, + "image": image, + "src_path": _src_path_escaped + } + dry_run["name"] = "{} ({})".format(name, new_ca) + dry_run["resourcegroup"] = "{} ({})".format(resource_group_name, new_rg) + dry_run["environment"] = "{} ({})".format(env_name, new_managed_env) + if registry_server: + dry_run["registry"] = "{} ({})".format(registry_server, new_cr) + if containerapp_def: r = containerapp_def if "configuration" in r["properties"] and "ingress" in r["properties"]["configuration"] and "fqdn" in r["properties"]["configuration"]["ingress"]: fqdn = r["properties"]["configuration"]["ingress"]["fqdn"] if len(fqdn) > 0: - dry_run_str += '"fqdn" : "{}",\n'.format(fqdn) - + dry_run["fqdn"] = fqdn if len(log_analytics_workspace_name) > 0: - dry_run_str += '"log_analytics_workspace_name" : "{}"\n'.format(log_analytics_workspace_name) - - dry_run_str += '}' - - return json.loads(dry_run_str) + dry_run["log_analytics_workspace_name"] = log_analytics_workspace_name + return dry_run From 1474d693b47c6bd93cc0f8b1d92fcb23388d70f7 Mon Sep 17 00:00:00 2001 From: Haroon Feisal <38823870+haroonf@users.noreply.github.com> Date: Mon, 11 Apr 2022 18:25:26 -0400 Subject: [PATCH 69/70] Added more specific MSI help text. (#64) * Added more specific MSI help text. * Updated help text. Co-authored-by: Haroon Feisal --- src/containerapp/azext_containerapp/_help.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/containerapp/azext_containerapp/_help.py b/src/containerapp/azext_containerapp/_help.py index 708bee843e3..895c769a2dc 100644 --- a/src/containerapp/azext_containerapp/_help.py +++ b/src/containerapp/azext_containerapp/_help.py @@ -280,10 +280,13 @@ az containerapp identity assign -n myContainerapp -g MyResourceGroup --system-assigned - name: Assign user identity. text: | - az containerapp identity assign -n myContainerapp -g MyResourceGroup --user-assigned myAssignedId + az containerapp identity assign -n myContainerapp -g MyResourceGroup --user-assigned myUserIdentityName + - name: Assign user identity (from a different resource group than the containerapp). + text: | + az containerapp identity assign -n myContainerapp -g MyResourceGroup --user-assigned myUserIdentityResourceId - name: Assign system and user identity. text: | - az containerapp identity assign -n myContainerapp -g MyResourceGroup --system-assigned --user-assigned myAssignedId + az containerapp identity assign -n myContainerapp -g MyResourceGroup --system-assigned --user-assigned myUserIdentityResourceId """ helps['containerapp identity remove'] = """ @@ -293,9 +296,12 @@ - name: Remove system identity. text: | az containerapp identity remove -n myContainerapp -g MyResourceGroup --system-assigned - - name: Remove system and user identity. + - name: Remove user identity. + text: | + az containerapp identity remove -n myContainerapp -g MyResourceGroup --user-assigned myUserIdentityName + - name: Remove system and user identity (from a different resource group than the containerapp). text: | - az containerapp identity remove -n myContainerapp -g MyResourceGroup --system-assigned --user-assigned myAssignedId + az containerapp identity remove -n myContainerapp -g MyResourceGroup --system-assigned --user-assigned myUserIdentityResourceId - name: Remove all user identities. text: | az containerapp identity remove -n myContainerapp -g MyResourceGroup --user-assigned From 5afc2b1c3c98b6d83c28173050f5734a8227f702 Mon Sep 17 00:00:00 2001 From: Calvin Date: Mon, 11 Apr 2022 15:26:40 -0700 Subject: [PATCH 70/70] Bump to 0.3.0 (#65) --- src/containerapp/HISTORY.rst | 2 +- src/containerapp/setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/containerapp/HISTORY.rst b/src/containerapp/HISTORY.rst index 7f2c67553a4..2abbd24f08a 100644 --- a/src/containerapp/HISTORY.rst +++ b/src/containerapp/HISTORY.rst @@ -3,7 +3,7 @@ Release History =============== -0.1.1 +0.3.0 ++++++ * Subgroup commands for managed identities: az containerapp identity diff --git a/src/containerapp/setup.py b/src/containerapp/setup.py index 104b3e22417..490525870da 100644 --- a/src/containerapp/setup.py +++ b/src/containerapp/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '0.1.1' +VERSION = '0.3.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers